/Modules/timingmodule.c
http://unladen-swallow.googlecode.com/ · C · 62 lines · 46 code · 12 blank · 4 comment · 1 complexity · 4631d251cbfddcf81f3ab50044675d72 MD5 · raw file
- /*
- * Author: George V. Neville-Neil
- */
- #include "Python.h"
- /* Our stuff... */
- #include "timing.h"
- static PyObject *
- start_timing(PyObject *self)
- {
- Py_INCREF(Py_None);
- BEGINTIMING;
- return Py_None;
- }
- static PyObject *
- finish_timing(PyObject *self)
- {
- ENDTIMING
- Py_INCREF(Py_None);
- return Py_None;
- }
- static PyObject *
- seconds(PyObject *self)
- {
- return PyInt_FromLong(TIMINGS);
- }
- static PyObject *
- milli(PyObject *self)
- {
- return PyInt_FromLong(TIMINGMS);
- }
- static PyObject *
- micro(PyObject *self)
- {
- return PyInt_FromLong(TIMINGUS);
- }
- static PyMethodDef timing_methods[] = {
- {"start", (PyCFunction)start_timing, METH_NOARGS},
- {"finish", (PyCFunction)finish_timing, METH_NOARGS},
- {"seconds", (PyCFunction)seconds, METH_NOARGS},
- {"milli", (PyCFunction)milli, METH_NOARGS},
- {"micro", (PyCFunction)micro, METH_NOARGS},
- {NULL, NULL}
- };
- PyMODINIT_FUNC inittiming(void)
- {
- if (PyErr_WarnPy3k("the timing module has been removed in "
- "Python 3.0; use time.clock() instead", 2) < 0)
- return;
-
- (void)Py_InitModule("timing", timing_methods);
- }