[Numpy-discussion] Viewing a float64 array with a float32 array
Hugo Gagnon
sourceforge.numpy@user.fastmail...
Wed Mar 21 10:48:00 CDT 2012
I'm not sure if you are referring to rounding errors but that's OK with
me.
I was thinking something along the lines of changing how numpy looks at
the data of A's view by modifying say the stride attribute, etc.
--
Hugo Gagnon
On Wed, Mar 21, 2012, at 11:19, Zachary Pincus wrote:
> > Hi,
> >
> > Is it possible to have a view of a float64 array that is itself float32?
> > So that:
> >
> >>>> A = np.arange(5, dtype='d')
> >>>> A.view(dtype='f')
> >
> > would return a size 5 float32 array looking at A's data?
>
> I think not. The memory layout of a 32-bit IEEE float is not a subset of
> that of a 64-bit float -- see e.g. the first table in:
> http://steve.hollasch.net/cgindex/coding/ieeefloat.html
>
> This would work for int8/int16 or other int types (so long as the number
> doesn't exceed the range of the smaller type), but AFAIK not floats.
>
> Note how the subset relationship works for the int8/int16 case, but not
> float32/float64:
>
> str(numpy.array(100,dtype=numpy.int8).data)
> 'd'
>
> str(numpy.array(100,dtype=numpy.int16).data)
> 'd\x00'
>
> str(numpy.array(-100,dtype=numpy.int16).data)
> '\x9c\xff'
>
> str(numpy.array(-100,dtype=numpy.int8).data)
> '\x9c'
>
> str(numpy.array(100,dtype=numpy.float32).data)
> '\x00\x00\xc8B'
>
> str(numpy.array(100,dtype=numpy.float64).data)
> '\x00\x00\x00\x00\x00\x00Y@'
>
>
> Zach
>
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
More information about the NumPy-Discussion
mailing list