[Numpy-discussion] Comparison changes
sebastian at sipsolutions.net
Sat Jan 25 05:25:50 EST 2014
On Sat, 2014-01-25 at 00:18 +0000, Nathaniel Smith wrote:
> On 25 Jan 2014 00:05, "Sebastian Berg" <sebastian at sipsolutions.net>
> > Hi all,
> > in https://github.com/numpy/numpy/pull/3514 I proposed some changes
> > the comparison operators. This includes:
> > 1. Comparison with None will broadcast in the future, so that `arr
> > None` will actually compare all elements to None. (A FutureWarning
> > now)
> > 2. I added that == and != will give FutureWarning when an error was
> > raised. In the future they should not silence these errors anymore.
> > example shape mismatches)
> This can just be a DeprecationWarning, because the only change is to
> raise new more errors.
Right, already is the case.
> > 3. We used to use PyObject_RichCompareBool for equality which
> > an identity check. I propose to not do that identity check since we
> > elementwise equality (returning an object array for objects would be
> > nice in some ways, but I think that is only an option for a
> > function). The reason is that for example
> > >>> a = np.array([np.array([1, 2, 3]), 1])
> > >>> b = np.array([np.array([1, 2, 3]), 1])
> > >>> a == b
> > will happen to work if it happens to be that `a is b`. This
> > currently has no deprecation, since the logic is in the inner loop
> and I
> > am not sure if it is easy to add well there.
> Surely any environment where we can call PyObject_RichCompareBool is
> an environment where we can issue a warning...?
Right, I suppose an extra identity check and comparing it with the other
result is indeed no problem. So I think I will add that.
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
More information about the NumPy-Discussion