diff options
author | Darren Dale <dsdale24@gmail.com> | 2009-08-25 18:04:01 +0000 |
---|---|---|
committer | Darren Dale <dsdale24@gmail.com> | 2009-08-25 18:04:01 +0000 |
commit | ae6aa8d4d2527cc6810cc1e430269719f81e821b (patch) | |
tree | 716eaf1e16df7e2c21698b085f84332c211c16bc /numpy | |
parent | 17828c6ede1982ffab11e7277c80c7f21a907a75 (diff) | |
download | numpy-ae6aa8d4d2527cc6810cc1e430269719f81e821b.tar.gz |
add comment about __array_prepare__ to 1.4 release notes
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/core/src/multiarray/methods.c | 25 | ||||
-rw-r--r-- | numpy/doc/subclassing.py | 4 |
2 files changed, 27 insertions, 2 deletions
diff --git a/numpy/core/src/multiarray/methods.c b/numpy/core/src/multiarray/methods.c index de99ca137..8ec256105 100644 --- a/numpy/core/src/multiarray/methods.c +++ b/numpy/core/src/multiarray/methods.c @@ -756,6 +756,31 @@ array_cast(PyArrayObject *self, PyObject *args) static PyObject * +array_preparearray(PyArrayObject *self, PyObject *args) +{ + PyObject *arr; + PyObject *ret; + + if (PyTuple_Size(args) < 1) { + PyErr_SetString(PyExc_TypeError, + "only accepts 1 argument"); + return NULL; + } + arr = PyTuple_GET_ITEM(args, 0); + if (arr == NULL) { + return NULL; + } + if (!PyArray_Check(arr)) { + PyErr_SetString(PyExc_TypeError, + "can only be called with ndarray object"); + return NULL; + } + Py_INCREF(arr); + return arr; +} + + +static PyObject * array_wraparray(PyArrayObject *self, PyObject *args) { PyObject *arr; diff --git a/numpy/doc/subclassing.py b/numpy/doc/subclassing.py index 5f658d922..24f0108d7 100644 --- a/numpy/doc/subclassing.py +++ b/numpy/doc/subclassing.py @@ -420,8 +420,8 @@ So: .. _array-wrap: -``__array_wrap__`` for ufuncs ------------------------------ +``__array_prepare__`` and ``__array_wrap__`` for ufuncs +------------------------------------------------------- ``__array_wrap__`` gets called at the end of numpy ufuncs and other numpy functions, to allow a subclass to set the type of the return value |