[Numpy-discussion] Puzzling numpy results?

Andrew McNamara andrewm at object-craft.com.au
Sun Apr 7 23:32:07 EDT 2002

The behavior I'm seeing with zero length Numeric arrays is not what I
would have expected:

    >>> from Numeric import *
    >>> array([5]) != array([])
    zeros((0,), 'l')
    >>> array([]) == array([])
    zeros((0,), 'l')
    >>> allclose(array([5]), array([]))

This is with Numeric-20.3 (and Numeric-20.2.1) - is this behavior correct,
or have I stumbled across a bug?

If both sides of the comparison are arrays with a length greater than
zero, the comparisons work as expected:

    >>> array([5]) != array([6])
    >>> array([5, 5]) != array([6])
    array([1, 1])
    >>> array([5]) != array([5])

The problem came up when I was writing unittests for some Numpy code:
under some circumstances, the code under test is expected to return a
zero length array: I was somewhat surprised when I couldn't make the
test fail! 8-)

Andrew McNamara, Senior Developer, Object Craft

More information about the NumPy-Discussion mailing list