On Mar 25, 2013, at 6:00 PM, Brendan Eich wrote:

> Right, thanks for the reminder. It all comes back now, including the "how to 
> write correct ending-independent typed array code" bit.

Ok, so looping back to my earlier observation.  It sounds like endian-ness can 
be observed by writing into an Float64Array element and then reading back from 
a Uint8Array that is backed by the same buffer.  If there is agreement that 
this doesn't represent a significant interoperability hazard can we also agree 
that not doing NaN cannonicalization on writes to FloatXArray is an even less 
significant hazard and need not be mandated?

Allen




> 
> /be
> 
> On Mar 25, 2013, at 4:33 PM, Kenneth Russell <[email protected]> wrote:
> 
>> 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
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
> 

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to