[Numpy-discussion] ufunc delegation to object method

Warren Weckesser warren.weckesser at enthought.com
Mon Jan 30 02:17:27 EST 2012


In the following code, numpy.sin() calls the object's sin() function:

In [2]: class Foo(object):
   ...:     def sin(self):
   ...:         return "spam"
   ...:

In [3]: f = Foo()

In [4]: np.sin(f)
Out[4]: 'spam'

Is this, in fact, guaranteed behavior for a ufunc?  It does not appear to
be documented.

This question came up in the discussion of SciPy pull request 138 (
https://github.com/scipy/scipy/pull/138), where the idea is to add numpy
unary ufunc support to SciPy's sparse arrays.

(Sorry if this email shows up twice.   I sent it the first time while the
Enthought servers were down, and eventually got an email back saying it had
not been sent.)

Warren
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20120130/86109698/attachment.html>


More information about the NumPy-Discussion mailing list