<br><br><div class="gmail_quote">On Mon, Jun 21, 2010 at 10:46 AM, Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi,<br>
I&#39;m using windows COG VM + image provided by Andreas.<br>
I note a few problems related to the change of endianness of Float.<br>
<br>
One of it is Float negativeZero sign = 1, instead of -1.<br>
<br>
Float&gt;&gt;sign<br>
        &quot;Answer 1 if the receiver is greater than 0, -1 if less than 0, else 0.<br>
        Handle IEEE-754 negative-zero by reporting a sign of -1&quot;<br>
<br>
        self &gt; 0 ifTrue: [^ 1].<br>
        (self &lt; 0 or: [((self at: 1) bitShift: -31) = 1]) ifTrue: [^ -1].<br>
        ^ 0<br>
<br>
Does the image miss a few changes ?<br></blockquote><div><br></div><div>Looks like it.  In my image I get -1 as expected.  make sure you&#39;ve filed in NecessaryImageChangesForCogToWork.1.cs or updated to latest trunk.</div>
<div><br></div><div>The underlying issue is that because Cog holds floats in platform order internally one has to use special versions of Float at: basicAt: at:put: and basicAt:put: that hide the reordering from Squeak.  These are in NecessaryImageChangesForCogToWork.1.cs and latest trunk.</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;">
<font color="#888888"><br>
Nicolas<br>
<br>
</font></blockquote></div><br>