The tuple gets cast to an ndarray; which invokes a different codepath than the scalar addition. Somehow, numpy has gotten more aggressive at upcasting to float64 as of 1.8, but I havnt been able to discover the logic behind it either. On Mon, Mar 3, 2014 at 10:06 PM, Nicolas Rougier <Nicolas.Rougier@inria.fr>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 NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion