[Numpy-discussion] Comparison changes
Sebastian Berg
sebastian at sipsolutions.net
Fri Jan 24 19:05:15 EST 2014
Hi all,
in https://github.com/numpy/numpy/pull/3514 I proposed some changes to
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 for
now)
2. I added that == and != will give FutureWarning when an error was
raised. In the future they should not silence these errors anymore. (For
example shape mismatches)
3. We used to use PyObject_RichCompareBool for equality which includes
an identity check. I propose to not do that identity check since we have
elementwise equality (returning an object array for objects would be
nice in some ways, but I think that is only an option for a dedicated
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[0] is b[0]`. 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.
Are there objections/comments to these changes?
Regards,
Sebastian
More information about the NumPy-Discussion
mailing list