[Numpy-discussion] suggestion for generalizing numpy functions

Darren Dale dsdale24 at gmail.com
Tue Jul 21 10:11:12 EDT 2009


On Tue, Jul 21, 2009 at 7:44 AM, Darren Dale<dsdale24 at gmail.com> wrote:
> 2009/7/20 Stéfan van der Walt <stefan at sun.ac.za>:
>> Hi Chuck
>>
>> 2009/7/17 Charles R Harris <charlesr.harris at gmail.com>:
>>> PyObject* PyTuple_GetItem(PyObject *p, Py_ssize_t pos)
>>> Return value: Borrowed reference.
>>> Return the object at position pos in the tuple pointed to by p. If pos is
>>> out of bounds, return NULL and sets an IndexError exception. It's a borrowed
>>> reference so you need to call Py_INCREF on it. I find this Python C-API
>>> documentation useful.
>>
>> Have you had a look over the rest of the code?  I think this would
>> make a good addition.  Travis mentioned Contexts for doing something
>> similar, but I don't know enough about that concept to compare the
>> two.
>
> I think contexts would be very different from what is already in
> place. For now, it would be nice to make this one small improvement to
> the existing ufunc infrastructure, and maybe consider contexts (which
> I still don't understand) at a later time. I have improved the code
> slightly and added a few tests, and will post a new patch later this
> morning. I just need to add some documentation.

Here is a better patch, which includes a few additional tests and adds
some documentation. It also attempts to improve the docstring and
sphinx docs for __array_wrap__, which may have been a little bit
misleading. There is also some whitespace cleanup in a few places.
Would someone please review my work and commit the patch if it is
acceptable? Pierre or Travis, would either of you have a chance to
look over the implementation and the documentation changes, since you
two seem to be most familiar with ufuncs and subclassing ndarray?

(off topic: it would be nice if numpy had a mechanism in place for
merge requests and code reviews. I've been following bzr-dev for a
while now and their development model is pretty impressive.)

Thank you,
Darren
-------------- next part --------------
A non-text attachment was scrubbed...
Name: array_prepare.patch
Type: application/octet-stream
Size: 17364 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20090721/bfc09590/attachment.obj>


More information about the NumPy-Discussion mailing list