<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Mar 20, 2013, at 2:38 PM, Kenneth Russell wrote:</div><blockquote type="cite"><div><blockquote type="cite"><font class="Apple-style-span" color="#000000"><br></font></blockquote><br>The typed array specification in its original form deliberately<br>avoided specifying normalization of NaNs upon writes to Float32Array<br>and Float64Array. Doing so has no practical value and only imposes a<br>performance hit, which is unacceptable for applications trying to<br>reach the highest possible performance.<br><br>I hope that the ES6 integration of typed arrays will not require<br>normalization of NaNs on write, even if other specification changes<br>need to be made to avoid requiring it.<br><br></div></blockquote><div><br></div><div>Here is the exact language that is in the current ES6 draft for storing a Number into a buffer as a Float64 (rawValue is the value that gets stored into the buffer):</div><div><br></div><div>Set rawValue to the 8 bytes that are the IEEE-868-2005 binary64 format encoding of value. If isBigEndian is true, the bytes are arranged in big endian order.  Otherwise, the bytes are arranged in little endian order.  If value is NaN, rawValue is may be set to any implementation choosen non-signaling NaN encoding.</div><div><br></div><div>Allen</div><div><br></div><br><blockquote type="cite"><div>-Ken<br><br><br><blockquote type="cite">_Incidentally_, I observe that normalization on read is not necessary except<br></blockquote><blockquote type="cite">as an implementation strategy. It may well be that all implementations will<br></blockquote><blockquote type="cite">find it expedient, but there is no need for the spec to require it, since<br></blockquote><blockquote type="cite">(as 8.1.5 specifically acknowledges) an implementation may choose to let the<br></blockquote><blockquote type="cite">NaN bits vary, as long as all operations on them (which includes<br></blockquote><blockquote type="cite">SetValueInBuffer by my above argument) treat them identically.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">es-discuss mailing list<br></blockquote><blockquote type="cite"><a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br></blockquote><blockquote type="cite"><a href="https://mail.mozilla.org/listinfo/es-discuss">https://mail.mozilla.org/listinfo/es-discuss</a><br></blockquote><blockquote type="cite"><br></blockquote><br></div></blockquote></div><br></body></html>