| /* |
| * |
| * File: $Id$ |
| * |
| * Author: George V. Neville-Neil |
| * |
| * Update History: $Log$ |
| * Update History: Revision 2.2 1994/01/14 16:55:50 guido |
| * Update History: Make more robust against Minix and Mac |
| * Update History: |
| * Revision 2.1 1994/01/02 23:22:21 guido |
| * Added George Neville-Neil's timing module |
| * |
| * Revision 1.1 93/12/28 13:14:39 gnn |
| * Initial revision |
| * |
| * |
| * |
| * |
| */ |
| |
| #ifndef lint |
| #ifndef THINK_C |
| static char rcsid [] = "$Header$" ; |
| #endif /* THINK_C */ |
| #endif /* lint */ |
| |
| #include "allobjects.h" |
| #include "import.h" |
| #include "modsupport.h" |
| #include "ceval.h" |
| |
| /* Our stuff... */ |
| #include "timing.h" |
| |
| static object * |
| start_timing(self, args) |
| object *self; |
| object *args; |
| { |
| if (!getargs(args, "")) |
| return NULL; |
| |
| INCREF(None); |
| BEGINTIMING; |
| return None; |
| } |
| |
| static object * |
| finish_timing(self, args) |
| object *self; |
| object *args; |
| { |
| if (!getargs(args, "")) |
| return NULL; |
| |
| ENDTIMING |
| INCREF(None); |
| return None; |
| } |
| |
| static object * |
| seconds(self, args) |
| object *self; |
| object *args; |
| { |
| if (!getargs(args, "")) |
| return NULL; |
| |
| return newintobject(TIMINGS); |
| |
| } |
| |
| static object * |
| milli(self, args) |
| object *self; |
| object *args; |
| { |
| if (!getargs(args, "")) |
| return NULL; |
| |
| return newintobject(TIMINGMS); |
| |
| } |
| static object * |
| micro(self, args) |
| object *self; |
| object *args; |
| { |
| if (!getargs(args, "")) |
| return NULL; |
| |
| return newintobject(TIMINGUS); |
| |
| } |
| |
| |
| static struct methodlist timing_methods[] = { |
| {"start", start_timing}, |
| {"finish", finish_timing}, |
| {"seconds", seconds}, |
| {"milli", milli}, |
| {"micro", micro}, |
| {NULL, NULL} |
| }; |
| |
| |
| void inittiming() |
| { |
| object *m; |
| |
| m = initmodule("timing", timing_methods); |
| |
| } |