summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorDarren Dale <dsdale24@gmail.com>2009-08-25 18:04:01 +0000
committerDarren Dale <dsdale24@gmail.com>2009-08-25 18:04:01 +0000
commitae6aa8d4d2527cc6810cc1e430269719f81e821b (patch)
tree716eaf1e16df7e2c21698b085f84332c211c16bc /numpy
parent17828c6ede1982ffab11e7277c80c7f21a907a75 (diff)
downloadnumpy-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.c25
-rw-r--r--numpy/doc/subclassing.py4
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