On Mon, Jan 30, 2012 at 1:17 AM, Warren Weckesser
<warren.weckesser@enthought.com> wrote:
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