[Numpy-discussion] Equality not working as expected with ndarray sub-class
Frédéric Bastien
nouiz at nouiz.org
Thu Jul 4 09:22:56 EDT 2013
On Thu, Jul 4, 2013 at 9:12 AM, sebastian <sebastian at sipsolutions.net>wrote:
> On 2013-07-04 15:06, Thomas Robitaille wrote:
> > Hi everyone,
> >
> > The following example:
> >
> > import numpy as np
> >
> > class SimpleArray(np.ndarray):
> >
> > __array_priority__ = 10000
> >
> > def __new__(cls, input_array, info=None):
> > return np.asarray(input_array).view(cls)
> >
> > def __eq__(self, other):
> > return False
> >
> > a = SimpleArray(10)
> > print (np.int64(10) == a)
> > print (a == np.int64(10))
> >
> > gives the following output
> >
> > $ python2.7 eq.py
> > True
> > False
> >
> > so that in the first case, SimpleArray.__eq__ is not called. Is this a
> > bug, and if so, can anyone think of a workaround? If this is expected
> > behavior, how do I ensure SimpleArray.__eq__ gets called in both
> > cases?
> >
>
> This should be working in all development versions. I.e. NumPy >1.7.2
> (which is not released yet).
>
I think you mean: NumPy >= 1.7.2
Fred
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20130704/52d7550c/attachment.html>
More information about the NumPy-Discussion
mailing list