IIRC, this is dependent on whether you are using 32bit versus 64bit numpy. All regular integer numbers can fit in 32 bits (is that right?), but the 1.1 is treated as a float32 if on a 32 bit NumPy or as float64 if on a 64 bit NumPy.
That's my stab at it. Ben Root On Mon, Mar 3, 2014 at 4:06 PM, Nicolas Rougier <[email protected]>wrote: > > Hi all, > > I'm using numpy 1.8.0 (osx 10.9, python 2.7.6) and I can't understand > dtype promotion in the following case: > > >>> Z = np.zeros((2,2),dtype=np.float32) + 1 > >>> print Z.dtype > float32 > > >>> Z = np.zeros((2,2),dtype=np.float32) + (1,1) > >>> print Z.dtype > float64 > > > Is this the expected behavior ? > What it the difference between the two lines ? > > > > Nicolas > _______________________________________________ > NumPy-Discussion mailing list > [email protected] > http://mail.scipy.org/mailman/listinfo/numpy-discussion >
_______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
