5
%array_functions(int, intArray);
6
%array_functions(float, floatArray);
7
%array_functions(double, doubleArray);
10
%pointer_functions(int, intp);
11
%pointer_functions(float, floatp);
12
%pointer_functions(double, doublep);
14
PyObject *ptr_to_cobj(void *p);
15
void *cobj_to_ptr(PyObject *o);
16
PyObject *ptr_to_buffer_const(const void *p, int size);
17
PyObject *ptr_to_buffer(void *p, int size);
18
const void *buffer_to_ptr_const(PyObject *o);
19
void *buffer_to_ptr(PyObject *o);
23
static PyObject *ptr_to_cobj(void *p)
25
return PyCObject_FromVoidPtr(p, NULL);
28
static void *cobj_to_ptr(PyObject *o)
30
if (PyCObject_Check(o))
31
return PyCObject_AsVoidPtr(o);
33
PyErr_SetString(PyExc_ValueError,"CObject Expected");
37
static PyObject *ptr_to_buffer_const(const void *p, int size)
39
return PyBuffer_FromMemory((void *) p, size);
42
static PyObject *ptr_to_buffer(void *p, int size)
44
return PyBuffer_FromReadWriteMemory(p, size);
47
static const void *buffer_to_ptr_const(PyObject *o)
52
if (PyObject_AsReadBuffer(o, &p, &len) == 0)
55
PyErr_SetString(PyExc_ValueError,"buffer object expected");
59
static void *buffer_to_ptr(PyObject *o)
64
if (PyObject_AsWriteBuffer(o, &p, &len) == 0)
67
PyErr_SetString(PyExc_ValueError,"buffer object expected");