/* * Author: George V. Neville-Neil */ #include "Python.h" /* Our stuff... */ #include "timing.h" static PyObject * start_timing(PyObject *self, PyObject *args) { if (!PyArg_Parse(args, "")) return NULL; Py_INCREF(Py_None); BEGINTIMING; return Py_None; } static PyObject * finish_timing(PyObject *self, PyObject *args) { if (!PyArg_Parse(args, "")) return NULL; ENDTIMING Py_INCREF(Py_None); return Py_None; } static PyObject * seconds(PyObject *self, PyObject *args) { if (!PyArg_Parse(args, "")) return NULL; return PyInt_FromLong(TIMINGS); } static PyObject * milli(PyObject *self, PyObject *args) { if (!PyArg_Parse(args, "")) return NULL; return PyInt_FromLong(TIMINGMS); } static PyObject * micro(PyObject *self, PyObject *args) { if (!PyArg_Parse(args, "")) return NULL; return PyInt_FromLong(TIMINGUS); } static PyMethodDef timing_methods[] = { {"start", start_timing}, {"finish", finish_timing}, {"seconds", seconds}, {"milli", milli}, {"micro", micro}, {NULL, NULL} }; DL_EXPORT(void) inittiming(void) { (void)Py_InitModule("timing", timing_methods); }