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

Reply via email to