[Numpy-discussion] float32 to float64 casting

Charles R Harris charlesr.harris at gmail.com
Fri Nov 16 01:37:03 EST 2012


On Thu, Nov 15, 2012 at 8:24 PM, Gökhan Sever <gokhansever at gmail.com> wrote:

> Hello,
>
> Could someone briefly explain why are these two operations are casting my
> float32 arrays to float64?
>
> I1 (np.arange(5, dtype='float32')).dtype
> O1 dtype('float32')
>
> I2 (100000*np.arange(5, dtype='float32')).dtype
> O2 dtype('float64')
>

This one is depends on the size of the multiplier and is first present in
1.6.0. I suspect it is a side effect of making the type conversion code
sensitive to magnitude.


>
>
>
> I3 (np.arange(5, dtype='float32')[0]).dtype
> O3 dtype('float32')
>
> I4 (1*np.arange(5, dtype='float32')[0]).dtype
> O4 dtype('float64')
>

This one probably depends on the fact that the element is a scalar, but
doesn't look right. Scalars are promoted differently. Also holds in numpy
1.5.0 so is of old provenance.

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20121115/20dc8810/attachment.html>


More information about the NumPy-Discussion mailing list