
In article <Pine.OSX.4.58.0511030849170.5996@catnip.local>, Rick White <rlw@stsci.edu> wrote:
On Wed, 2 Nov 2005, Russell E. Owen wrote:
To use documented interfaces (i.e. not arra._byteorder) and to avoid byteswapping the input array, I think I'm going to be stuck doing something like:
import sys if sys.byteorder == 'big': isBigendian = not arr.isbyteswapped() else: isBigendian = arr.isbyteswapped()
A simpler version:
isBigendian = arr.isbyteswapped() != numarray.isBigEndian
Cute. isBigEndian doesn't seem to be present in Numeric 23.8. I wonder if it'll be in scipy.core. Based on stunningly fast responses by Jay T Miller to most of the PRs I submitted to sourceforge: - The byteswap and byteswapped methods do just affect the data and not the byteorder flag. The doc string for byteswapped said otherwise and that is fixed in the repository. I don't know if the manual has been clarified. - To toggle the byteorder flag, use the togglebyteorder method (duh, I wish I'd seen that one). - An official way to figure out if an array is byteswapped is to use the __array_typestr__ method and look at the first character of the returned string. "<" means little-endian, ">" means big-endian. This is apparently also part of the array interface for scipy.core. I sure hope there'll be a more obvious method to call than __array_typestr__ at some point. -- Russell