diff options
author | Fernando Perez <fperez@fperez.org> | 2008-04-09 01:54:54 +0000 |
---|---|---|
committer | Fernando Perez <fperez@fperez.org> | 2008-04-09 01:54:54 +0000 |
commit | 5e31a42c49f8fee87388cd33baf891d3f0010157 (patch) | |
tree | 9af1947d6941c95e342723678445aa9912f5184d /numpy/doc/cython/Python.pxi | |
parent | 0b0a389d1dfb6d76e053988d87f6434c81dd5ba5 (diff) | |
download | numpy-5e31a42c49f8fee87388cd33baf891d3f0010157.tar.gz |
Add up to date (and slightly cleaned up) support for Cython after porting
the existing Pyrex one, put in deprecation markers in the old Pyrex dir.
The pyrex dir can be removed in a subsequent commit.
Diffstat (limited to 'numpy/doc/cython/Python.pxi')
-rw-r--r-- | numpy/doc/cython/Python.pxi | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/numpy/doc/cython/Python.pxi b/numpy/doc/cython/Python.pxi new file mode 100644 index 000000000..46d2fd1a7 --- /dev/null +++ b/numpy/doc/cython/Python.pxi @@ -0,0 +1,62 @@ +# :Author: Robert Kern +# :Copyright: 2004, Enthought, Inc. +# :License: BSD Style + + +cdef extern from "Python.h": + # Not part of the Python API, but we might as well define it here. + # Note that the exact type doesn't actually matter for Pyrex. + ctypedef int size_t + + # Some type declarations we need + ctypedef int Py_intptr_t + + + # String API + char* PyString_AsString(object string) + char* PyString_AS_STRING(object string) + object PyString_FromString(char* c_string) + object PyString_FromStringAndSize(char* c_string, int length) + object PyString_InternFromString(char *v) + + # Float API + object PyFloat_FromDouble(double v) + double PyFloat_AsDouble(object ob) + long PyInt_AsLong(object ob) + + + # Memory API + void* PyMem_Malloc(size_t n) + void* PyMem_Realloc(void* buf, size_t n) + void PyMem_Free(void* buf) + + void Py_DECREF(object obj) + void Py_XDECREF(object obj) + void Py_INCREF(object obj) + void Py_XINCREF(object obj) + + # CObject API + ctypedef void (*destructor1)(void* cobj) + ctypedef void (*destructor2)(void* cobj, void* desc) + int PyCObject_Check(object p) + object PyCObject_FromVoidPtr(void* cobj, destructor1 destr) + object PyCObject_FromVoidPtrAndDesc(void* cobj, void* desc, + destructor2 destr) + void* PyCObject_AsVoidPtr(object self) + void* PyCObject_GetDesc(object self) + int PyCObject_SetVoidPtr(object self, void* cobj) + + # TypeCheck API + int PyFloat_Check(object obj) + int PyInt_Check(object obj) + + # Error API + int PyErr_Occurred() + void PyErr_Clear() + int PyErr_CheckSignals() + +cdef extern from "string.h": + void *memcpy(void *s1, void *s2, int n) + +cdef extern from "math.h": + double fabs(double x) |