| /* | |
| * 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); | |
| } |