<br><br><div class="gmail_quote">On Mon, Jun 21, 2010 at 5:16 PM, Henrik Sperre Johansen <span dir="ltr">&lt;<a href="mailto:henrik.s.johansen@veloxit.no">henrik.s.johansen@veloxit.no</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
 On 20.06.2010 22:11, Eliot Miranda wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
While the VMs convert float order automatically on load they do require special accessing primitives Float&gt;&gt;basicAt: &amp; Float&gt;&gt;basicAt:put: that undo the reversal and answer Float contents in big-endian order so that e.g. Float&gt;&gt;hash is unchanged.  The methods assume these primitives can fail, allowing the code to be used on current Squeak VMs.<br>

<br>
<br>
</blockquote></div>
Should also note, Float divisions by zero now return + / - Infinity rather than raising ZeroDivide errors.<br>
15.0 / 0  Infinity<br>
-15.0 / 0.0 -Infinity<br></blockquote><div><br></div><div>which is clearly a bug in Cog.  But I&#39;d like to provide a flag/image-header-bit to allow one to specify either behaviour.  i.e. fail float primitives that return NaNs or Infs, or return the relevant IEEE Inf/NaN.  Andreas and I have just discussed this and he points out that while under ieee Inf and non-NaN results are bit-identical across platforms, NaNs are  not.  So for Croquet one really needs the code generator to arrange that float primitives that do return NaNs normalise those NaNs to a small set (e.g. a pair of a single +ve NaN &amp; a single -ve NaN).</div>
<div><br></div><div>cheers,</div><div>Eliot</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Cheers,<br>
Henry<br>
</blockquote></div><br>