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). - Sebastian > Thanks, > Tom > > ps: cross-posting to stackoverflow > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion