[Numpy-discussion] 16bit Integer Array/Scalar Inconsistency
Ryan May
rmay at ou.edu
Thu Aug 2 15:18:49 EDT 2007
Hi,
I ran into this while debugging a script today:
In [1]: import numpy as N
In [2]: N.__version__
Out[2]: '1.0.3'
In [3]: d = N.array([32767], dtype=N.int16)
In [4]: d + 32767
Out[4]: array([-2], dtype=int16)
In [5]: d[0] + 32767
Out[5]: 65534
In [6]: type(d[0] + 32767)
Out[6]: <type 'numpy.int64'>
In [7]: type(d[0])
Out[7]: <type 'numpy.int16'>
It seems that numpy will automatically promote the scalar to avoid
overflow, but not in the array case. Is this inconsistency a bug, just
a (known) gotcha?
I myself don't have any problems with the array not being promoted
automatically, but the inconsistency with scalar operation made
debugging my problem more difficult.
Ryan
--
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma
More information about the NumPy-Discussion
mailing list