Yes.  This is the behavior.  It was part of the original Numeric 
implementation.    In the code generator file:

        numpy/core/code_generators/generate_umath.py

ufuncs with a registered type of 'P' have this behavior.   There is a long list 
of them. 

-Travis


On Feb 2, 2012, at 12:04 AM, Warren Weckesser wrote:

> Bump...
> 
> On Mon, Jan 30, 2012 at 1:17 AM, Warren Weckesser 
> <warren.weckes...@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
> 
> 
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to