Came across an odd error while using numpy master. Note, my system is 32-bits.
>>> import numpy as np >>> type(np.sum([1, 2, 3], dtype=np.int32)) == np.int32 False >>> type(np.sum([1, 2, 3], dtype=np.int64)) == np.int64 True >>> type(np.sum([1, 2, 3], dtype=np.float32)) == np.float32 True >>> type(np.sum([1, 2, 3], dtype=np.float64)) == np.float64 True So, only the summation performed with a np.int32 accumulator results in a type that doesn't match the expected type. Now, for even more strangeness: >>> type(np.sum([1, 2, 3], dtype=np.int32)) <type 'numpy.int32'> >>> hex(id(type(np.sum([1, 2, 3], dtype=np.int32)))) '0x9599a0' >>> hex(id(np.int32)) '0x959a80' So, the type from the sum() reports itself as a numpy int, but its memory address is different from the memory address for np.int32. Weirdness... Ben Root
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion