On Mon, Mar 25, 2013 at 4:23 PM, Brendan Eich <[email protected]> wrote: > Allen Wirfs-Brock wrote: >> >> On Mar 25, 2013, at 4:05 PM, Brendan Eich wrote: >> >>> Allen Wirfs-Brock wrote: >>>> >>>> BTW, isn't cannonicalization of endian-ness for both integers and floats >>>> a bigger interop issue than NaN cannonicalization? I know this was >>>> discussed in the past, but it doesn't seem to be covered in the latest >>>> Khronos spec. Was there ever a resolution as to whether or not TypedArray >>>> [[Set]] operations need to use a cannonical endian-ness? >>> >>> Search for "byte order" at >>> https://www.khronos.org/registry/typedarray/specs/latest/. >> >> >> I had already search for "endian" with similar results. It says that the >> default for DataViews gets/sets that do not specify a byte order is >> big-endean. It doesn't say anything (that I can find) about such accesses on >> TypedArray gets/sets. > > > Oh, odd -- I recall that it used to say little-endian. Typed arrays are LE > to match dominant architectures, while DataViews are BE to match packed > serialization use-cases. > > Ken, did something get edited out?
No. The typed array views (everything except DataView) have used the host machine's endianness from day one by design -- although the typed array spec does not state this explicitly. If desired, text can be added to the specification to this effect. Any change in this behavior will destroy the performance of APIs like WebGL and Web Audio on big-endian architectures. Correctly written code works identically on big-endian and little-endian architectures. See http://www.html5rocks.com/en/tutorials/webgl/typed_arrays/ for a detailed description of the usage of the APIs. DataView, which is designed for input/output, operates on data with a specified endianness. -Ken _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

