Mail Archives: djgpp-workers/2003/04/26/10:03:21
According to Eli Zaretskii:
> > From: <ams AT ludd DOT luth DOT se>
> > Date: Sat, 22 Mar 2003 12:53:44 +0100 (CET)
-Test 12: 6.87747e-39 -> 6.87747e-39
-Test 13: 5.87748e-39 -> 5.87748e-39
-Test 14: 5.87747e-39 -> 8.81621e-39
+Test 12: 2e-39 -> 2e-39
+Test 13: 9.80909e-45 -> 9.80909e-45
+Test 14: 1.4013e-45 -> 1.4013e-45
> > 1. Tests 12, 13, 14 don't look like failures, but the numbers are
> > different! Is it broken or not? Or is it sprintf() that is broken?
>
> Can you show us the numbers with more digits, so we could see which
> is the first one that differs?
I'm not sure you got my point. (Or I'm misunderstanding you.) It's not
the difference in the nth digit that is problem. The problem is that
with emulation a different number is displayed then with no
emulation.
E. g. Test 12 above shows 6.87747e-39 with emulation and 2e-39
without, so you don't need any more digits to see that it differs in
the first.
Nevertheles here's the same with 20 digits of precision:
--- == 386
+++ == Athlon
--- /x2/doze_scratch/STRTOF_2.TXT Sat Apr 26 15:30:38 2003
+++ /x2/doze_scratch/strtof_winsartre2.txt Sat Apr 26 15:28:54 2003
@@ -2,17 +2,17 @@
Test 1: 2 -> 2
Test 2: 20 -> 20
Test 3: 200 -> 200
-Test 4: 1.999999936057138495e+38 -> 1.999999936057138495e+38
-Test 5: 9.999999680285692475e+37 -> 9.999999680285692475e+37
+Test 4: 1.999999936057138493e+38 -> 1.999999936057138493e+38
+Test 5: 9.999999680285692465e+37 -> 9.999999680285692465e+37
Test 6: Inf -> Inf
Test 7: 0.20000000298023223877 -> 0.20000000298023223877
Test 8: 0.019999999552965164185 -> 0.019999999552965164185
Test 9: 0.0020000000949949026108 -> 0.0020000000949949026108
-Test 10: 1.9999999821951579292e-37 -> 1.9999999821951579292e-37
-Test 11: 2.000000010221127215e-38 -> 2.000000010221127215e-38
-Test 12: 6.877471969416770789e-39 -> 6.8774698674690743008e-39
-Test 13: 5.8774766586560626691e-39 -> 5.8774801619022234841e-39
-Test 14: 5.8774724547606696946e-39 -> 8.8162055292194598122e-39
+Test 10: 1.999999982195157931e-37 -> 1.999999982195157931e-37
+Test 11: 2.0000000102211272174e-38 -> 2.0000000102211272174e-38
+Test 12: 2.000000430610666515e-39 -> 2.000000430610666515e-39
+Test 13: 9.8090892502737194961e-45 -> 9.8090892502737194961e-45
+Test 14: 1.401298464324817071e-45 -> 1.401298464324817071e-45
> The only reliable way to debug this I'm aware of is to add cprintf
> lines to the emulator and read the resulting logs. Yes, those are
> very long, so it's tedious, sigh...
Ok. Don't hold your breath.
Right,
MartinS
- Raw text -