| /* | 
 |  * 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) | 
 | { | 
 | 	(void)Py_InitModule("timing", timing_methods); | 
 | } |