Re: [Numpy-discussion] __eq__ with str and object
On Tue, May 25, 2010 at 2:21 PM, Michael Droettboom md...@stsci.edu wrote: Seems like a bug to me. Certain branches in _array_richcompare return False to fail rather than Py_NotImplemented, which means the string-understanding comparison fallbacks don't run. Attached is a (simple) patch that resolves this bug, and doesn't seem to cause any of the unit tests to fail. Does this make sense to someone with a better understanding of the rich comparison code than I? Mike On 05/25/2010 12:54 PM, Keith Goodman wrote: a1 = np.array(['a', 'b'], dtype=object) a2 = np.array(['a', 'b']) a1 == a2 array([ True, True], dtype=bool) # Looks good a2 == a1 False # Should I have expected this? Could you open a ticket for this and mark it for review? Chuck ___ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
Re: [Numpy-discussion] __eq__ with str and object
On Wed, May 26, 2010 at 6:11 AM, Charles R Harris charlesr.har...@gmail.com wrote: On Tue, May 25, 2010 at 2:21 PM, Michael Droettboom md...@stsci.edu wrote: Seems like a bug to me. Certain branches in _array_richcompare return False to fail rather than Py_NotImplemented, which means the string-understanding comparison fallbacks don't run. Attached is a (simple) patch that resolves this bug, and doesn't seem to cause any of the unit tests to fail. Does this make sense to someone with a better understanding of the rich comparison code than I? Mike On 05/25/2010 12:54 PM, Keith Goodman wrote: a1 = np.array(['a', 'b'], dtype=object) a2 = np.array(['a', 'b']) a1 == a2 array([ True, True], dtype=bool) # Looks good a2 == a1 False # Should I have expected this? Could you open a ticket for this and mark it for review? Here's the ticket: http://projects.scipy.org/numpy/ticket/1491 Mike, could you attach your fix? ___ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
[Numpy-discussion] __eq__ with str and object
I don't understand this: a1 = np.array(['a', 'b'], dtype=object) a2 = np.array(['a', 'b']) a1 == a2 array([ True, True], dtype=bool) # Looks good a2 == a1 False # Should I have expected this? This works like I expected: a1 = np.array([1, 2], dtype=object) a2 = np.array([1, 2]) a1 == a2 array([ True, True], dtype=bool) a2 == a1 array([ True, True], dtype=bool) ___ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion