blob: fcfa8f728496fe3456aedd6de4f2b297e97e96eb [file] [log] [blame]
Guido van Rossum116857c1994-01-02 23:22:21 +00001/*
2 *
3 * File: $Id$
4 *
5 * Author: George V. Neville-Neil
6 *
7 * Update History: $Log$
8 * Update History: Revision 2.1 1994/01/02 23:22:21 guido
9 * Update History: Added George Neville-Neil's timing module
10 * Update History:
11 * Revision 1.1 93/12/28 13:14:39 gnn
12 * Initial revision
13 *
14 *
15 *
16 *
17 */
18
19#ifndef lint
20static char rcsid [] = "$Header$" ;
21#endif
22
23#include "allobjects.h"
24#include "import.h"
25#include "modsupport.h"
26#include "ceval.h"
27
28/* Our stuff... */
29#include "timing.h"
30
31static object *
32start_timing(self, args)
33 object *self;
34 object *args;
35{
36 if (!getargs(args, ""))
37 return NULL;
38
39 INCREF(None);
40 BEGINTIMING;
41 return None;
42}
43
44static object *
45finish_timing(self, args)
46 object *self;
47 object *args;
48{
49 if (!getargs(args, ""))
50 return NULL;
51
52 ENDTIMING
53 INCREF(None);
54 return None;
55}
56
57static object *
58seconds(self, args)
59 object *self;
60 object *args;
61{
62 if (!getargs(args, ""))
63 return NULL;
64
65 return newintobject(TIMINGS);
66
67}
68
69static object *
70milli(self, args)
71 object *self;
72 object *args;
73{
74 if (!getargs(args, ""))
75 return NULL;
76
77 return newintobject(TIMINGMS);
78
79}
80static object *
81micro(self, args)
82 object *self;
83 object *args;
84{
85 if (!getargs(args, ""))
86 return NULL;
87
88 return newintobject(TIMINGUS);
89
90}
91
92
93static struct methodlist timing_methods[] = {
94 {"start", start_timing},
95 {"finish", finish_timing},
96 {"seconds", seconds},
97 {"milli", milli},
98 {"micro", micro},
99 {NULL, NULL}
100};
101
102
103void inittiming()
104{
105 object *m;
106
107 m = initmodule("timing", timing_methods);
108
109}