Hi Stefan, The problem arises when you try to use methods of the ufunc. So for the custom universal function previously defined, uadd: uadd([1,2,3],[1,2,3]) works fine.
But uadd.accumulate(..) or uadd.reduce(..) fail with error: ValueError: could not find a matching type for add (vectorized).accumulate ( or (vectorized).reduce ) Apologies, I should have been more clear before. Thanks, Aditya 2011/9/19 Stéfan van der Walt <[email protected]> > Hi, > > On Mon, Sep 19, 2011 at 2:38 PM, Aditya Sethi <[email protected]> wrote: > > I am facing an issue upgrading numpy from 1.5.1 to 1.6.1. > > In numPy 1.6, the casting behaviour for ufunc has changed and has become > > stricter. > > Can someone advise how to implement the below simple example which worked > in > > 1.5.1 but fails in 1.6.1? > >>>> import numpy as np > >>>> def add(a,b): > > ... return (a+b) > >>>> uadd = np.frompyfunc(add,2,1) > >>>> uadd > > <ufunc 'add (vectorized)'> > >>>> uadd.accumulate([1,2,3]) > > Traceback (most recent call last): > > File "<stdin>", line 1, in <module> > > ValueError: could not find a matching type for add > (vectorized).accumulate, > > requested type has type code 'l' > > Seems to work ok on the latest version: > > In [12]: uadd([1,2,3],[1,2,3]) > Out[12]: array([2, 4, 6], dtype=object) > > In [13]: np.__version__ > Out[13]: '2.0.0.dev-af22fc4' > > Cheers > Stéfan > _______________________________________________ > NumPy-Discussion mailing list > [email protected] > http://mail.scipy.org/mailman/listinfo/numpy-discussion >
_______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
