[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