Commit 5190f6bd authored by Stefan Behnel's avatar Stefan Behnel

new ndarray.base setter/getter functions by Neal Becker

parent 48a0d2fd
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
DEF _buffer_format_string_len = 255 DEF _buffer_format_string_len = 255
cimport python_buffer as pybuf cimport python_buffer as pybuf
from python_ref cimport PyObject from python_ref cimport PyObject, Py_XINCREF, Py_XDECREF
cimport stdlib cimport stdlib
cimport stdio cimport stdio
...@@ -904,5 +904,22 @@ cdef extern from "numpy/ufuncobject.h": ...@@ -904,5 +904,22 @@ cdef extern from "numpy/ufuncobject.h":
int, char *, char *, int, char *) int, char *, char *, int, char *)
void import_ufunc() void import_ufunc()
cdef inline void set_array_base(ndarray arr, object base):
cdef PyObject* baseptr
cdef ndarray raw = arr
if base is None:
baseptr = NULL
else:
baseptr = <PyObject*>base
Py_XINCREF(baseptr) # important to do this before decref below!
Py_XDECREF(raw.base)
raw.base = baseptr
cdef inline object get_array_base(ndarray arr):
cdef ndarray raw = arr
if raw.base == NULL:
return None
else:
return <object>raw.base
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment