[Numpy-discussion] byteswapping a complex scalar
Michael Droettboom
mdroe at stsci.edu
Thu Oct 8 13:08:42 EDT 2009
Thanks! I guess I won't file a bug then ;)
Mike
Travis Oliphant wrote:
> On Oct 7, 2009, at 10:28 AM, Michael Droettboom wrote:
>
>
>> I'm noticing an inconsistency as to how complex numbers are
>> byteswapped
>> as arrays vs. scalars, and wondering if I'm doing something wrong.
>>
>>
>>>>> x = np.array([-1j], '<c8')
>>>>> x.tostring().encode('hex')
>>>>>
>> '00000000000080bf'
>> # This is a little-endian representation, in the order (real, imag)
>>
>> # When I swap the whole array, it swaps each of the (real, imag) parts
>> separately
>>
>>>>> y = x.byteswap()
>>>>> y.tostring().encode('hex')
>>>>>
>> '00000000bf800000'
>> # and this round-trips fine
>>
>>>>> z = np.fromstring(y.tostring(), dtype='>c8')
>>>>> assert z[0] == -1j
>>>>>
>>>>>
>> # When I swap the scalar, it seems to swap the entire 8 bytes
>>
>>>>> y = x[0].byteswap()
>>>>> y.tostring().encode('hex')
>>>>>
>> 'bf80000000000000'
>> # ...and this doesn't round-trip
>>
>>>>> z = np.fromstring(y.tostring(), dtype='>c8')
>>>>> assert z[0] == -1j
>>>>>
>> Traceback (most recent call last):
>> File "<stdin>", line 1, in <module>
>> AssertionError
>>
>> Any thoughts?
>>
>
>
> I just checked a fix for this into SVN (tests still need to be added
> though...)
>
> I can't currently build SVN on my Mac for some reason (I don't know if
> it has to do with recent changes or not, but I don't have time to
> track it down right now....the error I'm getting is something about
> Datetime array scalar types not being defined which seems related to
> the work Dave and Stefan have been discussing).
>
> It's a small change, though, and should work.
>
> -Travis
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA
More information about the NumPy-Discussion
mailing list