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

Frédéric Bastien nouiz at nouiz.org
Fri May 10 15:35:25 EDT 2013


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?

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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20130510/418604c5/attachment.html>


More information about the NumPy-Discussion mailing list