30 Jan
2012
30 Jan
'12
7:17 a.m.
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