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