<br><br><div class="gmail_quote">On Mon, Mar 23, 2009 at 2:22 PM, Robert Pyle <span dir="ltr">&lt;<a href="mailto:rpyle@post.harvard.edu">rpyle@post.harvard.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">&gt; PPC stores long doubles as two doubles. I don&#39;t recall exactly how<br>
&gt; the two are used, but the result is that the numbers aren&#39;t in the<br>
&gt; form you would expect. Long doubles on the PPC have always been<br>
&gt; iffy, so it is no surprise that machar fails. The failure on SPARC<br>
&gt; quad precision bothers me more.<br>
<br>
</div>Ah, now I see.  A little more googling and I find that the PPC long<br>
double value is just the sum of the two halves, each looking like a<br>
double on its own.<br>
<br>
That brought back a distant memory!  The DEC-20 used a similar<br>
scheme.  Conversion from double to single precision floating point was<br>
as simple as adding the two halves.  Now this at most changes the<br>
least-significant bit of the upper half.  Sometime around 1970, I<br>
wrote something in DEC-20 assembler that accumulated in double<br>
precision, but returned a single-precision result.  In order to insure<br>
that I understood the double-precision floating-point format, I wrote<br>
a trivial Fortran program to test the conversion from double to single<br>
precision.  The Fortran program set the LSB of the more-significant<br>
half seemingly at random, with no apparent relation to the actual<br>
value of the less-significant half.<br>
<br>
More digging with dumps from the Fortran compiler showed that its<br>
authors had not understood the double-precision FP format at all.  It<br>
took quite a few phone calls to DEC before they believed it, but they<br>
did fix it about two or three months later.<br>
<div><div></div><div class="h5"></div></div></blockquote><div><br>I wonder if you could get the same service today? Making even one phone call can be a long term project calling for a plate of cheese and fruit and a bottle of wine...<br>
<br>Chuck <br></div></div><br>