correct Numeric behavior?

The following seems counterintuitive:

Quote:

>>> import Numeric

>>> a = Numeric.array([0])

>>> a

array([0])

>>> not a

1

>>> b = Numeric.array([1])

>>> not b

0

That is, a rank-1 array if length 1 tests false if it's value is 0,

but true otherwise. This is not the case with the array module:

Quote:

>>> import array

>>> x = array.array("i", [0])

>>> x

array('i', [0])

>>> not x

0

Is this the intended behavior of Numeric, or is this a bug?