✘NetBSD failure.

Achim Gratz Stromeko at nexgo.de
Fri Apr 14 06:08:56 UTC 2017


Gary E. Miller writes:
> That because a float is only 21 significant digits, the same significant
> digits as in 7FFFFC00

Nope, a float has 24 binary digits for the mantissa (including the
hidden bit), unless they changed the standard while I wasn't looking.
So there really isn't an explanation of where the extra three missing
bits went.

> So somewhere netBSD is using a float instead of a double...
> Or something else that is netBSD specific...

Not necessarily.  The printf conversion specifier in that test is bunk,
use %g or even better %a and specify the correct precision.  Also, add
the index into the table somewhere in the output so one can see what
test was actually performed and output _all_ intermediates.

> TEST(lfpfunc, FDF_RoundTrip)../../tests/libntp/lfpfunc.c:268::FAIL:
> Expected 0.0
> Was 2147482624.0. 2147483647.500000 diff 2147482624.000000 not within 2.384186e-07

The operative number here is actually the third one (diff) and it looks
to me like op3 was zero (the conversion back from double was'#t
performed correctly).  You'd likely gain more insight if you looked at
the bit pattern from temp before converting it back to double.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Samples for the Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#BlofeldSamplesExtra



More information about the devel mailing list