[Numpy-discussion] __array_priority__ don't work for gt, lt, ... operator

Frédéric Bastien nouiz at nouiz.org
Fri May 10 17:02:48 EDT 2013


thanks, I'll look at it.

I made a PR: https://github.com/numpy/numpy/pull/3324

Where should I put the tests about this?

thanks

Fred


On Fri, May 10, 2013 at 4:03 PM, Sebastian Berg
<sebastian at sipsolutions.net>wrote:

> On Fri, 2013-05-10 at 15:35 -0400, Frédéric Bastien wrote:
> > I'm trying to do it, but each time I want to test something, it takes
> > a long time to rebuild numpy to test it. Is there a way to don't
> > recompile everything for each test?
> >
> Are you using current master? It defaults to use
> ENABLE_SEPARATE_COMPILATION enviroment variable, which, together with
> ccache, makes most changes in numpy compile fast for me.
>
> - Sebastian
>
>
> > thanks
> >
> > Fred
> >
> >
> >
> > On Fri, May 10, 2013 at 1:34 PM, Charles R Harris
> > <charlesr.harris at gmail.com> wrote:
> >
> >
> >         On Fri, May 10, 2013 at 10:08 AM, Frédéric Bastien
> >         <nouiz at nouiz.org> wrote:
> >                 Hi,
> >
> >
> >                 it popped again on the Theano mailing list that this
> >                 don't work:
> >
> >
> >                 np.arange(10) <= a_theano_vector.
> >
> >
> >                 The reason is that __array_priority__ isn't respected
> >                 for that class of operation.
> >
> >
> >
> >                 This page explain the problem and give a work around:
> >
> >
> >
> http://stackoverflow.com/questions/14619449/how-can-i-override-comparisons-between-numpys-ndarray-and-my-type
> >
> >
> >                 The work around is to make a python function that will
> >                 decide witch version of the comparator to call and do
> >                 the call. Then we tell NumPy to use that function
> >                 instead of its current function with:
> >                 np.set_numeric_ops(...)
> >
> >                 But if we do that, when we import theano, we will slow
> >                 down all normal numpy comparison for the user, as when
> >                 <= is execute, first there will be numpy c code
> >                 executed, that will call the python function to decide
> >                 witch version to do, then if it is 2 numpy ndarray, it
> >                 will call again numpy c code.
> >
> >
> >                 That isn't a good solution. We could do the same
> >                 override in C, but then theano work the same when
> >                 there isn't a c++ compiler. That isn't nice.
> >
> >
> >                 What do you think of changing them to check for
> >                 __array_priority__ before doing the comparison?
> >
> >         This looks like an oversight and should be fixed.
> >
> >         Chuck
> >
> >
> >         _______________________________________________
> >         NumPy-Discussion mailing list
> >         NumPy-Discussion at scipy.org
> >         http://mail.scipy.org/mailman/listinfo/numpy-discussion
> >
> >
> >
> > _______________________________________________
> > NumPy-Discussion mailing list
> > NumPy-Discussion at scipy.org
> > http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20130510/a1cc95ff/attachment.html>


More information about the NumPy-Discussion mailing list