summaryrefslogtreecommitdiffstats
path: root/contrib/gdtoa/test
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gdtoa/test')
-rw-r--r--contrib/gdtoa/test/Qtest.c25
-rw-r--r--contrib/gdtoa/test/dItest.c10
-rw-r--r--contrib/gdtoa/test/ddtest.c58
-rw-r--r--contrib/gdtoa/test/dt.c24
-rw-r--r--contrib/gdtoa/test/dtest.c41
-rw-r--r--contrib/gdtoa/test/dtst.out176
-rw-r--r--contrib/gdtoa/test/ftest.c38
-rw-r--r--contrib/gdtoa/test/getround.c10
-rw-r--r--contrib/gdtoa/test/makefile39
-rw-r--r--contrib/gdtoa/test/strtodt.c20
-rw-r--r--contrib/gdtoa/test/x.ou0178
-rw-r--r--contrib/gdtoa/test/x.ou1178
-rw-r--r--contrib/gdtoa/test/xL.ou1279
-rw-r--r--contrib/gdtoa/test/xLtest.c22
-rw-r--r--contrib/gdtoa/test/xsum0.out30
-rw-r--r--contrib/gdtoa/test/xtest.c18
16 files changed, 701 insertions, 445 deletions
diff --git a/contrib/gdtoa/test/Qtest.c b/contrib/gdtoa/test/Qtest.c
index 14e5de7..f694afb 100644
--- a/contrib/gdtoa/test/Qtest.c
+++ b/contrib/gdtoa/test/Qtest.c
@@ -26,14 +26,8 @@ THIS SOFTWARE.
****************************************************************/
-/* Please send bug reports to
- David M. Gay
- Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-0636
- U.S.A.
- dmg@bell-labs.com
- */
+/* Please send bug reports to David M. Gay (dmg at acm dot org,
+ * with " at " changed at "@" and " dot " changed to "."). */
/* Test program for g_Qfmt, strtoIQ, strtopQ, and strtorQ.
*
@@ -86,7 +80,7 @@ THIS SOFTWARE.
int
main(Void)
{
- char *s, *se, *se1;
+ char *s, *s1, *se, *se1;
int i, dItry, ndig = 0, r = 1;
union { long double d; ULong bits[4]; } u, v[2];
@@ -107,8 +101,17 @@ main(Void)
}
break; /* nan? */
case '#':
- sscanf(s+1, "%lx %lx %lx %lx", &u.bits[_0],
- &u.bits[_1], &u.bits[_2], &u.bits[_3]);
+ /* sscanf(s+1, "%lx %lx %lx %lx", &u.bits[_0], */
+ /* &u.bits[_1], &u.bits[_2], &u.bits[_3]); */
+ u.bits[_0] = (ULong)strtoul(s1 = s+1, &se, 16);
+ if (se > s1) {
+ u.bits[_1] = (ULong)strtoul(s1 = se, &se, 16);
+ if (se > s1) {
+ u.bits[_2] = (ULong)strtoul(s1 = se, &se, 16);
+ if (se > s1)
+ u.bits[_3] = (ULong)strtoul(s1 = se, &se, 16);
+ }
+ }
printf("\nInput: %s", ibuf);
printf(" --> f = #%lx %lx %lx %lx\n", u.bits[_0],
u.bits[_1], u.bits[_2], u.bits[_3]);
diff --git a/contrib/gdtoa/test/dItest.c b/contrib/gdtoa/test/dItest.c
index d9b56d5..1724c71 100644
--- a/contrib/gdtoa/test/dItest.c
+++ b/contrib/gdtoa/test/dItest.c
@@ -26,14 +26,8 @@ THIS SOFTWARE.
****************************************************************/
-/* Please send bug reports to
- David M. Gay
- Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-0636
- U.S.A.
- dmg@bell-labs.com
- */
+/* Please send bug reports to David M. Gay (dmg at acm dot org,
+ * with " at " changed at "@" and " dot " changed to "."). */
#include "gdtoaimp.h"
#include <stdio.h>
diff --git a/contrib/gdtoa/test/ddtest.c b/contrib/gdtoa/test/ddtest.c
index aa32e92..6fc3251 100644
--- a/contrib/gdtoa/test/ddtest.c
+++ b/contrib/gdtoa/test/ddtest.c
@@ -26,14 +26,8 @@ THIS SOFTWARE.
****************************************************************/
-/* Please send bug reports to
- David M. Gay
- Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-0636
- U.S.A.
- dmg@bell-labs.com
- */
+/* Please send bug reports to David M. Gay (dmg at acm dot org,
+ * with " at " changed at "@" and " dot " changed to "."). */
/* Test program for g_ddfmt, strtoIdd, strtopdd, and strtordd.
*
@@ -73,22 +67,22 @@ dprint(char *what, double d)
#endif
{
char buf[32];
- ULong *L = (ULong*)&d;
+ union { double d; ULong L[2]; } u;
+ u.d = d;
g_dfmt(buf,&d,0,sizeof(buf));
- printf("%s = %s = #%lx %lx\n", what, buf, U L[_0], U L[_1]);
+ printf("%s = %s = #%lx %lx\n", what, buf, U u.L[_0], U u.L[_1]);
}
int
main(Void)
{
- ULong *L;
char *s, *s1, *se, *se1;
int dItry, i, j, r = 1, ndig = 0;
- double dd[2], ddI[4];
+ double ddI[4];
long LL[4];
+ union { double dd[2]; ULong L[4]; } u;
- L = (ULong*)&dd[0];
while( (s = fgets(ibuf, sizeof(ibuf), stdin)) !=0) {
while(*s <= ' ')
if (!*s++)
@@ -106,16 +100,16 @@ main(Void)
}
break; /* nan? */
case '#':
- LL[0] = L[_0];
- LL[1] = L[_1];
- LL[2] = L[2+_0];
- LL[3] = L[2+_1];
+ LL[0] = u.L[_0];
+ LL[1] = u.L[_1];
+ LL[2] = u.L[2+_0];
+ LL[3] = u.L[2+_1];
sscanf(s+1, "%lx %lx %lx %lx", &LL[0], &LL[1],
&LL[2], &LL[3]);
- L[_0] = LL[0];
- L[_1] = LL[1];
- L[2+_0] = LL[2];
- L[2+_1] = LL[3];
+ u.L[_0] = LL[0];
+ u.L[_1] = LL[1];
+ u.L[2+_0] = LL[2];
+ u.L[2+_1] = LL[3];
printf("\nInput: %s", ibuf);
printf(" --> f = #%lx %lx %lx %lx\n",
LL[0],LL[1],LL[2],LL[3]);
@@ -126,24 +120,24 @@ main(Void)
while(*s1 <= ' ' && *s1) s1++;
if (!*s1) {
dItry = 1;
- i = strtordd(ibuf, &se, r, dd);
+ i = strtordd(ibuf, &se, r, u.dd);
if (r == 1) {
j = strtopdd(ibuf, &se1, ddI);
- if (i != j || dd[0] != ddI[0]
- || dd[1] != ddI[1] || se != se1)
+ if (i != j || u.dd[0] != ddI[0]
+ || u.dd[1] != ddI[1] || se != se1)
printf("***strtopdd and strtordd disagree!!\n:");
}
printf("strtopdd consumes %d bytes and returns %d\n",
(int)(se-ibuf), i);
}
else {
- dd[0] = strtod(s, &se);
- dd[1] = strtod(se, &se);
+ u.dd[0] = strtod(s, &se);
+ u.dd[1] = strtod(se, &se);
}
fmt_test:
- dprint("dd[0]", dd[0]);
- dprint("dd[1]", dd[1]);
- se = g_ddfmt(obuf, dd, ndig, sizeof(obuf));
+ dprint("dd[0]", u.dd[0]);
+ dprint("dd[1]", u.dd[1]);
+ se = g_ddfmt(obuf, u.dd, ndig, sizeof(obuf));
printf("g_ddfmt(%d) gives %d bytes: \"%s\"\n\n",
ndig, (int)(se-obuf), se ? obuf : "<null>");
if (!dItry)
@@ -151,7 +145,7 @@ main(Void)
printf("strtoIdd returns %d,", strtoIdd(ibuf, &se, ddI,&ddI[2]));
printf(" consuming %d bytes.\n", (int)(se-ibuf));
if (ddI[0] == ddI[2] && ddI[1] == ddI[3]) {
- if (ddI[0] == dd[0] && ddI[1] == dd[1])
+ if (ddI[0] == u.dd[0] && ddI[1] == u.dd[1])
printf("ddI[0] == ddI[1] == strtopdd\n");
else
printf("ddI[0] == ddI[1] = #%lx %lx + %lx %lx\n= %.17g + %17.g\n",
@@ -170,9 +164,9 @@ main(Void)
U ((ULong*)ddI)[4+_0], U ((ULong*)ddI)[4+_1],
U ((ULong*)ddI)[6+_0], U ((ULong*)ddI)[6+_1],
ddI[2], ddI[3]);
- if (ddI[0] == dd[0] && ddI[1] == dd[1])
+ if (ddI[0] == u.dd[0] && ddI[1] == u.dd[1])
printf("ddI[0] == strtod\n");
- else if (ddI[2] == dd[0] && ddI[3] == dd[1])
+ else if (ddI[2] == u.dd[0] && ddI[3] == u.dd[1])
printf("ddI[1] == strtod\n");
else
printf("**** Both differ from strtopdd ****\n");
diff --git a/contrib/gdtoa/test/dt.c b/contrib/gdtoa/test/dt.c
index 1a86ba3..ed0daeb 100644
--- a/contrib/gdtoa/test/dt.c
+++ b/contrib/gdtoa/test/dt.c
@@ -26,14 +26,8 @@ THIS SOFTWARE.
****************************************************************/
-/* Please send bug reports to
- David M. Gay
- Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-0636
- U.S.A.
- dmg@bell-labs.com
- */
+/* Please send bug reports to David M. Gay (dmg at acm dot org,
+ * with " at " changed at "@" and " dot " changed to "."). */
/* Test program for strtod and dtoa.
*
@@ -169,7 +163,8 @@ check(double d)
double d1;
s = dtoa(d, 0, 0, &decpt, &sign, &se);
- sprintf(buf, "%s.%se%d", sign ? "-" : "", s, decpt);
+ sprintf(buf, "%s%s%se%d", sign ? "-" : "",
+ decpt == 9999 ? "" : ".", s, decpt);
errno = 0;
d1 = strtod(buf, (char **)0);
if (errno)
@@ -182,9 +177,10 @@ check(double d)
}
}
+ int
main(Void){
char buf[2048], buf1[32];
- char *fmt, *s, *se;
+ char *fmt, *s, *s1, *se;
double d, d1;
int decpt, sign;
int mode = 0, ndigits = 17;
@@ -202,7 +198,13 @@ main(Void){
if (*buf == '#') {
x = word0(d);
y = word1(d);
- sscanf(buf+1, "%lx %lx:%d %d", &x, &y, &mode, &ndigits);
+ /* sscanf(buf+1, "%lx %lx:%d %d", &x, &y, &mode, &ndigits); */
+ x = (ULong)strtoul(s1 = buf+1, &se, 16);
+ if (se > s1) {
+ y = (ULong)strtoul(s1 = se, &se, 16);
+ if (se > s1)
+ sscanf(se, ":%d %d", &mode, &ndigits);
+ }
word0(d) = x;
word1(d) = y;
fmt = "Output: d =\n%.17g = 0x%lx %lx\n";
diff --git a/contrib/gdtoa/test/dtest.c b/contrib/gdtoa/test/dtest.c
index e07b1a8..adcbfd1 100644
--- a/contrib/gdtoa/test/dtest.c
+++ b/contrib/gdtoa/test/dtest.c
@@ -26,14 +26,8 @@ THIS SOFTWARE.
****************************************************************/
-/* Please send bug reports to
- David M. Gay
- Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-0636
- U.S.A.
- dmg@bell-labs.com
- */
+/* Please send bug reports to David M. Gay (dmg at acm dot org,
+ * with " at " changed at "@" and " dot " changed to "."). */
/* Test program for g_dfmt, strtoId, strtod, strtopd, and strtord.
*
@@ -68,13 +62,12 @@ THIS SOFTWARE.
int
main(Void)
{
- ULong *L;
char *s, *se, *se1;
- double f, f1, fI[2];
+ double f1, fI[2];
int i, i1, ndig = 0, r = 1;
long LL[2];
+ union { double f; ULong L[2]; } u;
- L = (ULong*)&f;
while( (s = fgets(ibuf, sizeof(ibuf), stdin)) !=0) {
while(*s <= ' ')
if (!*s++)
@@ -91,28 +84,28 @@ main(Void)
}
break; /* nan? */
case '#':
- LL[0] = L[_0];
- LL[1] = L[_1];
+ LL[0] = u.L[_0];
+ LL[1] = u.L[_1];
sscanf(s+1, "%lx %lx", &LL[0], &LL[1]);
- L[_0] = LL[0];
- L[_1] = LL[1];
+ u.L[_0] = LL[0];
+ u.L[_1] = LL[1];
printf("\nInput: %s", ibuf);
- printf("--> f = #%lx %lx\n", (long)L[_0], (long)L[_1]);
+ printf("--> f = #%lx %lx\n", (long)u.L[_0], (long)u.L[_1]);
goto fmt_test;
}
printf("\nInput: %s", ibuf);
- i = strtord(ibuf, &se, r, &f);
+ i = strtord(ibuf, &se, r, &u.f);
if (r == 1) {
- if ((f != strtod(ibuf, &se1) || se1 != se))
+ if ((u.f != strtod(ibuf, &se1) || se1 != se))
printf("***strtod and strtord disagree!!\n");
i1 = strtopd(ibuf, &se, &f1);
- if (i != i1 || f != f1 || se != se1)
+ if (i != i1 || u.f != f1 || se != se1)
printf("***strtord and strtopd disagree!!\n");
}
printf("strtod consumes %d bytes and returns %d with f = %.17g = #%lx %lx\n",
- (int)(se-ibuf), i, f, U L[_0], U L[_1]);
+ (int)(se-ibuf), i, u.f, U u.L[_0], U u.L[_1]);
fmt_test:
- se = g_dfmt(obuf, &f, ndig, sizeof(obuf));
+ se = g_dfmt(obuf, &u.f, ndig, sizeof(obuf));
printf("g_dfmt(%d) gives %d bytes: \"%s\"\n\n",
ndig, (int)(se-obuf), se ? obuf : "<null>");
if (*s == '#')
@@ -120,7 +113,7 @@ main(Void)
printf("strtoId returns %d,", strtoId(ibuf, &se, fI, &fI[1]));
printf(" consuming %d bytes.\n", (int)(se-ibuf));
if (fI[0] == fI[1]) {
- if (fI[0] == f)
+ if (fI[0] == u.f)
printf("fI[0] == fI[1] == strtod\n");
else
printf("fI[0] == fI[1] = #%lx %lx = %.17g\n",
@@ -133,9 +126,9 @@ main(Void)
printf("fI[1] = #%lx %lx = %.17g\n",
U ((ULong*)&fI[1])[_0], U ((ULong*)&fI[1])[_1],
fI[1]);
- if (fI[0] == f)
+ if (fI[0] == u.f)
printf("fI[0] == strtod\n");
- else if (fI[1] == f)
+ else if (fI[1] == u.f)
printf("fI[1] == strtod\n");
else
printf("**** Both differ from strtod ****\n");
diff --git a/contrib/gdtoa/test/dtst.out b/contrib/gdtoa/test/dtst.out
index 1ec70ab..7b7a09a 100644
--- a/contrib/gdtoa/test/dtst.out
+++ b/contrib/gdtoa/test/dtst.out
@@ -5,11 +5,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 1, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002 = 0x3ff3ae14 7ae147af:
+ nextafter(d,+Infinity) = 1.2300000000000002 = 0x3ff3ae14 7ae147af:
g_fmt gives "1.2300000000000002"
dtoa returns sign = 0, decpt = 1, 17 digits:
12300000000000002
- nextafter(d,-Inf) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad:
+ nextafter(d,-Infinity) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad:
g_fmt gives "1.2299999999999998"
dtoa returns sign = 0, decpt = 1, 17 digits:
12299999999999998
@@ -20,11 +20,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 21, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002e+20 = 0x441aabdf 2145b431:
+ nextafter(d,+Infinity) = 1.2300000000000002e+20 = 0x441aabdf 2145b431:
g_fmt gives "123000000000000020000"
dtoa returns sign = 0, decpt = 21, 17 digits:
12300000000000002
- nextafter(d,-Inf) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f:
+ nextafter(d,-Infinity) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f:
g_fmt gives "122999999999999980000"
dtoa returns sign = 0, decpt = 21, 17 digits:
12299999999999998
@@ -35,11 +35,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -19, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532:
+ nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532:
g_fmt gives "1.2300000000000002e-20"
dtoa returns sign = 0, decpt = -19, 17 digits:
12300000000000002
- nextafter(d,-Inf) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530:
+ nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530:
g_fmt gives "1.2299999999999999e-20"
dtoa returns sign = 0, decpt = -19, 17 digits:
12299999999999999
@@ -50,11 +50,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 1, 9 digits:
123456789
- nextafter(d,+Inf) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c:
+ nextafter(d,+Infinity) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c:
g_fmt gives "1.2345678900000001"
dtoa returns sign = 0, decpt = 1, 17 digits:
12345678900000001
- nextafter(d,-Inf) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a:
+ nextafter(d,-Infinity) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a:
g_fmt gives "1.2345678899999997"
dtoa returns sign = 0, decpt = 1, 17 digits:
12345678899999997
@@ -65,11 +65,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 21, 9 digits:
123456589
- nextafter(d,+Inf) = 1.2345658900000001e+20 = 0x441ac537 a660b998:
+ nextafter(d,+Infinity) = 1.2345658900000001e+20 = 0x441ac537 a660b998:
g_fmt gives "123456589000000010000"
dtoa returns sign = 0, decpt = 21, 17 digits:
12345658900000001
- nextafter(d,-Inf) = 1.2345658899999998e+20 = 0x441ac537 a660b996:
+ nextafter(d,-Infinity) = 1.2345658899999998e+20 = 0x441ac537 a660b996:
g_fmt gives "123456588999999980000"
dtoa returns sign = 0, decpt = 21, 17 digits:
12345658899999998
@@ -80,11 +80,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 31, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000001e+30 = 0x462f0cb0 4e8fb791:
+ nextafter(d,+Infinity) = 1.2300000000000001e+30 = 0x462f0cb0 4e8fb791:
g_fmt gives "1.2300000000000001e+30"
dtoa returns sign = 0, decpt = 31, 17 digits:
12300000000000001
- nextafter(d,-Inf) = 1.2299999999999998e+30 = 0x462f0cb0 4e8fb78f:
+ nextafter(d,-Infinity) = 1.2299999999999998e+30 = 0x462f0cb0 4e8fb78f:
g_fmt gives "1.2299999999999998e+30"
dtoa returns sign = 0, decpt = 31, 17 digits:
12299999999999998
@@ -95,11 +95,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -29, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002e-30 = 0x39b8f286 6f5010ac:
+ nextafter(d,+Infinity) = 1.2300000000000002e-30 = 0x39b8f286 6f5010ac:
g_fmt gives "1.2300000000000002e-30"
dtoa returns sign = 0, decpt = -29, 17 digits:
12300000000000002
- nextafter(d,-Inf) = 1.2299999999999999e-30 = 0x39b8f286 6f5010aa:
+ nextafter(d,-Infinity) = 1.2299999999999999e-30 = 0x39b8f286 6f5010aa:
g_fmt gives "1.2299999999999999e-30"
dtoa returns sign = 0, decpt = -29, 17 digits:
12299999999999999
@@ -110,11 +110,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -19, 9 digits:
123456789
- nextafter(d,+Inf) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb:
+ nextafter(d,+Infinity) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb:
g_fmt gives "1.2345678900000001e-20"
dtoa returns sign = 0, decpt = -19, 17 digits:
12345678900000001
- nextafter(d,-Inf) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9:
+ nextafter(d,-Infinity) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9:
g_fmt gives "1.2345678899999998e-20"
dtoa returns sign = 0, decpt = -19, 17 digits:
12345678899999998
@@ -125,11 +125,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -29, 9 digits:
123456789
- nextafter(d,+Inf) = 1.2345678900000002e-30 = 0x39b90a3e 33bbd996:
+ nextafter(d,+Infinity) = 1.2345678900000002e-30 = 0x39b90a3e 33bbd996:
g_fmt gives "1.2345678900000002e-30"
dtoa returns sign = 0, decpt = -29, 17 digits:
12345678900000002
- nextafter(d,-Inf) = 1.2345678899999998e-30 = 0x39b90a3e 33bbd994:
+ nextafter(d,-Infinity) = 1.2345678899999998e-30 = 0x39b90a3e 33bbd994:
g_fmt gives "1.2345678899999998e-30"
dtoa returns sign = 0, decpt = -29, 17 digits:
12345678899999998
@@ -140,11 +140,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 1, 17 digits:
12345678901234567
- nextafter(d,+Inf) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc:
+ nextafter(d,+Infinity) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc:
g_fmt gives "1.234567890123457"
dtoa returns sign = 0, decpt = 1, 16 digits:
1234567890123457
- nextafter(d,-Inf) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa:
+ nextafter(d,-Infinity) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa:
g_fmt gives "1.2345678901234565"
dtoa returns sign = 0, decpt = 1, 17 digits:
12345678901234565
@@ -155,11 +155,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 1, 17 digits:
12345678901234567
- nextafter(d,+Inf) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc:
+ nextafter(d,+Infinity) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc:
g_fmt gives "1.234567890123457"
dtoa returns sign = 0, decpt = 1, 16 digits:
1234567890123457
- nextafter(d,-Inf) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa:
+ nextafter(d,-Infinity) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa:
g_fmt gives "1.2345678901234565"
dtoa returns sign = 0, decpt = 1, 17 digits:
12345678901234565
@@ -170,11 +170,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 307, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002e+306 = 0x7f7c0676 cd1c61f6:
+ nextafter(d,+Infinity) = 1.2300000000000002e+306 = 0x7f7c0676 cd1c61f6:
g_fmt gives "1.2300000000000002e+306"
dtoa returns sign = 0, decpt = 307, 17 digits:
12300000000000002
- nextafter(d,-Inf) = 1.2299999999999999e+306 = 0x7f7c0676 cd1c61f4:
+ nextafter(d,-Infinity) = 1.2299999999999999e+306 = 0x7f7c0676 cd1c61f4:
g_fmt gives "1.2299999999999999e+306"
dtoa returns sign = 0, decpt = 307, 17 digits:
12299999999999999
@@ -185,11 +185,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -305, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002e-306 = 0x6ba3b8 5da396e9:
+ nextafter(d,+Infinity) = 1.2300000000000002e-306 = 0x6ba3b8 5da396e9:
g_fmt gives "1.2300000000000002e-306"
dtoa returns sign = 0, decpt = -305, 17 digits:
12300000000000002
- nextafter(d,-Inf) = 1.2299999999999999e-306 = 0x6ba3b8 5da396e7:
+ nextafter(d,-Infinity) = 1.2299999999999999e-306 = 0x6ba3b8 5da396e7:
g_fmt gives "1.2299999999999999e-306"
dtoa returns sign = 0, decpt = -305, 17 digits:
12299999999999999
@@ -200,11 +200,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -319, 3 digits:
123
- nextafter(d,+Inf) = 1.2307175237905451e-320 = 0x0 9bb:
+ nextafter(d,+Infinity) = 1.2307175237905451e-320 = 0x0 9bb:
g_fmt gives "1.2307e-320"
dtoa returns sign = 0, decpt = -319, 5 digits:
12307
- nextafter(d,-Inf) = 1.2297293924988626e-320 = 0x0 9b9:
+ nextafter(d,-Infinity) = 1.2297293924988626e-320 = 0x0 9b9:
g_fmt gives "1.2297e-320"
dtoa returns sign = 0, decpt = -319, 5 digits:
12297
@@ -215,11 +215,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -19, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532:
+ nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532:
g_fmt gives "1.2300000000000002e-20"
dtoa returns sign = 0, decpt = -19, 17 digits:
12300000000000002
- nextafter(d,-Inf) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530:
+ nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530:
g_fmt gives "1.2299999999999999e-20"
dtoa returns sign = 0, decpt = -19, 17 digits:
12299999999999999
@@ -230,11 +230,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 308, 9 digits:
123456789
- nextafter(d,+Inf) = 1.2345678900000003e+307 = 0x7fb194b1 4bdaecdd:
+ nextafter(d,+Infinity) = 1.2345678900000003e+307 = 0x7fb194b1 4bdaecdd:
g_fmt gives "1.2345678900000003e+307"
dtoa returns sign = 0, decpt = 308, 17 digits:
12345678900000003
- nextafter(d,-Inf) = 1.2345678899999998e+307 = 0x7fb194b1 4bdaecdb:
+ nextafter(d,-Infinity) = 1.2345678899999998e+307 = 0x7fb194b1 4bdaecdb:
g_fmt gives "1.2345678899999998e+307"
dtoa returns sign = 0, decpt = 308, 17 digits:
12345678899999998
@@ -245,11 +245,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -306, 9 digits:
123456589
- nextafter(d,+Inf) = 1.2345658900000001e-307 = 0x363196 bb9845fb:
+ nextafter(d,+Infinity) = 1.2345658900000001e-307 = 0x363196 bb9845fb:
g_fmt gives "1.2345658900000001e-307"
dtoa returns sign = 0, decpt = -306, 17 digits:
12345658900000001
- nextafter(d,-Inf) = 1.2345658899999997e-307 = 0x363196 bb9845f9:
+ nextafter(d,-Infinity) = 1.2345658899999997e-307 = 0x363196 bb9845f9:
g_fmt gives "1.2345658899999997e-307"
dtoa returns sign = 0, decpt = -306, 17 digits:
12345658899999997
@@ -260,11 +260,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 1, 17 digits:
12345678901234567
- nextafter(d,+Inf) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc:
+ nextafter(d,+Infinity) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc:
g_fmt gives "1.234567890123457"
dtoa returns sign = 0, decpt = 1, 16 digits:
1234567890123457
- nextafter(d,-Inf) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa:
+ nextafter(d,-Infinity) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa:
g_fmt gives "1.2345678901234565"
dtoa returns sign = 0, decpt = 1, 17 digits:
12345678901234565
@@ -275,11 +275,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 302, 17 digits:
12345678901234568
- nextafter(d,+Inf) = 1.234567890123457e+301 = 0x7e726f51 75f56414:
+ nextafter(d,+Infinity) = 1.234567890123457e+301 = 0x7e726f51 75f56414:
g_fmt gives "1.234567890123457e+301"
dtoa returns sign = 0, decpt = 302, 16 digits:
1234567890123457
- nextafter(d,-Inf) = 1.2345678901234565e+301 = 0x7e726f51 75f56412:
+ nextafter(d,-Infinity) = 1.2345678901234565e+301 = 0x7e726f51 75f56412:
g_fmt gives "1.2345678901234565e+301"
dtoa returns sign = 0, decpt = 302, 17 digits:
12345678901234565
@@ -290,11 +290,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -300, 17 digits:
12345678901234567
- nextafter(d,+Inf) = 1.2345678901234569e-301 = 0x1752a64 e34ba0d4:
+ nextafter(d,+Infinity) = 1.2345678901234569e-301 = 0x1752a64 e34ba0d4:
g_fmt gives "1.234567890123457e-301"
dtoa returns sign = 0, decpt = -300, 16 digits:
1234567890123457
- nextafter(d,-Inf) = 1.2345678901234565e-301 = 0x1752a64 e34ba0d2:
+ nextafter(d,-Infinity) = 1.2345678901234565e-301 = 0x1752a64 e34ba0d2:
g_fmt gives "1.2345678901234565e-301"
dtoa returns sign = 0, decpt = -300, 17 digits:
12345678901234565
@@ -305,11 +305,11 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -320, 4 digits:
1235
- nextafter(d,+Inf) = 1.2401047710615288e-321 = 0x0 fb:
+ nextafter(d,+Infinity) = 1.2401047710615288e-321 = 0x0 fb:
g_fmt gives "1.24e-321"
dtoa returns sign = 0, decpt = -320, 3 digits:
124
- nextafter(d,-Inf) = 1.2302234581447039e-321 = 0x0 f9:
+ nextafter(d,-Infinity) = 1.2302234581447039e-321 = 0x0 f9:
g_fmt gives "1.23e-321"
dtoa returns sign = 0, decpt = -320, 3 digits:
123
@@ -320,17 +320,15 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = 24, 1 digits:
1
- nextafter(d,+Inf) = 1.0000000000000001e+23 = 0x44b52d02 c7e14af7:
+ nextafter(d,+Infinity) = 1.0000000000000001e+23 = 0x44b52d02 c7e14af7:
g_fmt gives "1.0000000000000001e+23"
dtoa returns sign = 0, decpt = 24, 17 digits:
10000000000000001
- nextafter(d,-Inf) = 9.9999999999999975e+22 = 0x44b52d02 c7e14af5:
+ nextafter(d,-Infinity) = 9.9999999999999975e+22 = 0x44b52d02 c7e14af5:
g_fmt gives "9.999999999999997e+22"
dtoa returns sign = 0, decpt = 23, 16 digits:
9999999999999997
Input: 1e310
-
-errno strtod: Result too large
Output: d =
Infinity = 0x7ff00000 0, se =
g_fmt gives "Infinity"
@@ -344,7 +342,7 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -276, 16 digits:
9025971879324148
- nextafter(d,+Inf) = 9.0259718793241499e-277 = 0x6a00000 1:
+ nextafter(d,+Infinity) = 9.0259718793241499e-277 = 0x6a00000 1:
g_fmt gives "9.02597187932415e-277"
dtoa returns sign = 0, decpt = -276, 15 digits:
902597187932415
@@ -355,7 +353,7 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -276, 16 digits:
9025971879324148
- nextafter(d,+Inf) = 9.0259718793241499e-277 = 0x6a00000 1:
+ nextafter(d,+Infinity) = 9.0259718793241499e-277 = 0x6a00000 1:
g_fmt gives "9.02597187932415e-277"
dtoa returns sign = 0, decpt = -276, 15 digits:
902597187932415
@@ -366,7 +364,7 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -276, 16 digits:
9025971879324148
- nextafter(d,+Inf) = 9.0259718793241499e-277 = 0x6a00000 1:
+ nextafter(d,+Infinity) = 9.0259718793241499e-277 = 0x6a00000 1:
g_fmt gives "9.02597187932415e-277"
dtoa returns sign = 0, decpt = -276, 15 digits:
902597187932415
@@ -377,7 +375,7 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -307, 17 digits:
22250738585072014
- nextafter(d,+Inf) = 2.2250738585072019e-308 = 0x100000 1:
+ nextafter(d,+Infinity) = 2.2250738585072019e-308 = 0x100000 1:
g_fmt gives "2.225073858507202e-308"
dtoa returns sign = 0, decpt = -307, 16 digits:
2225073858507202
@@ -388,7 +386,7 @@ Output: d =
dtoa(mode = 0, ndigits = 17):
dtoa returns sign = 0, decpt = -307, 17 digits:
22250738585072014
- nextafter(d,+Inf) = 2.2250738585072019e-308 = 0x100000 1:
+ nextafter(d,+Infinity) = 2.2250738585072019e-308 = 0x100000 1:
g_fmt gives "2.225073858507202e-308"
dtoa returns sign = 0, decpt = -307, 16 digits:
2225073858507202
@@ -399,11 +397,11 @@ Output: d =
dtoa(mode = 2, ndigits = 6):
dtoa returns sign = 0, decpt = 1, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002 = 0x3ff3ae14 7ae147af:
+ nextafter(d,+Infinity) = 1.2300000000000002 = 0x3ff3ae14 7ae147af:
g_fmt gives "1.2300000000000002"
dtoa returns sign = 0, decpt = 1, 3 digits:
123
- nextafter(d,-Inf) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad:
+ nextafter(d,-Infinity) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad:
g_fmt gives "1.2299999999999998"
dtoa returns sign = 0, decpt = 1, 3 digits:
123
@@ -414,11 +412,11 @@ Output: d =
dtoa(mode = 4, ndigits = 6):
dtoa returns sign = 0, decpt = 1, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002 = 0x3ff3ae14 7ae147af:
+ nextafter(d,+Infinity) = 1.2300000000000002 = 0x3ff3ae14 7ae147af:
g_fmt gives "1.2300000000000002"
dtoa returns sign = 0, decpt = 1, 3 digits:
123
- nextafter(d,-Inf) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad:
+ nextafter(d,-Infinity) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad:
g_fmt gives "1.2299999999999998"
dtoa returns sign = 0, decpt = 1, 3 digits:
123
@@ -429,11 +427,11 @@ Output: d =
dtoa(mode = 2, ndigits = 6):
dtoa returns sign = 0, decpt = 21, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002e+20 = 0x441aabdf 2145b431:
+ nextafter(d,+Infinity) = 1.2300000000000002e+20 = 0x441aabdf 2145b431:
g_fmt gives "123000000000000020000"
dtoa returns sign = 0, decpt = 21, 3 digits:
123
- nextafter(d,-Inf) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f:
+ nextafter(d,-Infinity) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f:
g_fmt gives "122999999999999980000"
dtoa returns sign = 0, decpt = 21, 3 digits:
123
@@ -444,11 +442,11 @@ Output: d =
dtoa(mode = 4, ndigits = 6):
dtoa returns sign = 0, decpt = 21, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002e+20 = 0x441aabdf 2145b431:
+ nextafter(d,+Infinity) = 1.2300000000000002e+20 = 0x441aabdf 2145b431:
g_fmt gives "123000000000000020000"
dtoa returns sign = 0, decpt = 21, 3 digits:
123
- nextafter(d,-Inf) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f:
+ nextafter(d,-Infinity) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f:
g_fmt gives "122999999999999980000"
dtoa returns sign = 0, decpt = 21, 3 digits:
123
@@ -459,11 +457,11 @@ Output: d =
dtoa(mode = 2, ndigits = 6):
dtoa returns sign = 0, decpt = -19, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532:
+ nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532:
g_fmt gives "1.2300000000000002e-20"
dtoa returns sign = 0, decpt = -19, 3 digits:
123
- nextafter(d,-Inf) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530:
+ nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530:
g_fmt gives "1.2299999999999999e-20"
dtoa returns sign = 0, decpt = -19, 3 digits:
123
@@ -474,11 +472,11 @@ Output: d =
dtoa(mode = 4, ndigits = 6):
dtoa returns sign = 0, decpt = -19, 3 digits:
123
- nextafter(d,+Inf) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532:
+ nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532:
g_fmt gives "1.2300000000000002e-20"
dtoa returns sign = 0, decpt = -19, 3 digits:
123
- nextafter(d,-Inf) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530:
+ nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530:
g_fmt gives "1.2299999999999999e-20"
dtoa returns sign = 0, decpt = -19, 3 digits:
123
@@ -489,11 +487,11 @@ Output: d =
dtoa(mode = 2, ndigits = 6):
dtoa returns sign = 0, decpt = 1, 6 digits:
123457
- nextafter(d,+Inf) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c:
+ nextafter(d,+Infinity) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c:
g_fmt gives "1.2345678900000001"
dtoa returns sign = 0, decpt = 1, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a:
+ nextafter(d,-Infinity) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a:
g_fmt gives "1.2345678899999997"
dtoa returns sign = 0, decpt = 1, 6 digits:
123457
@@ -504,11 +502,11 @@ Output: d =
dtoa(mode = 4, ndigits = 6):
dtoa returns sign = 0, decpt = 1, 6 digits:
123457
- nextafter(d,+Inf) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c:
+ nextafter(d,+Infinity) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c:
g_fmt gives "1.2345678900000001"
dtoa returns sign = 0, decpt = 1, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a:
+ nextafter(d,-Infinity) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a:
g_fmt gives "1.2345678899999997"
dtoa returns sign = 0, decpt = 1, 6 digits:
123457
@@ -519,11 +517,11 @@ Output: d =
dtoa(mode = 2, ndigits = 6):
dtoa returns sign = 0, decpt = 21, 6 digits:
123457
- nextafter(d,+Inf) = 1.2345658900000001e+20 = 0x441ac537 a660b998:
+ nextafter(d,+Infinity) = 1.2345658900000001e+20 = 0x441ac537 a660b998:
g_fmt gives "123456589000000010000"
dtoa returns sign = 0, decpt = 21, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345658899999998e+20 = 0x441ac537 a660b996:
+ nextafter(d,-Infinity) = 1.2345658899999998e+20 = 0x441ac537 a660b996:
g_fmt gives "123456588999999980000"
dtoa returns sign = 0, decpt = 21, 6 digits:
123457
@@ -534,11 +532,11 @@ Output: d =
dtoa(mode = 4, ndigits = 6):
dtoa returns sign = 0, decpt = 21, 6 digits:
123457
- nextafter(d,+Inf) = 1.2345658900000001e+20 = 0x441ac537 a660b998:
+ nextafter(d,+Infinity) = 1.2345658900000001e+20 = 0x441ac537 a660b998:
g_fmt gives "123456589000000010000"
dtoa returns sign = 0, decpt = 21, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345658899999998e+20 = 0x441ac537 a660b996:
+ nextafter(d,-Infinity) = 1.2345658899999998e+20 = 0x441ac537 a660b996:
g_fmt gives "123456588999999980000"
dtoa returns sign = 0, decpt = 21, 6 digits:
123457
@@ -549,11 +547,11 @@ Output: d =
dtoa(mode = 2, ndigits = 6):
dtoa returns sign = 0, decpt = -19, 6 digits:
123457
- nextafter(d,+Inf) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb:
+ nextafter(d,+Infinity) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb:
g_fmt gives "1.2345678900000001e-20"
dtoa returns sign = 0, decpt = -19, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9:
+ nextafter(d,-Infinity) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9:
g_fmt gives "1.2345678899999998e-20"
dtoa returns sign = 0, decpt = -19, 6 digits:
123457
@@ -564,11 +562,11 @@ Output: d =
dtoa(mode = 4, ndigits = 6):
dtoa returns sign = 0, decpt = -19, 6 digits:
123457
- nextafter(d,+Inf) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb:
+ nextafter(d,+Infinity) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb:
g_fmt gives "1.2345678900000001e-20"
dtoa returns sign = 0, decpt = -19, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9:
+ nextafter(d,-Infinity) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9:
g_fmt gives "1.2345678899999998e-20"
dtoa returns sign = 0, decpt = -19, 6 digits:
123457
@@ -579,7 +577,7 @@ Output: d =
dtoa(mode = 2, ndigits = 6):
dtoa returns sign = 0, decpt = 7, 6 digits:
123456
- nextafter(d,+Inf) = 1234565.0000000002 = 0x4132d685 1:
+ nextafter(d,+Infinity) = 1234565.0000000002 = 0x4132d685 1:
g_fmt gives "1234565.0000000002"
dtoa returns sign = 0, decpt = 7, 6 digits:
123457
@@ -590,7 +588,7 @@ Output: d =
dtoa(mode = 4, ndigits = 6):
dtoa returns sign = 0, decpt = 7, 6 digits:
123456
- nextafter(d,+Inf) = 1234565.0000000002 = 0x4132d685 1:
+ nextafter(d,+Infinity) = 1234565.0000000002 = 0x4132d685 1:
g_fmt gives "1234565.0000000002"
dtoa returns sign = 0, decpt = 7, 6 digits:
123457
@@ -601,11 +599,11 @@ Output: d =
dtoa(mode = 2, ndigits = 6):
dtoa returns sign = 0, decpt = 1, 6 digits:
123456
- nextafter(d,+Inf) = 1.2345650000000001 = 0x3ff3c0c7 3abc9471:
+ nextafter(d,+Infinity) = 1.2345650000000001 = 0x3ff3c0c7 3abc9471:
g_fmt gives "1.2345650000000001"
dtoa returns sign = 0, decpt = 1, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345649999999997 = 0x3ff3c0c7 3abc946f:
+ nextafter(d,-Infinity) = 1.2345649999999997 = 0x3ff3c0c7 3abc946f:
g_fmt gives "1.2345649999999997"
dtoa returns sign = 0, decpt = 1, 6 digits:
123456
@@ -616,11 +614,11 @@ Output: d =
dtoa(mode = 4, ndigits = 6):
dtoa returns sign = 0, decpt = 1, 6 digits:
123456
- nextafter(d,+Inf) = 1.2345650000000001 = 0x3ff3c0c7 3abc9471:
+ nextafter(d,+Infinity) = 1.2345650000000001 = 0x3ff3c0c7 3abc9471:
g_fmt gives "1.2345650000000001"
dtoa returns sign = 0, decpt = 1, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345649999999997 = 0x3ff3c0c7 3abc946f:
+ nextafter(d,-Infinity) = 1.2345649999999997 = 0x3ff3c0c7 3abc946f:
g_fmt gives "1.2345649999999997"
dtoa returns sign = 0, decpt = 1, 6 digits:
123456
@@ -631,11 +629,11 @@ Output: d =
dtoa(mode = 2, ndigits = 6):
dtoa returns sign = 0, decpt = 21, 6 digits:
123456
- nextafter(d,+Inf) = 1.2345650000000002e+20 = 0x441ac536 6299040e:
+ nextafter(d,+Infinity) = 1.2345650000000002e+20 = 0x441ac536 6299040e:
g_fmt gives "123456500000000020000"
dtoa returns sign = 0, decpt = 21, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345649999999998e+20 = 0x441ac536 6299040c:
+ nextafter(d,-Infinity) = 1.2345649999999998e+20 = 0x441ac536 6299040c:
g_fmt gives "123456499999999980000"
dtoa returns sign = 0, decpt = 21, 6 digits:
123456
@@ -646,11 +644,11 @@ Output: d =
dtoa(mode = 4, ndigits = 6):
dtoa returns sign = 0, decpt = 21, 6 digits:
123456
- nextafter(d,+Inf) = 1.2345650000000002e+20 = 0x441ac536 6299040e:
+ nextafter(d,+Infinity) = 1.2345650000000002e+20 = 0x441ac536 6299040e:
g_fmt gives "123456500000000020000"
dtoa returns sign = 0, decpt = 21, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345649999999998e+20 = 0x441ac536 6299040c:
+ nextafter(d,-Infinity) = 1.2345649999999998e+20 = 0x441ac536 6299040c:
g_fmt gives "123456499999999980000"
dtoa returns sign = 0, decpt = 21, 6 digits:
123456
@@ -661,11 +659,11 @@ Output: d =
dtoa(mode = 2, ndigits = 6):
dtoa returns sign = 0, decpt = -19, 6 digits:
123456
- nextafter(d,+Inf) = 1.2345650000000001e-20 = 0x3bcd267c ce45a940:
+ nextafter(d,+Infinity) = 1.2345650000000001e-20 = 0x3bcd267c ce45a940:
g_fmt gives "1.2345650000000001e-20"
dtoa returns sign = 0, decpt = -19, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345649999999998e-20 = 0x3bcd267c ce45a93e:
+ nextafter(d,-Infinity) = 1.2345649999999998e-20 = 0x3bcd267c ce45a93e:
g_fmt gives "1.2345649999999998e-20"
dtoa returns sign = 0, decpt = -19, 6 digits:
123456
@@ -676,11 +674,11 @@ Output: d =
dtoa(mode = 4, ndigits = 6):
dtoa returns sign = 0, decpt = -19, 6 digits:
123456
- nextafter(d,+Inf) = 1.2345650000000001e-20 = 0x3bcd267c ce45a940:
+ nextafter(d,+Infinity) = 1.2345650000000001e-20 = 0x3bcd267c ce45a940:
g_fmt gives "1.2345650000000001e-20"
dtoa returns sign = 0, decpt = -19, 6 digits:
123457
- nextafter(d,-Inf) = 1.2345649999999998e-20 = 0x3bcd267c ce45a93e:
+ nextafter(d,-Infinity) = 1.2345649999999998e-20 = 0x3bcd267c ce45a93e:
g_fmt gives "1.2345649999999998e-20"
dtoa returns sign = 0, decpt = -19, 6 digits:
123456
diff --git a/contrib/gdtoa/test/ftest.c b/contrib/gdtoa/test/ftest.c
index afafe85..9f6e144 100644
--- a/contrib/gdtoa/test/ftest.c
+++ b/contrib/gdtoa/test/ftest.c
@@ -26,14 +26,8 @@ THIS SOFTWARE.
****************************************************************/
-/* Please send bug reports to
- David M. Gay
- Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-0636
- U.S.A.
- dmg@bell-labs.com
- */
+/* Please send bug reports to David M. Gay (dmg at acm dot org,
+ * with " at " changed at "@" and " dot " changed to "."). */
/* Test program for g_ffmt, strtof, strtoIf, strtopf, and strtorf.
*
@@ -67,12 +61,11 @@ THIS SOFTWARE.
int
main(Void)
{
- ULong *L;
char *s, *se, *se1;
int dItry, i, i1, ndig = 0, r = 1;
- float f, f1, fI[2];
+ float f1, fI[2];
+ union { float f; ULong L[1]; } u;
- L = (ULong*)&f;
while( (s = fgets(ibuf, sizeof(ibuf), stdin)) !=0) {
while(*s <= ' ')
if (!*s++)
@@ -90,32 +83,33 @@ main(Void)
}
break; /* nan? */
case '#':
- sscanf(s+1, "%lx", &L[0]);
+ /* sscanf(s+1, "%lx", &u.L[0]); */
+ u.L[0] = (ULong)strtoul(s+1, &se, 16);
printf("\nInput: %s", ibuf);
- printf(" --> f = #%lx\n", L[0]);
+ printf(" --> f = #%lx\n", U u.L[0]);
goto fmt_test;
}
dItry = 1;
printf("\nInput: %s", ibuf);
- i = strtorf(ibuf, &se, r, &f);
+ i = strtorf(ibuf, &se, r, &u.f);
if (r == 1) {
- if (f != (i1 = strtopf(ibuf, &se1, &f1), f1)
+ if (u.f != (i1 = strtopf(ibuf, &se1, &f1), f1)
|| se != se1 || i != i1) {
printf("***strtopf and strtorf disagree!!\n");
- if (f != f1)
+ if (u.f != f1)
printf("\tf1 = %g\n", (double)f1);
if (i != i1)
printf("\ti = %d but i1 = %d\n", i, i1);
if (se != se1)
printf("se - se1 = %d\n", (int)(se-se1));
}
- if (f != strtof(ibuf, &se1) || se != se1)
+ if (u.f != strtof(ibuf, &se1) || se != se1)
printf("***strtof and strtorf disagree!\n");
}
printf("strtof consumes %d bytes and returns %.8g = #%lx\n",
- (int)(se-ibuf), f, U *(ULong*)&f);
+ (int)(se-ibuf), u.f, U u.L[0]);
fmt_test:
- se = g_ffmt(obuf, &f, ndig, sizeof(obuf));
+ se = g_ffmt(obuf, &u.f, ndig, sizeof(obuf));
printf("g_ffmt(%d) gives %d bytes: \"%s\"\n\n",
ndig, (int)(se-obuf), se ? obuf : "<null>");
if (!dItry)
@@ -123,7 +117,7 @@ main(Void)
printf("strtoIf returns %d,", strtoIf(ibuf, &se, fI, &fI[1]));
printf(" consuming %d bytes.\n", (int)(se-ibuf));
if (fI[0] == fI[1]) {
- if (fI[0] == f)
+ if (fI[0] == u.f)
printf("fI[0] == fI[1] == strtof\n");
else
printf("fI[0] == fI[1] = #%lx = %.8g\n",
@@ -133,9 +127,9 @@ main(Void)
printf("fI[0] = #%lx = %.8g\nfI[1] = #%lx = %.8g\n",
U *(ULong*)fI, fI[0],
U *(ULong*)&fI[1], fI[1]);
- if (fI[0] == f)
+ if (fI[0] == u.f)
printf("fI[0] == strtof\n");
- else if (fI[1] == f)
+ else if (fI[1] == u.f)
printf("fI[1] == strtof\n");
else
printf("**** Both differ from strtof ****\n");
diff --git a/contrib/gdtoa/test/getround.c b/contrib/gdtoa/test/getround.c
index ec1ca11..1754fb3 100644
--- a/contrib/gdtoa/test/getround.c
+++ b/contrib/gdtoa/test/getround.c
@@ -26,14 +26,8 @@ THIS SOFTWARE.
****************************************************************/
-/* Please send bug reports to
- David M. Gay
- Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-0636
- U.S.A.
- dmg@bell-labs.com
- */
+/* Please send bug reports to David M. Gay (dmg at acm dot org,
+ * with " at " changed at "@" and " dot " changed to "."). */
#include <stdio.h>
#include <stdlib.h>
diff --git a/contrib/gdtoa/test/makefile b/contrib/gdtoa/test/makefile
index 7e48915..156eae2 100644
--- a/contrib/gdtoa/test/makefile
+++ b/contrib/gdtoa/test/makefile
@@ -27,6 +27,8 @@
CC = cc
CFLAGS = -g -I..
A = ../gdtoa.a
+L = -lm
+INFFIX = | sed 's/[Ii][Nn][Ff][intyINTY]*/Infinity/g'
.c.o:
$(CC) -c $(CFLAGS) $*.c
@@ -35,7 +37,7 @@ all: dt dItest ddtest dtest ftest Qtest xLtest xtest ddtestsi dItestsi tests
dt = dt.o $A
dt: $(dt)
- $(CC) -o dt $(dt)
+ $(CC) -o dt $(dt) $L
dItest = dItest.o getround.o $A
dItest: $(dItest)
@@ -43,11 +45,11 @@ dItest: $(dItest)
ddtest = ddtest.o getround.o $A
ddtest: $(ddtest)
- $(CC) -o ddtest $(ddtest)
+ $(CC) -o ddtest $(ddtest) $L
dtest = dtest.o getround.o $A
dtest: $(dtest)
- $(CC) -o dtest $(dtest)
+ $(CC) -o dtest $(dtest) $L
ftest = ftest.o getround.o $A
ftest: $(ftest)
@@ -77,7 +79,7 @@ strtoIdSI.o: strtoIdSI.c ../strtoId.c
ddtestsi = ddtest.o strtopddSI.o strtorddSI.o strtoIddSI.o getround.o $A
ddtestsi: $(ddtestsi)
- $(CC) -o ddtestsi $(ddtestsi)
+ $(CC) -o ddtestsi $(ddtestsi) $L
dItestsi = dItest.o strtodISI.o strtoIdSI.o getround.o $A
dItestsi: $(dItestsi)
@@ -85,7 +87,18 @@ dItestsi: $(dItestsi)
strtodt = strtodt.o $A
strtodt: $(strtodt)
- $(CC) -o strtodt $(strtodt)
+ $(CC) -o strtodt $(strtodt) $L
+
+## On Intel (and Intel-like) systems using extended-precision registers
+## for double-precision (C type double) computations that sometimes suffer
+## double rounding errors, the test below involving strtodt generally shows
+## five lines of unexpected results. Variant strtodtnrp uses ../strtodrnp.c
+## (which does all computations in integer arithmetic) and should show no
+## unexpected results.
+
+strtodtnrp = strtodt.o ../strtodnrp.c $A
+strtodtnrp: $(strtodtnrp)
+ $(CC) -o strtodtnrp $(strtodtnrp)
# xQtest generates cp commands that depend on sizeof(long double).
# See the source for details. If you know better, create Q.out,
@@ -102,21 +115,23 @@ Q.out x.out xL.out:
## The rmdir below will fail if any test results differ.
-tests: Q.out x.out xL.out dt dItest ddtest dtest ftest Qtest xLtest xtest ddtestsi dItestsi strtodt
+tests: Q.out x.out xL.out dt dItest ddtest dtest ftest Qtest xLtest xtest ddtestsi dItestsi strtodt strtodtnrp
mkdir bad
- cat testnos testnos1 | ./dt >zap 2>&1
+ cat testnos testnos1 | ./dt $(INFFIX) >zap 2>&1
cmp dtst.out zap || mv zap bad/dtst.out
- ./dItest <testnos >zap 2>&1
+ ./dItest <testnos $(INFFIX) >zap 2>&1
cmp dI.out zap || mv zap bad/dI.out
- ./dItestsi <testnos >zap 2>&1
+ ./dItestsi <testnos $(INFFIX) >zap 2>&1
cmp dIsi.out zap || mv zap bad/dIsi.out
- ./ddtestsi <testnos >zap 2>&1
+ ./ddtestsi <testnos $(INFFIX) >zap 2>&1
cmp ddsi.out zap || mv zap bad/ddsi.out
for i in dd d f x xL Q; do cat testnos rtestnos | \
- ./"$$i"test >zap 2>&1;\
+ ./"$$i"test $(INFFIX) >zap 2>&1;\
cmp $$i.out zap || mv zap bad/$$i.out; done
./strtodt testnos3 >bad/strtodt.out && rm bad/strtodt.out || \
cat bad/strtodt.out
+ ./strtodtnrp testnos3 >bad/strtodtnrp.out && rm bad/strtodtnrp.out || \
+ cat bad/strtodtnrp.out
rmdir bad
touch tests
@@ -131,5 +146,5 @@ xsum.out: xsum0.out $(xs0)
cmp xsum0.out xsum1.out && mv xsum1.out xsum.out || diff xsum[01].out
clean:
- rm -f *.[ao] dt *test *testsi strtodt xsum.out xsum1.out tests zap x.out xL.out Q.out
+ rm -f *.[ao] dt *test *testsi strtodt strtodtnrp xsum.out xsum1.out tests zap x.out xL.out Q.out
rm -rf bad
diff --git a/contrib/gdtoa/test/strtodt.c b/contrib/gdtoa/test/strtodt.c
index da74660..94c7021 100644
--- a/contrib/gdtoa/test/strtodt.c
+++ b/contrib/gdtoa/test/strtodt.c
@@ -26,14 +26,8 @@ THIS SOFTWARE.
****************************************************************/
-/* Please send bug reports to
- David M. Gay
- Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-0636
- U.S.A.
- dmg@bell-labs.com
- */
+/* Please send bug reports to David M. Gay (dmg at acm dot org,
+ * with " at " changed at "@" and " dot " changed to "."). */
/* Test strtod. */
@@ -44,6 +38,7 @@ THIS SOFTWARE.
* Complain about errors.
*/
+#include "gdtoa.h" /* for ULong */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -51,7 +46,7 @@ THIS SOFTWARE.
static int W0, W1;
typedef union {
double d;
- long L[2];
+ ULong L[2];
} U;
static int
@@ -59,8 +54,7 @@ process(char *fname, FILE *f)
{
U a, b;
char buf[2048];
- double d;
- char *s;
+ char *s, *s1, *se;
int line, n;
line = n = 0;
@@ -75,7 +69,9 @@ process(char *fname, FILE *f)
continue;
while(*s > ' ')
s++;
- if (sscanf(s,"\t%lx\t%lx", &a.L[0], &a.L[1]) != 2) {
+ /* if (sscanf(s,"\t%lx\t%lx", &a.L[0], &a.L[1]) != 2) */
+ if ((a.L[0] = (ULong)strtoul(s, &s1,16), s1 <= s)
+ || (a.L[1] = (ULong)strtoul(s1,&se,16), se <= s1)) {
printf("Badly formatted line %d of %s\n",
line, fname);
n++;
diff --git a/contrib/gdtoa/test/x.ou0 b/contrib/gdtoa/test/x.ou0
index 83daa47..6421bc7 100644
--- a/contrib/gdtoa/test/x.ou0
+++ b/contrib/gdtoa/test/x.ou0
@@ -7,7 +7,7 @@ g_xfmt(0) gives 4 bytes: "1.23"
strtoIx returns 33, consuming 4 bytes.
fI[0] = #3fff 9d70 a3d7 a3d 70a3
-fI[1] = #3fff 9d70 a3d7 a3d 70a3
+fI[1] = #3fff 9d70 a3d7 a3d 70a4
fI[1] == strtox
@@ -29,7 +29,7 @@ g_xfmt(0) gives 8 bytes: "1.23e-20"
strtoIx returns 17, consuming 8 bytes.
fI[0] = #3fbc e857 267b b3a9 84f2
-fI[1] = #3fbc e857 267b b3a9 84f2
+fI[1] = #3fbc e857 267b b3a9 84f3
fI[0] == strtox
@@ -41,7 +41,7 @@ g_xfmt(0) gives 10 bytes: "1.23456789"
strtoIx returns 33, consuming 10 bytes.
fI[0] = #3fff 9e06 5214 1ef0 dbf5
-fI[1] = #3fff 9e06 5214 1ef0 dbf5
+fI[1] = #3fff 9e06 5214 1ef0 dbf6
fI[1] == strtox
@@ -63,7 +63,7 @@ g_xfmt(0) gives 8 bytes: "1.23e+30"
strtoIx returns 17, consuming 8 bytes.
fI[0] = #4062 f865 8274 7dbc 824a
-fI[1] = #4062 f865 8274 7dbc 824a
+fI[1] = #4062 f865 8274 7dbc 824b
fI[0] == strtox
@@ -75,7 +75,7 @@ g_xfmt(0) gives 8 bytes: "1.23e-30"
strtoIx returns 17, consuming 8 bytes.
fI[0] = #3f9b c794 337a 8085 54eb
-fI[1] = #3f9b c794 337a 8085 54eb
+fI[1] = #3f9b c794 337a 8085 54ec
fI[0] == strtox
@@ -87,7 +87,7 @@ g_xfmt(0) gives 14 bytes: "1.23456789e-20"
strtoIx returns 17, consuming 14 bytes.
fI[0] = #3fbc e934 a38 f3d6 d352
-fI[1] = #3fbc e934 a38 f3d6 d352
+fI[1] = #3fbc e934 a38 f3d6 d353
fI[0] == strtox
@@ -99,7 +99,7 @@ g_xfmt(0) gives 14 bytes: "1.23456789e-30"
strtoIx returns 17, consuming 14 bytes.
fI[0] = #3f9b c851 f19d decc a8fc
-fI[1] = #3f9b c851 f19d decc a8fc
+fI[1] = #3f9b c851 f19d decc a8fd
fI[0] == strtox
@@ -111,7 +111,7 @@ g_xfmt(0) gives 20 bytes: "1.234567890123456789"
strtoIx returns 17, consuming 20 bytes.
fI[0] = #3fff 9e06 5214 62cf db8d
-fI[1] = #3fff 9e06 5214 62cf db8d
+fI[1] = #3fff 9e06 5214 62cf db8e
fI[0] == strtox
@@ -123,7 +123,7 @@ g_xfmt(0) gives 20 bytes: "1.234567890123456789"
strtoIx returns 17, consuming 40 bytes.
fI[0] = #3fff 9e06 5214 62cf db8d
-fI[1] = #3fff 9e06 5214 62cf db8d
+fI[1] = #3fff 9e06 5214 62cf db8e
fI[0] == strtox
@@ -135,7 +135,7 @@ g_xfmt(0) gives 9 bytes: "1.23e+306"
strtoIx returns 17, consuming 8 bytes.
fI[0] = #43f7 e033 b668 e30f a6d5
-fI[1] = #43f7 e033 b668 e30f a6d5
+fI[1] = #43f7 e033 b668 e30f a6d6
fI[0] == strtox
@@ -147,7 +147,7 @@ g_xfmt(0) gives 9 bytes: "1.23e-306"
strtoIx returns 33, consuming 9 bytes.
fI[0] = #3c06 dd1d c2ed 1cb7 3f24
-fI[1] = #3c06 dd1d c2ed 1cb7 3f24
+fI[1] = #3c06 dd1d c2ed 1cb7 3f25
fI[1] == strtox
@@ -159,7 +159,7 @@ g_xfmt(0) gives 9 bytes: "1.23e-320"
strtoIx returns 33, consuming 9 bytes.
fI[0] = #3bd8 9b98 c371 844c 3f19
-fI[1] = #3bd8 9b98 c371 844c 3f19
+fI[1] = #3bd8 9b98 c371 844c 3f1a
fI[1] == strtox
@@ -171,7 +171,7 @@ g_xfmt(0) gives 8 bytes: "1.23e-20"
strtoIx returns 17, consuming 8 bytes.
fI[0] = #3fbc e857 267b b3a9 84f2
-fI[1] = #3fbc e857 267b b3a9 84f2
+fI[1] = #3fbc e857 267b b3a9 84f3
fI[0] == strtox
@@ -183,7 +183,7 @@ g_xfmt(0) gives 15 bytes: "1.23456789e+307"
strtoIx returns 17, consuming 14 bytes.
fI[0] = #43fb 8ca5 8a5e d766 de75
-fI[1] = #43fb 8ca5 8a5e d766 de75
+fI[1] = #43fb 8ca5 8a5e d766 de76
fI[0] == strtox
@@ -195,7 +195,7 @@ g_xfmt(0) gives 15 bytes: "1.23456589e-307"
strtoIx returns 17, consuming 15 bytes.
fI[0] = #3c03 b18c b5dc c22f d369
-fI[1] = #3c03 b18c b5dc c22f d369
+fI[1] = #3c03 b18c b5dc c22f d36a
fI[0] == strtox
@@ -207,7 +207,7 @@ g_xfmt(0) gives 20 bytes: "1.234567890123456789"
strtoIx returns 17, consuming 20 bytes.
fI[0] = #3fff 9e06 5214 62cf db8d
-fI[1] = #3fff 9e06 5214 62cf db8d
+fI[1] = #3fff 9e06 5214 62cf db8e
fI[0] == strtox
@@ -219,7 +219,7 @@ g_xfmt(0) gives 25 bytes: "1.234567890123456789e+301"
strtoIx returns 33, consuming 24 bytes.
fI[0] = #43e7 937a 8baf ab20 980b
-fI[1] = #43e7 937a 8baf ab20 980b
+fI[1] = #43e7 937a 8baf ab20 980c
fI[1] == strtox
@@ -231,7 +231,7 @@ g_xfmt(0) gives 25 bytes: "1.234567890123456789e-301"
strtoIx returns 33, consuming 25 bytes.
fI[0] = #3c17 a953 271a 5d06 9ad8
-fI[1] = #3c17 a953 271a 5d06 9ad8
+fI[1] = #3c17 a953 271a 5d06 9ad9
fI[1] == strtox
@@ -243,7 +243,7 @@ g_xfmt(0) gives 25 bytes: "1.234567890123456789e-321"
strtoIx returns 33, consuming 25 bytes.
fI[0] = #3bd4 f9e1 1b4c ea6d cce8
-fI[1] = #3bd4 f9e1 1b4c ea6d cce8
+fI[1] = #3bd4 f9e1 1b4c ea6d cce9
fI[1] == strtox
@@ -265,7 +265,7 @@ g_xfmt(0) gives 6 bytes: "1e+310"
strtoIx returns 33, consuming 5 bytes.
fI[0] = #4404 de81 e40a 34b cf4f
-fI[1] = #4404 de81 e40a 34b cf4f
+fI[1] = #4404 de81 e40a 34b cf50
fI[1] == strtox
@@ -277,7 +277,7 @@ g_xfmt(0) gives 23 bytes: "9.0259718793241475e-277"
strtoIx returns 33, consuming 23 bytes.
fI[0] = #3c69 ffff ffff ffff fcf6
-fI[1] = #3c69 ffff ffff ffff fcf6
+fI[1] = #3c69 ffff ffff ffff fcf7
fI[1] == strtox
@@ -289,7 +289,7 @@ g_xfmt(0) gives 26 bytes: "9.0259718793241478803e-277"
strtoIx returns 17, consuming 37 bytes.
fI[0] = #3c6a 8000 0 0 0
-fI[1] = #3c6a 8000 0 0 0
+fI[1] = #3c6a 8000 0 0 1
fI[0] == strtox
@@ -301,7 +301,7 @@ g_xfmt(0) gives 26 bytes: "9.0259718793241478803e-277"
strtoIx returns 33, consuming 37 bytes.
fI[0] = #3c69 ffff ffff ffff ffff
-fI[1] = #3c6a 8000 0 ffff ffff
+fI[1] = #3c6a 8000 0 0 0
fI[1] == strtox
@@ -313,7 +313,7 @@ g_xfmt(0) gives 23 bytes: "2.2250738585072014e-308"
strtoIx returns 17, consuming 23 bytes.
fI[0] = #3c01 8000 0 0 46
-fI[1] = #3c01 8000 0 0 46
+fI[1] = #3c01 8000 0 0 47
fI[0] == strtox
@@ -325,7 +325,7 @@ g_xfmt(0) gives 23 bytes: "2.2250738585072013e-308"
strtoIx returns 17, consuming 23 bytes.
fI[0] = #3c00 ffff ffff ffff fd4f
-fI[1] = #3c00 ffff ffff ffff fd4f
+fI[1] = #3c00 ffff ffff ffff fd50
fI[0] == strtox
Rounding mode for strtor... changed from 1 (nearest) to 0 (toward zero)
@@ -338,7 +338,7 @@ g_xfmt(0) gives 21 bytes: "1.0999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 8ccc cccc cccc cccc
-fI[1] = #3fff 8ccc cccc cccc cccc
+fI[1] = #3fff 8ccc cccc cccc cccd
fI[0] == strtox
@@ -350,7 +350,7 @@ g_xfmt(0) gives 22 bytes: "-1.0999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 8ccc cccc cccc cccd
-fI[1] = #bfff 8ccc cccc cccc cccd
+fI[1] = #bfff 8ccc cccc cccc cccc
fI[1] == strtox
@@ -362,7 +362,7 @@ g_xfmt(0) gives 21 bytes: "1.1999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 9999 9999 9999 9999
-fI[1] = #3fff 9999 9999 9999 9999
+fI[1] = #3fff 9999 9999 9999 999a
fI[0] == strtox
@@ -374,7 +374,7 @@ g_xfmt(0) gives 22 bytes: "-1.1999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 9999 9999 9999 999a
-fI[1] = #bfff 9999 9999 9999 999a
+fI[1] = #bfff 9999 9999 9999 9999
fI[1] == strtox
@@ -386,7 +386,7 @@ g_xfmt(0) gives 3 bytes: "1.3"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff a666 6666 6666 6666
-fI[1] = #3fff a666 6666 6666 6666
+fI[1] = #3fff a666 6666 6666 6667
fI[0] == strtox
@@ -398,7 +398,7 @@ g_xfmt(0) gives 4 bytes: "-1.3"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff a666 6666 6666 6667
-fI[1] = #bfff a666 6666 6666 6667
+fI[1] = #bfff a666 6666 6666 6666
fI[1] == strtox
@@ -410,7 +410,7 @@ g_xfmt(0) gives 3 bytes: "1.4"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff b333 3333 3333 3333
-fI[1] = #3fff b333 3333 3333 3333
+fI[1] = #3fff b333 3333 3333 3334
fI[0] == strtox
@@ -422,7 +422,7 @@ g_xfmt(0) gives 4 bytes: "-1.4"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff b333 3333 3333 3334
-fI[1] = #bfff b333 3333 3333 3334
+fI[1] = #bfff b333 3333 3333 3333
fI[1] == strtox
@@ -454,7 +454,7 @@ g_xfmt(0) gives 21 bytes: "1.5999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff cccc cccc cccc cccc
-fI[1] = #3fff cccc cccc cccc cccc
+fI[1] = #3fff cccc cccc cccc cccd
fI[0] == strtox
@@ -466,7 +466,7 @@ g_xfmt(0) gives 22 bytes: "-1.5999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff cccc cccc cccc cccd
-fI[1] = #bfff cccc cccc cccc cccd
+fI[1] = #bfff cccc cccc cccc cccc
fI[1] == strtox
@@ -478,7 +478,7 @@ g_xfmt(0) gives 21 bytes: "1.6999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff d999 9999 9999 9999
-fI[1] = #3fff d999 9999 9999 9999
+fI[1] = #3fff d999 9999 9999 999a
fI[0] == strtox
@@ -490,7 +490,7 @@ g_xfmt(0) gives 22 bytes: "-1.6999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff d999 9999 9999 999a
-fI[1] = #bfff d999 9999 9999 999a
+fI[1] = #bfff d999 9999 9999 9999
fI[1] == strtox
@@ -502,7 +502,7 @@ g_xfmt(0) gives 3 bytes: "1.8"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff e666 6666 6666 6666
-fI[1] = #3fff e666 6666 6666 6666
+fI[1] = #3fff e666 6666 6666 6667
fI[0] == strtox
@@ -514,7 +514,7 @@ g_xfmt(0) gives 4 bytes: "-1.8"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff e666 6666 6666 6667
-fI[1] = #bfff e666 6666 6666 6667
+fI[1] = #bfff e666 6666 6666 6666
fI[1] == strtox
@@ -526,7 +526,7 @@ g_xfmt(0) gives 3 bytes: "1.9"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff f333 3333 3333 3333
-fI[1] = #3fff f333 3333 3333 3333
+fI[1] = #3fff f333 3333 3333 3334
fI[0] == strtox
@@ -538,7 +538,7 @@ g_xfmt(0) gives 4 bytes: "-1.9"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff f333 3333 3333 3334
-fI[1] = #bfff f333 3333 3333 3334
+fI[1] = #bfff f333 3333 3333 3333
fI[1] == strtox
Rounding mode for strtor... changed from 0 (toward zero) to 1 (nearest)
@@ -551,7 +551,7 @@ g_xfmt(0) gives 3 bytes: "1.1"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 8ccc cccc cccc cccc
-fI[1] = #3fff 8ccc cccc cccc cccc
+fI[1] = #3fff 8ccc cccc cccc cccd
fI[1] == strtox
@@ -563,7 +563,7 @@ g_xfmt(0) gives 4 bytes: "-1.1"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 8ccc cccc cccc cccd
-fI[1] = #bfff 8ccc cccc cccc cccd
+fI[1] = #bfff 8ccc cccc cccc cccc
fI[0] == strtox
@@ -575,7 +575,7 @@ g_xfmt(0) gives 3 bytes: "1.2"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 9999 9999 9999 9999
-fI[1] = #3fff 9999 9999 9999 9999
+fI[1] = #3fff 9999 9999 9999 999a
fI[1] == strtox
@@ -587,7 +587,7 @@ g_xfmt(0) gives 4 bytes: "-1.2"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 9999 9999 9999 999a
-fI[1] = #bfff 9999 9999 9999 999a
+fI[1] = #bfff 9999 9999 9999 9999
fI[0] == strtox
@@ -599,7 +599,7 @@ g_xfmt(0) gives 3 bytes: "1.3"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff a666 6666 6666 6666
-fI[1] = #3fff a666 6666 6666 6666
+fI[1] = #3fff a666 6666 6666 6667
fI[0] == strtox
@@ -611,7 +611,7 @@ g_xfmt(0) gives 4 bytes: "-1.3"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff a666 6666 6666 6667
-fI[1] = #bfff a666 6666 6666 6667
+fI[1] = #bfff a666 6666 6666 6666
fI[1] == strtox
@@ -623,7 +623,7 @@ g_xfmt(0) gives 3 bytes: "1.4"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff b333 3333 3333 3333
-fI[1] = #3fff b333 3333 3333 3333
+fI[1] = #3fff b333 3333 3333 3334
fI[0] == strtox
@@ -635,7 +635,7 @@ g_xfmt(0) gives 4 bytes: "-1.4"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff b333 3333 3333 3334
-fI[1] = #bfff b333 3333 3333 3334
+fI[1] = #bfff b333 3333 3333 3333
fI[1] == strtox
@@ -667,7 +667,7 @@ g_xfmt(0) gives 3 bytes: "1.6"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff cccc cccc cccc cccc
-fI[1] = #3fff cccc cccc cccc cccc
+fI[1] = #3fff cccc cccc cccc cccd
fI[1] == strtox
@@ -679,7 +679,7 @@ g_xfmt(0) gives 4 bytes: "-1.6"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff cccc cccc cccc cccd
-fI[1] = #bfff cccc cccc cccc cccd
+fI[1] = #bfff cccc cccc cccc cccc
fI[0] == strtox
@@ -691,7 +691,7 @@ g_xfmt(0) gives 3 bytes: "1.7"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff d999 9999 9999 9999
-fI[1] = #3fff d999 9999 9999 9999
+fI[1] = #3fff d999 9999 9999 999a
fI[1] == strtox
@@ -703,7 +703,7 @@ g_xfmt(0) gives 4 bytes: "-1.7"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff d999 9999 9999 999a
-fI[1] = #bfff d999 9999 9999 999a
+fI[1] = #bfff d999 9999 9999 9999
fI[0] == strtox
@@ -715,7 +715,7 @@ g_xfmt(0) gives 3 bytes: "1.8"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff e666 6666 6666 6666
-fI[1] = #3fff e666 6666 6666 6666
+fI[1] = #3fff e666 6666 6666 6667
fI[0] == strtox
@@ -727,7 +727,7 @@ g_xfmt(0) gives 4 bytes: "-1.8"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff e666 6666 6666 6667
-fI[1] = #bfff e666 6666 6666 6667
+fI[1] = #bfff e666 6666 6666 6666
fI[1] == strtox
@@ -739,7 +739,7 @@ g_xfmt(0) gives 3 bytes: "1.9"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff f333 3333 3333 3333
-fI[1] = #3fff f333 3333 3333 3333
+fI[1] = #3fff f333 3333 3333 3334
fI[0] == strtox
@@ -751,7 +751,7 @@ g_xfmt(0) gives 4 bytes: "-1.9"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff f333 3333 3333 3334
-fI[1] = #bfff f333 3333 3333 3334
+fI[1] = #bfff f333 3333 3333 3333
fI[1] == strtox
Rounding mode for strtor... changed from 1 (nearest) to 2 (toward +Infinity)
@@ -764,7 +764,7 @@ g_xfmt(0) gives 3 bytes: "1.1"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 8ccc cccc cccc cccc
-fI[1] = #3fff 8ccc cccc cccc cccc
+fI[1] = #3fff 8ccc cccc cccc cccd
fI[1] == strtox
@@ -776,7 +776,7 @@ g_xfmt(0) gives 22 bytes: "-1.0999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 8ccc cccc cccc cccd
-fI[1] = #bfff 8ccc cccc cccc cccd
+fI[1] = #bfff 8ccc cccc cccc cccc
fI[1] == strtox
@@ -788,7 +788,7 @@ g_xfmt(0) gives 3 bytes: "1.2"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 9999 9999 9999 9999
-fI[1] = #3fff 9999 9999 9999 9999
+fI[1] = #3fff 9999 9999 9999 999a
fI[1] == strtox
@@ -800,7 +800,7 @@ g_xfmt(0) gives 22 bytes: "-1.1999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 9999 9999 9999 999a
-fI[1] = #bfff 9999 9999 9999 999a
+fI[1] = #bfff 9999 9999 9999 9999
fI[1] == strtox
@@ -812,7 +812,7 @@ g_xfmt(0) gives 21 bytes: "1.3000000000000000001"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff a666 6666 6666 6666
-fI[1] = #3fff a666 6666 6666 6666
+fI[1] = #3fff a666 6666 6666 6667
fI[1] == strtox
@@ -824,7 +824,7 @@ g_xfmt(0) gives 4 bytes: "-1.3"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff a666 6666 6666 6667
-fI[1] = #bfff a666 6666 6666 6667
+fI[1] = #bfff a666 6666 6666 6666
fI[1] == strtox
@@ -836,7 +836,7 @@ g_xfmt(0) gives 21 bytes: "1.4000000000000000001"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff b333 3333 3333 3333
-fI[1] = #3fff b333 3333 3333 3333
+fI[1] = #3fff b333 3333 3333 3334
fI[1] == strtox
@@ -848,7 +848,7 @@ g_xfmt(0) gives 4 bytes: "-1.4"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff b333 3333 3333 3334
-fI[1] = #bfff b333 3333 3333 3334
+fI[1] = #bfff b333 3333 3333 3333
fI[1] == strtox
@@ -880,7 +880,7 @@ g_xfmt(0) gives 3 bytes: "1.6"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff cccc cccc cccc cccc
-fI[1] = #3fff cccc cccc cccc cccc
+fI[1] = #3fff cccc cccc cccc cccd
fI[1] == strtox
@@ -892,7 +892,7 @@ g_xfmt(0) gives 22 bytes: "-1.5999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff cccc cccc cccc cccd
-fI[1] = #bfff cccc cccc cccc cccd
+fI[1] = #bfff cccc cccc cccc cccc
fI[1] == strtox
@@ -904,7 +904,7 @@ g_xfmt(0) gives 3 bytes: "1.7"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff d999 9999 9999 9999
-fI[1] = #3fff d999 9999 9999 9999
+fI[1] = #3fff d999 9999 9999 999a
fI[1] == strtox
@@ -916,7 +916,7 @@ g_xfmt(0) gives 22 bytes: "-1.6999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff d999 9999 9999 999a
-fI[1] = #bfff d999 9999 9999 999a
+fI[1] = #bfff d999 9999 9999 9999
fI[1] == strtox
@@ -928,7 +928,7 @@ g_xfmt(0) gives 21 bytes: "1.8000000000000000001"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff e666 6666 6666 6666
-fI[1] = #3fff e666 6666 6666 6666
+fI[1] = #3fff e666 6666 6666 6667
fI[1] == strtox
@@ -940,7 +940,7 @@ g_xfmt(0) gives 4 bytes: "-1.8"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff e666 6666 6666 6667
-fI[1] = #bfff e666 6666 6666 6667
+fI[1] = #bfff e666 6666 6666 6666
fI[1] == strtox
@@ -952,7 +952,7 @@ g_xfmt(0) gives 21 bytes: "1.9000000000000000001"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff f333 3333 3333 3333
-fI[1] = #3fff f333 3333 3333 3333
+fI[1] = #3fff f333 3333 3333 3334
fI[1] == strtox
@@ -964,7 +964,7 @@ g_xfmt(0) gives 4 bytes: "-1.9"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff f333 3333 3333 3334
-fI[1] = #bfff f333 3333 3333 3334
+fI[1] = #bfff f333 3333 3333 3333
fI[1] == strtox
Rounding mode for strtor... changed from 2 (toward +Infinity) to 3 (toward -Infinity)
@@ -977,7 +977,7 @@ g_xfmt(0) gives 21 bytes: "1.0999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 8ccc cccc cccc cccc
-fI[1] = #3fff 8ccc cccc cccc cccc
+fI[1] = #3fff 8ccc cccc cccc cccd
fI[0] == strtox
@@ -989,7 +989,7 @@ g_xfmt(0) gives 4 bytes: "-1.1"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 8ccc cccc cccc cccd
-fI[1] = #bfff 8ccc cccc cccc cccd
+fI[1] = #bfff 8ccc cccc cccc cccc
fI[0] == strtox
@@ -1001,7 +1001,7 @@ g_xfmt(0) gives 21 bytes: "1.1999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 9999 9999 9999 9999
-fI[1] = #3fff 9999 9999 9999 9999
+fI[1] = #3fff 9999 9999 9999 999a
fI[0] == strtox
@@ -1013,7 +1013,7 @@ g_xfmt(0) gives 4 bytes: "-1.2"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 9999 9999 9999 999a
-fI[1] = #bfff 9999 9999 9999 999a
+fI[1] = #bfff 9999 9999 9999 9999
fI[0] == strtox
@@ -1025,7 +1025,7 @@ g_xfmt(0) gives 3 bytes: "1.3"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff a666 6666 6666 6666
-fI[1] = #3fff a666 6666 6666 6666
+fI[1] = #3fff a666 6666 6666 6667
fI[0] == strtox
@@ -1037,7 +1037,7 @@ g_xfmt(0) gives 22 bytes: "-1.3000000000000000001"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff a666 6666 6666 6667
-fI[1] = #bfff a666 6666 6666 6667
+fI[1] = #bfff a666 6666 6666 6666
fI[0] == strtox
@@ -1049,7 +1049,7 @@ g_xfmt(0) gives 3 bytes: "1.4"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff b333 3333 3333 3333
-fI[1] = #3fff b333 3333 3333 3333
+fI[1] = #3fff b333 3333 3333 3334
fI[0] == strtox
@@ -1061,7 +1061,7 @@ g_xfmt(0) gives 22 bytes: "-1.4000000000000000001"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff b333 3333 3333 3334
-fI[1] = #bfff b333 3333 3333 3334
+fI[1] = #bfff b333 3333 3333 3333
fI[0] == strtox
@@ -1093,7 +1093,7 @@ g_xfmt(0) gives 21 bytes: "1.5999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff cccc cccc cccc cccc
-fI[1] = #3fff cccc cccc cccc cccc
+fI[1] = #3fff cccc cccc cccc cccd
fI[0] == strtox
@@ -1105,7 +1105,7 @@ g_xfmt(0) gives 4 bytes: "-1.6"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff cccc cccc cccc cccd
-fI[1] = #bfff cccc cccc cccc cccd
+fI[1] = #bfff cccc cccc cccc cccc
fI[0] == strtox
@@ -1117,7 +1117,7 @@ g_xfmt(0) gives 21 bytes: "1.6999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff d999 9999 9999 9999
-fI[1] = #3fff d999 9999 9999 9999
+fI[1] = #3fff d999 9999 9999 999a
fI[0] == strtox
@@ -1129,7 +1129,7 @@ g_xfmt(0) gives 4 bytes: "-1.7"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff d999 9999 9999 999a
-fI[1] = #bfff d999 9999 9999 999a
+fI[1] = #bfff d999 9999 9999 9999
fI[0] == strtox
@@ -1141,7 +1141,7 @@ g_xfmt(0) gives 3 bytes: "1.8"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff e666 6666 6666 6666
-fI[1] = #3fff e666 6666 6666 6666
+fI[1] = #3fff e666 6666 6666 6667
fI[0] == strtox
@@ -1153,7 +1153,7 @@ g_xfmt(0) gives 22 bytes: "-1.8000000000000000001"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff e666 6666 6666 6667
-fI[1] = #bfff e666 6666 6666 6667
+fI[1] = #bfff e666 6666 6666 6666
fI[0] == strtox
@@ -1165,7 +1165,7 @@ g_xfmt(0) gives 3 bytes: "1.9"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff f333 3333 3333 3333
-fI[1] = #3fff f333 3333 3333 3333
+fI[1] = #3fff f333 3333 3333 3334
fI[0] == strtox
@@ -1177,6 +1177,6 @@ g_xfmt(0) gives 22 bytes: "-1.9000000000000000001"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff f333 3333 3333 3334
-fI[1] = #bfff f333 3333 3333 3334
+fI[1] = #bfff f333 3333 3333 3333
fI[0] == strtox
diff --git a/contrib/gdtoa/test/x.ou1 b/contrib/gdtoa/test/x.ou1
index 3ebe74a..437783f 100644
--- a/contrib/gdtoa/test/x.ou1
+++ b/contrib/gdtoa/test/x.ou1
@@ -9,7 +9,7 @@ g_xfmt(0) gives 4 bytes: "1.23"
strtoIx returns 33, consuming 4 bytes.
fI[0] = #3fff 9d70 a3d7 a3d 70a3
= 1.22999999999999999991
-fI[1] = #3fff 9d70 a3d7 a3d 70a3
+fI[1] = #3fff 9d70 a3d7 a3d 70a4
= 1.23000000000000000002
fI[1] == strtox
@@ -35,7 +35,7 @@ g_xfmt(0) gives 8 bytes: "1.23e-20"
strtoIx returns 17, consuming 8 bytes.
fI[0] = #3fbc e857 267b b3a9 84f2
= 1.22999999999999999997e-20
-fI[1] = #3fbc e857 267b b3a9 84f2
+fI[1] = #3fbc e857 267b b3a9 84f3
= 1.23000000000000000004e-20
fI[0] == strtox
@@ -50,7 +50,7 @@ g_xfmt(0) gives 10 bytes: "1.23456789"
strtoIx returns 33, consuming 10 bytes.
fI[0] = #3fff 9e06 5214 1ef0 dbf5
= 1.23456788999999999992
-fI[1] = #3fff 9e06 5214 1ef0 dbf5
+fI[1] = #3fff 9e06 5214 1ef0 dbf6
= 1.23456789000000000003
fI[1] == strtox
@@ -76,7 +76,7 @@ g_xfmt(0) gives 8 bytes: "1.23e+30"
strtoIx returns 17, consuming 8 bytes.
fI[0] = #4062 f865 8274 7dbc 824a
= 1.22999999999999999999e+30
-fI[1] = #4062 f865 8274 7dbc 824a
+fI[1] = #4062 f865 8274 7dbc 824b
= 1.23000000000000000006e+30
fI[0] == strtox
@@ -91,7 +91,7 @@ g_xfmt(0) gives 8 bytes: "1.23e-30"
strtoIx returns 17, consuming 8 bytes.
fI[0] = #3f9b c794 337a 8085 54eb
= 1.22999999999999999999e-30
-fI[1] = #3f9b c794 337a 8085 54eb
+fI[1] = #3f9b c794 337a 8085 54ec
= 1.23000000000000000007e-30
fI[0] == strtox
@@ -106,7 +106,7 @@ g_xfmt(0) gives 14 bytes: "1.23456789e-20"
strtoIx returns 17, consuming 14 bytes.
fI[0] = #3fbc e934 a38 f3d6 d352
= 1.23456788999999999998e-20
-fI[1] = #3fbc e934 a38 f3d6 d352
+fI[1] = #3fbc e934 a38 f3d6 d353
= 1.23456789000000000005e-20
fI[0] == strtox
@@ -121,7 +121,7 @@ g_xfmt(0) gives 14 bytes: "1.23456789e-30"
strtoIx returns 17, consuming 14 bytes.
fI[0] = #3f9b c851 f19d decc a8fc
= 1.23456788999999999999e-30
-fI[1] = #3f9b c851 f19d decc a8fc
+fI[1] = #3f9b c851 f19d decc a8fd
= 1.23456789000000000007e-30
fI[0] == strtox
@@ -136,7 +136,7 @@ g_xfmt(0) gives 20 bytes: "1.234567890123456789"
strtoIx returns 17, consuming 20 bytes.
fI[0] = #3fff 9e06 5214 62cf db8d
= 1.23456789012345678899
-fI[1] = #3fff 9e06 5214 62cf db8d
+fI[1] = #3fff 9e06 5214 62cf db8e
= 1.23456789012345678909
fI[0] == strtox
@@ -151,7 +151,7 @@ g_xfmt(0) gives 20 bytes: "1.234567890123456789"
strtoIx returns 17, consuming 40 bytes.
fI[0] = #3fff 9e06 5214 62cf db8d
= 1.23456789012345678899
-fI[1] = #3fff 9e06 5214 62cf db8d
+fI[1] = #3fff 9e06 5214 62cf db8e
= 1.23456789012345678909
fI[0] == strtox
@@ -166,7 +166,7 @@ g_xfmt(0) gives 9 bytes: "1.23e+306"
strtoIx returns 17, consuming 8 bytes.
fI[0] = #43f7 e033 b668 e30f a6d5
= 1.22999999999999999997e+306
-fI[1] = #43f7 e033 b668 e30f a6d5
+fI[1] = #43f7 e033 b668 e30f a6d6
= 1.23000000000000000005e+306
fI[0] == strtox
@@ -181,7 +181,7 @@ g_xfmt(0) gives 9 bytes: "1.23e-306"
strtoIx returns 33, consuming 9 bytes.
fI[0] = #3c06 dd1d c2ed 1cb7 3f24
= 1.22999999999999999995e-306
-fI[1] = #3c06 dd1d c2ed 1cb7 3f24
+fI[1] = #3c06 dd1d c2ed 1cb7 3f25
= 1.23000000000000000002e-306
fI[1] == strtox
@@ -196,7 +196,7 @@ g_xfmt(0) gives 9 bytes: "1.23e-320"
strtoIx returns 33, consuming 9 bytes.
fI[0] = #3bd8 9b98 c371 844c 3f19
= 1.22999999999999999991e-320
-fI[1] = #3bd8 9b98 c371 844c 3f19
+fI[1] = #3bd8 9b98 c371 844c 3f1a
= 1.23000000000000000002e-320
fI[1] == strtox
@@ -211,7 +211,7 @@ g_xfmt(0) gives 8 bytes: "1.23e-20"
strtoIx returns 17, consuming 8 bytes.
fI[0] = #3fbc e857 267b b3a9 84f2
= 1.22999999999999999997e-20
-fI[1] = #3fbc e857 267b b3a9 84f2
+fI[1] = #3fbc e857 267b b3a9 84f3
= 1.23000000000000000004e-20
fI[0] == strtox
@@ -226,7 +226,7 @@ g_xfmt(0) gives 15 bytes: "1.23456789e+307"
strtoIx returns 17, consuming 14 bytes.
fI[0] = #43fb 8ca5 8a5e d766 de75
= 1.23456788999999999998e+307
-fI[1] = #43fb 8ca5 8a5e d766 de75
+fI[1] = #43fb 8ca5 8a5e d766 de76
= 1.23456789000000000011e+307
fI[0] == strtox
@@ -241,7 +241,7 @@ g_xfmt(0) gives 15 bytes: "1.23456589e-307"
strtoIx returns 17, consuming 15 bytes.
fI[0] = #3c03 b18c b5dc c22f d369
= 1.23456588999999999999e-307
-fI[1] = #3c03 b18c b5dc c22f d369
+fI[1] = #3c03 b18c b5dc c22f d36a
= 1.23456589000000000009e-307
fI[0] == strtox
@@ -256,7 +256,7 @@ g_xfmt(0) gives 20 bytes: "1.234567890123456789"
strtoIx returns 17, consuming 20 bytes.
fI[0] = #3fff 9e06 5214 62cf db8d
= 1.23456789012345678899
-fI[1] = #3fff 9e06 5214 62cf db8d
+fI[1] = #3fff 9e06 5214 62cf db8e
= 1.23456789012345678909
fI[0] == strtox
@@ -271,7 +271,7 @@ g_xfmt(0) gives 25 bytes: "1.234567890123456789e+301"
strtoIx returns 33, consuming 24 bytes.
fI[0] = #43e7 937a 8baf ab20 980b
= 1.23456789012345678889e+301
-fI[1] = #43e7 937a 8baf ab20 980b
+fI[1] = #43e7 937a 8baf ab20 980c
= 1.234567890123456789e+301
fI[1] == strtox
@@ -286,7 +286,7 @@ g_xfmt(0) gives 25 bytes: "1.234567890123456789e-301"
strtoIx returns 33, consuming 25 bytes.
fI[0] = #3c17 a953 271a 5d06 9ad8
= 1.23456789012345678892e-301
-fI[1] = #3c17 a953 271a 5d06 9ad8
+fI[1] = #3c17 a953 271a 5d06 9ad9
= 1.23456789012345678902e-301
fI[1] == strtox
@@ -301,7 +301,7 @@ g_xfmt(0) gives 25 bytes: "1.234567890123456789e-321"
strtoIx returns 33, consuming 25 bytes.
fI[0] = #3bd4 f9e1 1b4c ea6d cce8
= 1.23456789012345678893e-321
-fI[1] = #3bd4 f9e1 1b4c ea6d cce8
+fI[1] = #3bd4 f9e1 1b4c ea6d cce9
= 1.234567890123456789e-321
fI[1] == strtox
@@ -327,7 +327,7 @@ g_xfmt(0) gives 6 bytes: "1e+310"
strtoIx returns 33, consuming 5 bytes.
fI[0] = #4404 de81 e40a 34b cf4f
= 9.9999999999999999994e+309
-fI[1] = #4404 de81 e40a 34b cf4f
+fI[1] = #4404 de81 e40a 34b cf50
= 1e+310
fI[1] == strtox
@@ -342,7 +342,7 @@ g_xfmt(0) gives 23 bytes: "9.0259718793241475e-277"
strtoIx returns 33, consuming 23 bytes.
fI[0] = #3c69 ffff ffff ffff fcf6
= 9.02597187932414749967e-277
-fI[1] = #3c69 ffff ffff ffff fcf6
+fI[1] = #3c69 ffff ffff ffff fcf7
= 9.02597187932414750016e-277
fI[1] == strtox
@@ -357,7 +357,7 @@ g_xfmt(0) gives 26 bytes: "9.0259718793241478803e-277"
strtoIx returns 17, consuming 37 bytes.
fI[0] = #3c6a 8000 0 0 0
= 9.02597187932414788035e-277
-fI[1] = #3c6a 8000 0 0 0
+fI[1] = #3c6a 8000 0 0 1
= 9.02597187932414788132e-277
fI[0] == strtox
@@ -372,7 +372,7 @@ g_xfmt(0) gives 26 bytes: "9.0259718793241478803e-277"
strtoIx returns 33, consuming 37 bytes.
fI[0] = #3c69 ffff ffff ffff ffff
= 9.02597187932414787986e-277
-fI[1] = #3c6a 8000 0 ffff ffff
+fI[1] = #3c6a 8000 0 0 0
= 9.02597187932414788035e-277
fI[1] == strtox
@@ -387,7 +387,7 @@ g_xfmt(0) gives 23 bytes: "2.2250738585072014e-308"
strtoIx returns 17, consuming 23 bytes.
fI[0] = #3c01 8000 0 0 46
= 2.22507385850720139998e-308
-fI[1] = #3c01 8000 0 0 46
+fI[1] = #3c01 8000 0 0 47
= 2.22507385850720140022e-308
fI[0] == strtox
@@ -402,7 +402,7 @@ g_xfmt(0) gives 23 bytes: "2.2250738585072013e-308"
strtoIx returns 17, consuming 23 bytes.
fI[0] = #3c00 ffff ffff ffff fd4f
= 2.22507385850720129998e-308
-fI[1] = #3c00 ffff ffff ffff fd4f
+fI[1] = #3c00 ffff ffff ffff fd50
= 2.2250738585072013001e-308
fI[0] == strtox
@@ -418,7 +418,7 @@ g_xfmt(0) gives 21 bytes: "1.0999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 8ccc cccc cccc cccc
= 1.09999999999999999991
-fI[1] = #3fff 8ccc cccc cccc cccc
+fI[1] = #3fff 8ccc cccc cccc cccd
= 1.10000000000000000002
fI[0] == strtox
@@ -433,7 +433,7 @@ g_xfmt(0) gives 22 bytes: "-1.0999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 8ccc cccc cccc cccd
= -1.10000000000000000002
-fI[1] = #bfff 8ccc cccc cccc cccd
+fI[1] = #bfff 8ccc cccc cccc cccc
= -1.09999999999999999991
fI[1] == strtox
@@ -448,7 +448,7 @@ g_xfmt(0) gives 21 bytes: "1.1999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 9999 9999 9999 9999
= 1.19999999999999999993
-fI[1] = #3fff 9999 9999 9999 9999
+fI[1] = #3fff 9999 9999 9999 999a
= 1.20000000000000000004
fI[0] == strtox
@@ -463,7 +463,7 @@ g_xfmt(0) gives 22 bytes: "-1.1999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 9999 9999 9999 999a
= -1.20000000000000000004
-fI[1] = #bfff 9999 9999 9999 999a
+fI[1] = #bfff 9999 9999 9999 9999
= -1.19999999999999999993
fI[1] == strtox
@@ -478,7 +478,7 @@ g_xfmt(0) gives 3 bytes: "1.3"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff a666 6666 6666 6666
= 1.29999999999999999996
-fI[1] = #3fff a666 6666 6666 6666
+fI[1] = #3fff a666 6666 6666 6667
= 1.30000000000000000007
fI[0] == strtox
@@ -493,7 +493,7 @@ g_xfmt(0) gives 4 bytes: "-1.3"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff a666 6666 6666 6667
= -1.30000000000000000007
-fI[1] = #bfff a666 6666 6666 6667
+fI[1] = #bfff a666 6666 6666 6666
= -1.29999999999999999996
fI[1] == strtox
@@ -508,7 +508,7 @@ g_xfmt(0) gives 3 bytes: "1.4"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff b333 3333 3333 3333
= 1.39999999999999999998
-fI[1] = #3fff b333 3333 3333 3333
+fI[1] = #3fff b333 3333 3333 3334
= 1.40000000000000000009
fI[0] == strtox
@@ -523,7 +523,7 @@ g_xfmt(0) gives 4 bytes: "-1.4"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff b333 3333 3333 3334
= -1.40000000000000000009
-fI[1] = #bfff b333 3333 3333 3334
+fI[1] = #bfff b333 3333 3333 3333
= -1.39999999999999999998
fI[1] == strtox
@@ -560,7 +560,7 @@ g_xfmt(0) gives 21 bytes: "1.5999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff cccc cccc cccc cccc
= 1.59999999999999999991
-fI[1] = #3fff cccc cccc cccc cccc
+fI[1] = #3fff cccc cccc cccc cccd
= 1.60000000000000000002
fI[0] == strtox
@@ -575,7 +575,7 @@ g_xfmt(0) gives 22 bytes: "-1.5999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff cccc cccc cccc cccd
= -1.60000000000000000002
-fI[1] = #bfff cccc cccc cccc cccd
+fI[1] = #bfff cccc cccc cccc cccc
= -1.59999999999999999991
fI[1] == strtox
@@ -590,7 +590,7 @@ g_xfmt(0) gives 21 bytes: "1.6999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff d999 9999 9999 9999
= 1.69999999999999999993
-fI[1] = #3fff d999 9999 9999 9999
+fI[1] = #3fff d999 9999 9999 999a
= 1.70000000000000000004
fI[0] == strtox
@@ -605,7 +605,7 @@ g_xfmt(0) gives 22 bytes: "-1.6999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff d999 9999 9999 999a
= -1.70000000000000000004
-fI[1] = #bfff d999 9999 9999 999a
+fI[1] = #bfff d999 9999 9999 9999
= -1.69999999999999999993
fI[1] == strtox
@@ -620,7 +620,7 @@ g_xfmt(0) gives 3 bytes: "1.8"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff e666 6666 6666 6666
= 1.79999999999999999996
-fI[1] = #3fff e666 6666 6666 6666
+fI[1] = #3fff e666 6666 6666 6667
= 1.80000000000000000007
fI[0] == strtox
@@ -635,7 +635,7 @@ g_xfmt(0) gives 4 bytes: "-1.8"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff e666 6666 6666 6667
= -1.80000000000000000007
-fI[1] = #bfff e666 6666 6666 6667
+fI[1] = #bfff e666 6666 6666 6666
= -1.79999999999999999996
fI[1] == strtox
@@ -650,7 +650,7 @@ g_xfmt(0) gives 3 bytes: "1.9"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff f333 3333 3333 3333
= 1.89999999999999999998
-fI[1] = #3fff f333 3333 3333 3333
+fI[1] = #3fff f333 3333 3333 3334
= 1.90000000000000000009
fI[0] == strtox
@@ -665,7 +665,7 @@ g_xfmt(0) gives 4 bytes: "-1.9"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff f333 3333 3333 3334
= -1.90000000000000000009
-fI[1] = #bfff f333 3333 3333 3334
+fI[1] = #bfff f333 3333 3333 3333
= -1.89999999999999999998
fI[1] == strtox
@@ -681,7 +681,7 @@ g_xfmt(0) gives 3 bytes: "1.1"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 8ccc cccc cccc cccc
= 1.09999999999999999991
-fI[1] = #3fff 8ccc cccc cccc cccc
+fI[1] = #3fff 8ccc cccc cccc cccd
= 1.10000000000000000002
fI[1] == strtox
@@ -696,7 +696,7 @@ g_xfmt(0) gives 4 bytes: "-1.1"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 8ccc cccc cccc cccd
= -1.10000000000000000002
-fI[1] = #bfff 8ccc cccc cccc cccd
+fI[1] = #bfff 8ccc cccc cccc cccc
= -1.09999999999999999991
fI[0] == strtox
@@ -711,7 +711,7 @@ g_xfmt(0) gives 3 bytes: "1.2"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 9999 9999 9999 9999
= 1.19999999999999999993
-fI[1] = #3fff 9999 9999 9999 9999
+fI[1] = #3fff 9999 9999 9999 999a
= 1.20000000000000000004
fI[1] == strtox
@@ -726,7 +726,7 @@ g_xfmt(0) gives 4 bytes: "-1.2"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 9999 9999 9999 999a
= -1.20000000000000000004
-fI[1] = #bfff 9999 9999 9999 999a
+fI[1] = #bfff 9999 9999 9999 9999
= -1.19999999999999999993
fI[0] == strtox
@@ -741,7 +741,7 @@ g_xfmt(0) gives 3 bytes: "1.3"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff a666 6666 6666 6666
= 1.29999999999999999996
-fI[1] = #3fff a666 6666 6666 6666
+fI[1] = #3fff a666 6666 6666 6667
= 1.30000000000000000007
fI[0] == strtox
@@ -756,7 +756,7 @@ g_xfmt(0) gives 4 bytes: "-1.3"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff a666 6666 6666 6667
= -1.30000000000000000007
-fI[1] = #bfff a666 6666 6666 6667
+fI[1] = #bfff a666 6666 6666 6666
= -1.29999999999999999996
fI[1] == strtox
@@ -771,7 +771,7 @@ g_xfmt(0) gives 3 bytes: "1.4"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff b333 3333 3333 3333
= 1.39999999999999999998
-fI[1] = #3fff b333 3333 3333 3333
+fI[1] = #3fff b333 3333 3333 3334
= 1.40000000000000000009
fI[0] == strtox
@@ -786,7 +786,7 @@ g_xfmt(0) gives 4 bytes: "-1.4"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff b333 3333 3333 3334
= -1.40000000000000000009
-fI[1] = #bfff b333 3333 3333 3334
+fI[1] = #bfff b333 3333 3333 3333
= -1.39999999999999999998
fI[1] == strtox
@@ -823,7 +823,7 @@ g_xfmt(0) gives 3 bytes: "1.6"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff cccc cccc cccc cccc
= 1.59999999999999999991
-fI[1] = #3fff cccc cccc cccc cccc
+fI[1] = #3fff cccc cccc cccc cccd
= 1.60000000000000000002
fI[1] == strtox
@@ -838,7 +838,7 @@ g_xfmt(0) gives 4 bytes: "-1.6"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff cccc cccc cccc cccd
= -1.60000000000000000002
-fI[1] = #bfff cccc cccc cccc cccd
+fI[1] = #bfff cccc cccc cccc cccc
= -1.59999999999999999991
fI[0] == strtox
@@ -853,7 +853,7 @@ g_xfmt(0) gives 3 bytes: "1.7"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff d999 9999 9999 9999
= 1.69999999999999999993
-fI[1] = #3fff d999 9999 9999 9999
+fI[1] = #3fff d999 9999 9999 999a
= 1.70000000000000000004
fI[1] == strtox
@@ -868,7 +868,7 @@ g_xfmt(0) gives 4 bytes: "-1.7"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff d999 9999 9999 999a
= -1.70000000000000000004
-fI[1] = #bfff d999 9999 9999 999a
+fI[1] = #bfff d999 9999 9999 9999
= -1.69999999999999999993
fI[0] == strtox
@@ -883,7 +883,7 @@ g_xfmt(0) gives 3 bytes: "1.8"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff e666 6666 6666 6666
= 1.79999999999999999996
-fI[1] = #3fff e666 6666 6666 6666
+fI[1] = #3fff e666 6666 6666 6667
= 1.80000000000000000007
fI[0] == strtox
@@ -898,7 +898,7 @@ g_xfmt(0) gives 4 bytes: "-1.8"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff e666 6666 6666 6667
= -1.80000000000000000007
-fI[1] = #bfff e666 6666 6666 6667
+fI[1] = #bfff e666 6666 6666 6666
= -1.79999999999999999996
fI[1] == strtox
@@ -913,7 +913,7 @@ g_xfmt(0) gives 3 bytes: "1.9"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff f333 3333 3333 3333
= 1.89999999999999999998
-fI[1] = #3fff f333 3333 3333 3333
+fI[1] = #3fff f333 3333 3333 3334
= 1.90000000000000000009
fI[0] == strtox
@@ -928,7 +928,7 @@ g_xfmt(0) gives 4 bytes: "-1.9"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff f333 3333 3333 3334
= -1.90000000000000000009
-fI[1] = #bfff f333 3333 3333 3334
+fI[1] = #bfff f333 3333 3333 3333
= -1.89999999999999999998
fI[1] == strtox
@@ -944,7 +944,7 @@ g_xfmt(0) gives 3 bytes: "1.1"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 8ccc cccc cccc cccc
= 1.09999999999999999991
-fI[1] = #3fff 8ccc cccc cccc cccc
+fI[1] = #3fff 8ccc cccc cccc cccd
= 1.10000000000000000002
fI[1] == strtox
@@ -959,7 +959,7 @@ g_xfmt(0) gives 22 bytes: "-1.0999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 8ccc cccc cccc cccd
= -1.10000000000000000002
-fI[1] = #bfff 8ccc cccc cccc cccd
+fI[1] = #bfff 8ccc cccc cccc cccc
= -1.09999999999999999991
fI[1] == strtox
@@ -974,7 +974,7 @@ g_xfmt(0) gives 3 bytes: "1.2"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 9999 9999 9999 9999
= 1.19999999999999999993
-fI[1] = #3fff 9999 9999 9999 9999
+fI[1] = #3fff 9999 9999 9999 999a
= 1.20000000000000000004
fI[1] == strtox
@@ -989,7 +989,7 @@ g_xfmt(0) gives 22 bytes: "-1.1999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 9999 9999 9999 999a
= -1.20000000000000000004
-fI[1] = #bfff 9999 9999 9999 999a
+fI[1] = #bfff 9999 9999 9999 9999
= -1.19999999999999999993
fI[1] == strtox
@@ -1004,7 +1004,7 @@ g_xfmt(0) gives 21 bytes: "1.3000000000000000001"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff a666 6666 6666 6666
= 1.29999999999999999996
-fI[1] = #3fff a666 6666 6666 6666
+fI[1] = #3fff a666 6666 6666 6667
= 1.30000000000000000007
fI[1] == strtox
@@ -1019,7 +1019,7 @@ g_xfmt(0) gives 4 bytes: "-1.3"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff a666 6666 6666 6667
= -1.30000000000000000007
-fI[1] = #bfff a666 6666 6666 6667
+fI[1] = #bfff a666 6666 6666 6666
= -1.29999999999999999996
fI[1] == strtox
@@ -1034,7 +1034,7 @@ g_xfmt(0) gives 21 bytes: "1.4000000000000000001"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff b333 3333 3333 3333
= 1.39999999999999999998
-fI[1] = #3fff b333 3333 3333 3333
+fI[1] = #3fff b333 3333 3333 3334
= 1.40000000000000000009
fI[1] == strtox
@@ -1049,7 +1049,7 @@ g_xfmt(0) gives 4 bytes: "-1.4"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff b333 3333 3333 3334
= -1.40000000000000000009
-fI[1] = #bfff b333 3333 3333 3334
+fI[1] = #bfff b333 3333 3333 3333
= -1.39999999999999999998
fI[1] == strtox
@@ -1086,7 +1086,7 @@ g_xfmt(0) gives 3 bytes: "1.6"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff cccc cccc cccc cccc
= 1.59999999999999999991
-fI[1] = #3fff cccc cccc cccc cccc
+fI[1] = #3fff cccc cccc cccc cccd
= 1.60000000000000000002
fI[1] == strtox
@@ -1101,7 +1101,7 @@ g_xfmt(0) gives 22 bytes: "-1.5999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff cccc cccc cccc cccd
= -1.60000000000000000002
-fI[1] = #bfff cccc cccc cccc cccd
+fI[1] = #bfff cccc cccc cccc cccc
= -1.59999999999999999991
fI[1] == strtox
@@ -1116,7 +1116,7 @@ g_xfmt(0) gives 3 bytes: "1.7"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff d999 9999 9999 9999
= 1.69999999999999999993
-fI[1] = #3fff d999 9999 9999 9999
+fI[1] = #3fff d999 9999 9999 999a
= 1.70000000000000000004
fI[1] == strtox
@@ -1131,7 +1131,7 @@ g_xfmt(0) gives 22 bytes: "-1.6999999999999999999"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff d999 9999 9999 999a
= -1.70000000000000000004
-fI[1] = #bfff d999 9999 9999 999a
+fI[1] = #bfff d999 9999 9999 9999
= -1.69999999999999999993
fI[1] == strtox
@@ -1146,7 +1146,7 @@ g_xfmt(0) gives 21 bytes: "1.8000000000000000001"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff e666 6666 6666 6666
= 1.79999999999999999996
-fI[1] = #3fff e666 6666 6666 6666
+fI[1] = #3fff e666 6666 6666 6667
= 1.80000000000000000007
fI[1] == strtox
@@ -1161,7 +1161,7 @@ g_xfmt(0) gives 4 bytes: "-1.8"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff e666 6666 6666 6667
= -1.80000000000000000007
-fI[1] = #bfff e666 6666 6666 6667
+fI[1] = #bfff e666 6666 6666 6666
= -1.79999999999999999996
fI[1] == strtox
@@ -1176,7 +1176,7 @@ g_xfmt(0) gives 21 bytes: "1.9000000000000000001"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff f333 3333 3333 3333
= 1.89999999999999999998
-fI[1] = #3fff f333 3333 3333 3333
+fI[1] = #3fff f333 3333 3333 3334
= 1.90000000000000000009
fI[1] == strtox
@@ -1191,7 +1191,7 @@ g_xfmt(0) gives 4 bytes: "-1.9"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff f333 3333 3333 3334
= -1.90000000000000000009
-fI[1] = #bfff f333 3333 3333 3334
+fI[1] = #bfff f333 3333 3333 3333
= -1.89999999999999999998
fI[1] == strtox
@@ -1207,7 +1207,7 @@ g_xfmt(0) gives 21 bytes: "1.0999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 8ccc cccc cccc cccc
= 1.09999999999999999991
-fI[1] = #3fff 8ccc cccc cccc cccc
+fI[1] = #3fff 8ccc cccc cccc cccd
= 1.10000000000000000002
fI[0] == strtox
@@ -1222,7 +1222,7 @@ g_xfmt(0) gives 4 bytes: "-1.1"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 8ccc cccc cccc cccd
= -1.10000000000000000002
-fI[1] = #bfff 8ccc cccc cccc cccd
+fI[1] = #bfff 8ccc cccc cccc cccc
= -1.09999999999999999991
fI[0] == strtox
@@ -1237,7 +1237,7 @@ g_xfmt(0) gives 21 bytes: "1.1999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff 9999 9999 9999 9999
= 1.19999999999999999993
-fI[1] = #3fff 9999 9999 9999 9999
+fI[1] = #3fff 9999 9999 9999 999a
= 1.20000000000000000004
fI[0] == strtox
@@ -1252,7 +1252,7 @@ g_xfmt(0) gives 4 bytes: "-1.2"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff 9999 9999 9999 999a
= -1.20000000000000000004
-fI[1] = #bfff 9999 9999 9999 999a
+fI[1] = #bfff 9999 9999 9999 9999
= -1.19999999999999999993
fI[0] == strtox
@@ -1267,7 +1267,7 @@ g_xfmt(0) gives 3 bytes: "1.3"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff a666 6666 6666 6666
= 1.29999999999999999996
-fI[1] = #3fff a666 6666 6666 6666
+fI[1] = #3fff a666 6666 6666 6667
= 1.30000000000000000007
fI[0] == strtox
@@ -1282,7 +1282,7 @@ g_xfmt(0) gives 22 bytes: "-1.3000000000000000001"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff a666 6666 6666 6667
= -1.30000000000000000007
-fI[1] = #bfff a666 6666 6666 6667
+fI[1] = #bfff a666 6666 6666 6666
= -1.29999999999999999996
fI[0] == strtox
@@ -1297,7 +1297,7 @@ g_xfmt(0) gives 3 bytes: "1.4"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff b333 3333 3333 3333
= 1.39999999999999999998
-fI[1] = #3fff b333 3333 3333 3333
+fI[1] = #3fff b333 3333 3333 3334
= 1.40000000000000000009
fI[0] == strtox
@@ -1312,7 +1312,7 @@ g_xfmt(0) gives 22 bytes: "-1.4000000000000000001"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff b333 3333 3333 3334
= -1.40000000000000000009
-fI[1] = #bfff b333 3333 3333 3334
+fI[1] = #bfff b333 3333 3333 3333
= -1.39999999999999999998
fI[0] == strtox
@@ -1349,7 +1349,7 @@ g_xfmt(0) gives 21 bytes: "1.5999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff cccc cccc cccc cccc
= 1.59999999999999999991
-fI[1] = #3fff cccc cccc cccc cccc
+fI[1] = #3fff cccc cccc cccc cccd
= 1.60000000000000000002
fI[0] == strtox
@@ -1364,7 +1364,7 @@ g_xfmt(0) gives 4 bytes: "-1.6"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff cccc cccc cccc cccd
= -1.60000000000000000002
-fI[1] = #bfff cccc cccc cccc cccd
+fI[1] = #bfff cccc cccc cccc cccc
= -1.59999999999999999991
fI[0] == strtox
@@ -1379,7 +1379,7 @@ g_xfmt(0) gives 21 bytes: "1.6999999999999999999"
strtoIx returns 33, consuming 3 bytes.
fI[0] = #3fff d999 9999 9999 9999
= 1.69999999999999999993
-fI[1] = #3fff d999 9999 9999 9999
+fI[1] = #3fff d999 9999 9999 999a
= 1.70000000000000000004
fI[0] == strtox
@@ -1394,7 +1394,7 @@ g_xfmt(0) gives 4 bytes: "-1.7"
strtoIx returns 41, consuming 4 bytes.
fI[0] = #bfff d999 9999 9999 999a
= -1.70000000000000000004
-fI[1] = #bfff d999 9999 9999 999a
+fI[1] = #bfff d999 9999 9999 9999
= -1.69999999999999999993
fI[0] == strtox
@@ -1409,7 +1409,7 @@ g_xfmt(0) gives 3 bytes: "1.8"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff e666 6666 6666 6666
= 1.79999999999999999996
-fI[1] = #3fff e666 6666 6666 6666
+fI[1] = #3fff e666 6666 6666 6667
= 1.80000000000000000007
fI[0] == strtox
@@ -1424,7 +1424,7 @@ g_xfmt(0) gives 22 bytes: "-1.8000000000000000001"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff e666 6666 6666 6667
= -1.80000000000000000007
-fI[1] = #bfff e666 6666 6666 6667
+fI[1] = #bfff e666 6666 6666 6666
= -1.79999999999999999996
fI[0] == strtox
@@ -1439,7 +1439,7 @@ g_xfmt(0) gives 3 bytes: "1.9"
strtoIx returns 17, consuming 3 bytes.
fI[0] = #3fff f333 3333 3333 3333
= 1.89999999999999999998
-fI[1] = #3fff f333 3333 3333 3333
+fI[1] = #3fff f333 3333 3333 3334
= 1.90000000000000000009
fI[0] == strtox
@@ -1454,7 +1454,7 @@ g_xfmt(0) gives 22 bytes: "-1.9000000000000000001"
strtoIx returns 25, consuming 4 bytes.
fI[0] = #bfff f333 3333 3333 3334
= -1.90000000000000000009
-fI[1] = #bfff f333 3333 3333 3334
+fI[1] = #bfff f333 3333 3333 3333
= -1.89999999999999999998
fI[0] == strtox
diff --git a/contrib/gdtoa/test/xL.ou1 b/contrib/gdtoa/test/xL.ou1
index 054690e..c22d0f4 100644
--- a/contrib/gdtoa/test/xL.ou1
+++ b/contrib/gdtoa/test/xL.ou1
@@ -1,14 +1,18 @@
***** This file is not right. It needs to be generated on a
***** system with a Motorla 68881 or the equivalent.
+
Input: 1.23
strtoxL consumes 4 bytes and returns 33
with bits = #3fff0000 9d70a3d7 a3d70a4
+printf("%.21Lg") gives 7.73283722915781506499e-4933
g_xLfmt(0) gives 4 bytes: "1.23"
strtoIxL returns 33, consuming 4 bytes.
fI[0] = #3fff0000 9d70a3d7 a3d70a3
+= 7.73283722915781506134e-4933
fI[1] = #3fff0000 9d70a3d7 a3d70a4
+= 7.73283722915781506499e-4933
fI[1] == strtoxL
@@ -16,6 +20,7 @@ Input: 1.23e+20
strtoxL consumes 8 bytes and returns 1
with bits = #40410000 d55ef90a 2da18000
+printf("%.21Lg") gives 2.24239113715721119512e-4932
g_xLfmt(0) gives 8 bytes: "1.23e+20"
strtoIxL returns 1, consuming 8 bytes.
@@ -26,11 +31,14 @@ Input: 1.23e-20
strtoxL consumes 8 bytes and returns 17
with bits = #3fbc0000 e857267b b3a984f2
+printf("%.21Lg") gives 2.74065070995958800375e-4932
g_xLfmt(0) gives 8 bytes: "1.23e-20"
strtoIxL returns 17, consuming 8 bytes.
fI[0] = #3fbc0000 e857267b b3a984f2
+= 2.74065070995958800375e-4932
fI[1] = #3fbc0000 e857267b b3a984f3
+= 2.74065070995958800411e-4932
fI[0] == strtoxL
@@ -38,11 +46,14 @@ Input: 1.23456789
strtoxL consumes 10 bytes and returns 33
with bits = #3fff0000 9e065214 1ef0dbf6
+printf("%.21Lg") gives 7.88641440242171807354e-4933
g_xLfmt(0) gives 10 bytes: "1.23456789"
strtoIxL returns 33, consuming 10 bytes.
fI[0] = #3fff0000 9e065214 1ef0dbf5
+= 7.8864144024217180699e-4933
fI[1] = #3fff0000 9e065214 1ef0dbf6
+= 7.88641440242171807354e-4933
fI[1] == strtoxL
@@ -50,6 +61,7 @@ Input: 1.23456589e+20
strtoxL consumes 14 bytes and returns 1
with bits = #40410000 d629bd33 5ccba00
+printf("%.21Lg") gives 2.26319561227049478508e-4932
g_xLfmt(0) gives 14 bytes: "1.23456589e+20"
strtoIxL returns 1, consuming 14 bytes.
@@ -60,11 +72,14 @@ Input: 1.23e+30
strtoxL consumes 8 bytes and returns 17
with bits = #40620000 f8658274 7dbc824a
+printf("%.21Lg") gives 3.16238691003557160385e-4932
g_xLfmt(0) gives 8 bytes: "1.23e+30"
strtoIxL returns 17, consuming 8 bytes.
fI[0] = #40620000 f8658274 7dbc824a
+= 3.16238691003557160385e-4932
fI[1] = #40620000 f8658274 7dbc824b
+= 3.16238691003557160421e-4932
fI[0] == strtoxL
@@ -72,11 +87,14 @@ Input: 1.23e-30
strtoxL consumes 8 bytes and returns 17
with bits = #3f9b0000 c794337a 808554eb
+printf("%.21Lg") gives 1.88012249978407873966e-4932
g_xLfmt(0) gives 8 bytes: "1.23e-30"
strtoIxL returns 17, consuming 8 bytes.
fI[0] = #3f9b0000 c794337a 808554eb
+= 1.88012249978407873966e-4932
fI[1] = #3f9b0000 c794337a 808554ec
+= 1.88012249978407874003e-4932
fI[0] == strtoxL
@@ -84,11 +102,14 @@ Input: 1.23456789e-20
strtoxL consumes 14 bytes and returns 17
with bits = #3fbc0000 e9340a38 f3d6d352
+printf("%.21Lg") gives 2.76331470044569174626e-4932
g_xLfmt(0) gives 14 bytes: "1.23456789e-20"
strtoIxL returns 17, consuming 14 bytes.
fI[0] = #3fbc0000 e9340a38 f3d6d352
+= 2.76331470044569174626e-4932
fI[1] = #3fbc0000 e9340a38 f3d6d353
+= 2.76331470044569174663e-4932
fI[0] == strtoxL
@@ -96,11 +117,14 @@ Input: 1.23456789e-30
strtoxL consumes 14 bytes and returns 17
with bits = #3f9b0000 c851f19d decca8fc
+printf("%.21Lg") gives 1.89959071937101288293e-4932
g_xLfmt(0) gives 14 bytes: "1.23456789e-30"
strtoIxL returns 17, consuming 14 bytes.
fI[0] = #3f9b0000 c851f19d decca8fc
+= 1.89959071937101288293e-4932
fI[1] = #3f9b0000 c851f19d decca8fd
+= 1.89959071937101288329e-4932
fI[0] == strtoxL
@@ -108,11 +132,14 @@ Input: 1.234567890123456789
strtoxL consumes 20 bytes and returns 17
with bits = #3fff0000 9e065214 62cfdb8d
+printf("%.21Lg") gives 7.88641440657246265535e-4933
g_xLfmt(0) gives 20 bytes: "1.234567890123456789"
strtoIxL returns 17, consuming 20 bytes.
fI[0] = #3fff0000 9e065214 62cfdb8d
+= 7.88641440657246265535e-4933
fI[1] = #3fff0000 9e065214 62cfdb8e
+= 7.886414406572462659e-4933
fI[0] == strtoxL
@@ -120,11 +147,14 @@ Input: 1.23456789012345678901234567890123456789
strtoxL consumes 40 bytes and returns 17
with bits = #3fff0000 9e065214 62cfdb8d
+printf("%.21Lg") gives 7.88641440657246265535e-4933
g_xLfmt(0) gives 20 bytes: "1.234567890123456789"
strtoIxL returns 17, consuming 40 bytes.
fI[0] = #3fff0000 9e065214 62cfdb8d
+= 7.88641440657246265535e-4933
fI[1] = #3fff0000 9e065214 62cfdb8e
+= 7.886414406572462659e-4933
fI[0] == strtoxL
@@ -132,11 +162,14 @@ Input: 1.23e306
strtoxL consumes 8 bytes and returns 17
with bits = #43f70000 e033b668 e30fa6d5
+printf("%.21Lg") gives 2.52688323155200052759e-4932
g_xLfmt(0) gives 9 bytes: "1.23e+306"
strtoIxL returns 17, consuming 8 bytes.
fI[0] = #43f70000 e033b668 e30fa6d5
+= 2.52688323155200052759e-4932
fI[1] = #43f70000 e033b668 e30fa6d6
+= 2.52688323155200052796e-4932
fI[0] == strtoxL
@@ -144,11 +177,14 @@ Input: 1.23e-306
strtoxL consumes 9 bytes and returns 33
with bits = #3c060000 dd1dc2ed 1cb73f25
+printf("%.21Lg") gives 2.44583168427704605801e-4932
g_xLfmt(0) gives 9 bytes: "1.23e-306"
strtoIxL returns 33, consuming 9 bytes.
fI[0] = #3c060000 dd1dc2ed 1cb73f24
+= 2.44583168427704605765e-4932
fI[1] = #3c060000 dd1dc2ed 1cb73f25
+= 2.44583168427704605801e-4932
fI[1] == strtoxL
@@ -156,11 +192,14 @@ Input: 1.23e-320
strtoxL consumes 9 bytes and returns 33
with bits = #3bd80000 9b98c371 844c3f1a
+printf("%.21Lg") gives 7.24867657578821329238e-4933
g_xLfmt(0) gives 9 bytes: "1.23e-320"
strtoIxL returns 33, consuming 9 bytes.
fI[0] = #3bd80000 9b98c371 844c3f19
+= 7.24867657578821328874e-4933
fI[1] = #3bd80000 9b98c371 844c3f1a
+= 7.24867657578821329238e-4933
fI[1] == strtoxL
@@ -168,11 +207,14 @@ Input: 1.23e-20
strtoxL consumes 8 bytes and returns 17
with bits = #3fbc0000 e857267b b3a984f2
+printf("%.21Lg") gives 2.74065070995958800375e-4932
g_xLfmt(0) gives 8 bytes: "1.23e-20"
strtoIxL returns 17, consuming 8 bytes.
fI[0] = #3fbc0000 e857267b b3a984f2
+= 2.74065070995958800375e-4932
fI[1] = #3fbc0000 e857267b b3a984f3
+= 2.74065070995958800411e-4932
fI[0] == strtoxL
@@ -180,11 +222,14 @@ Input: 1.23456789e307
strtoxL consumes 14 bytes and returns 17
with bits = #43fb0000 8ca58a5e d766de75
+printf("%.21Lg") gives 3.32182163192682931854e-4933
g_xLfmt(0) gives 15 bytes: "1.23456789e+307"
strtoIxL returns 17, consuming 14 bytes.
fI[0] = #43fb0000 8ca58a5e d766de75
+= 3.32182163192682931854e-4933
fI[1] = #43fb0000 8ca58a5e d766de76
+= 3.32182163192682932219e-4933
fI[0] == strtoxL
@@ -192,11 +237,14 @@ Input: 1.23456589e-307
strtoxL consumes 15 bytes and returns 17
with bits = #3c030000 b18cb5dc c22fd369
+printf("%.21Lg") gives 1.30149245314004923345e-4932
g_xLfmt(0) gives 15 bytes: "1.23456589e-307"
strtoIxL returns 17, consuming 15 bytes.
fI[0] = #3c030000 b18cb5dc c22fd369
+= 1.30149245314004923345e-4932
fI[1] = #3c030000 b18cb5dc c22fd36a
+= 1.30149245314004923382e-4932
fI[0] == strtoxL
@@ -204,11 +252,14 @@ Input: 1.234567890123456789
strtoxL consumes 20 bytes and returns 17
with bits = #3fff0000 9e065214 62cfdb8d
+printf("%.21Lg") gives 7.88641440657246265535e-4933
g_xLfmt(0) gives 20 bytes: "1.234567890123456789"
strtoIxL returns 17, consuming 20 bytes.
fI[0] = #3fff0000 9e065214 62cfdb8d
+= 7.88641440657246265535e-4933
fI[1] = #3fff0000 9e065214 62cfdb8e
+= 7.886414406572462659e-4933
fI[0] == strtoxL
@@ -216,11 +267,14 @@ Input: 1.234567890123456789e301
strtoxL consumes 24 bytes and returns 33
with bits = #43e70000 937a8baf ab20980c
+printf("%.21Lg") gives 5.11635766619117643114e-4933
g_xLfmt(0) gives 25 bytes: "1.234567890123456789e+301"
strtoIxL returns 33, consuming 24 bytes.
fI[0] = #43e70000 937a8baf ab20980b
+= 5.1163576661911764275e-4933
fI[1] = #43e70000 937a8baf ab20980c
+= 5.11635766619117643114e-4933
fI[1] == strtoxL
@@ -228,11 +282,14 @@ Input: 1.234567890123456789e-301
strtoxL consumes 25 bytes and returns 33
with bits = #3c170000 a953271a 5d069ad9
+printf("%.21Lg") gives 1.08545540462853463561e-4932
g_xLfmt(0) gives 25 bytes: "1.234567890123456789e-301"
strtoIxL returns 33, consuming 25 bytes.
fI[0] = #3c170000 a953271a 5d069ad8
+= 1.08545540462853463524e-4932
fI[1] = #3c170000 a953271a 5d069ad9
+= 1.08545540462853463561e-4932
fI[1] == strtoxL
@@ -240,11 +297,14 @@ Input: 1.234567890123456789e-321
strtoxL consumes 25 bytes and returns 33
with bits = #3bd40000 f9e11b4c ea6dcce9
+printf("%.21Lg") gives 3.20133479952876185942e-4932
g_xLfmt(0) gives 25 bytes: "1.234567890123456789e-321"
strtoIxL returns 33, consuming 25 bytes.
fI[0] = #3bd40000 f9e11b4c ea6dcce8
+= 3.20133479952876185905e-4932
fI[1] = #3bd40000 f9e11b4c ea6dcce9
+= 3.20133479952876185942e-4932
fI[1] == strtoxL
@@ -252,6 +312,7 @@ Input: 1e23
strtoxL consumes 4 bytes and returns 1
with bits = #404b0000 a968163f a57b400
+printf("%.21Lg") gives 1.08760331670538037378e-4932
g_xLfmt(0) gives 5 bytes: "1e+23"
strtoIxL returns 1, consuming 4 bytes.
@@ -262,11 +323,14 @@ Input: 1e310
strtoxL consumes 5 bytes and returns 33
with bits = #44040000 de81e40a 34bcf50
+printf("%.21Lg") gives 2.48237171106260601618e-4932
g_xLfmt(0) gives 6 bytes: "1e+310"
strtoIxL returns 33, consuming 5 bytes.
fI[0] = #44040000 de81e40a 34bcf4f
+= 2.48237171106260601582e-4932
fI[1] = #44040000 de81e40a 34bcf50
+= 2.48237171106260601618e-4932
fI[1] == strtoxL
@@ -274,11 +338,14 @@ Input: 9.0259718793241475e-277
strtoxL consumes 23 bytes and returns 33
with bits = #3c690000 ffffffff fffffcf7
+printf("%.21Lg") gives 3.36210314311209322303e-4932
g_xLfmt(0) gives 23 bytes: "9.0259718793241475e-277"
strtoIxL returns 33, consuming 23 bytes.
fI[0] = #3c690000 ffffffff fffffcf6
+= 3.36210314311209322267e-4932
fI[1] = #3c690000 ffffffff fffffcf7
+= 3.36210314311209322303e-4932
fI[1] == strtoxL
@@ -286,11 +353,14 @@ Input: 9.025971879324147880346310405869e-277
strtoxL consumes 37 bytes and returns 17
with bits = #3c6a0000 80000000 0
+printf("%.21Lg") gives 3.36210314311209350626e-4932
g_xLfmt(0) gives 26 bytes: "9.0259718793241478803e-277"
strtoIxL returns 17, consuming 37 bytes.
fI[0] = #3c6a0000 80000000 0
+= 3.36210314311209350626e-4932
fI[1] = #3c6a0000 80000000 1
+= 3.64519953188247460253e-4951
fI[0] == strtoxL
@@ -298,11 +368,14 @@ Input: 9.025971879324147880346310405868e-277
strtoxL consumes 37 bytes and returns 33
with bits = #3c6a0000 80000000 0
+printf("%.21Lg") gives 3.36210314311209350626e-4932
g_xLfmt(0) gives 26 bytes: "9.0259718793241478803e-277"
strtoIxL returns 33, consuming 37 bytes.
fI[0] = #3c690000 ffffffff ffffffff
+= 3.3621031431120935059e-4932
fI[1] = #3c6a0000 80000000 0
+= 3.36210314311209350626e-4932
fI[1] == strtoxL
@@ -310,11 +383,14 @@ Input: 2.2250738585072014e-308
strtoxL consumes 23 bytes and returns 17
with bits = #3c010000 80000000 46
+printf("%.21Lg") gives 2.55163967231773222177e-4949
g_xLfmt(0) gives 23 bytes: "2.2250738585072014e-308"
strtoIxL returns 17, consuming 23 bytes.
fI[0] = #3c010000 80000000 46
+= 2.55163967231773222177e-4949
fI[1] = #3c010000 80000000 47
+= 2.5880916676365569678e-4949
fI[0] == strtoxL
@@ -322,11 +398,14 @@ Input: 2.2250738585072013e-308
strtoxL consumes 23 bytes and returns 17
with bits = #3c000000 ffffffff fffffd4f
+printf("%.21Lg") gives 3.36210314311209325511e-4932
g_xLfmt(0) gives 23 bytes: "2.2250738585072013e-308"
strtoIxL returns 17, consuming 23 bytes.
fI[0] = #3c000000 ffffffff fffffd4f
+= 3.36210314311209325511e-4932
fI[1] = #3c000000 ffffffff fffffd50
+= 3.36210314311209325547e-4932
fI[0] == strtoxL
Rounding mode for strtor... changed from 1 (nearest) to 0 (toward zero)
@@ -335,11 +414,14 @@ Input: 1.1
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 8ccccccc cccccccc
+printf("%.21Lg") gives 3.36210314311209350335e-4933
g_xLfmt(0) gives 21 bytes: "1.0999999999999999999"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 8ccccccc cccccccc
+= 3.36210314311209350335e-4933
fI[1] = #3fff0000 8ccccccc cccccccd
+= 3.36210314311209350699e-4933
fI[0] == strtoxL
@@ -347,11 +429,14 @@ Input: -1.1
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 8ccccccc cccccccc
+printf("%.21Lg") gives 3.36210314311209350335e-4933
g_xLfmt(0) gives 22 bytes: "-1.0999999999999999999"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 8ccccccc cccccccd
+= 3.36210314311209350699e-4933
fI[1] = #bfff0000 8ccccccc cccccccc
+= 3.36210314311209350335e-4933
fI[1] == strtoxL
@@ -359,11 +444,14 @@ Input: 1.2
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 99999999 99999999
+printf("%.21Lg") gives 6.72420628622418701034e-4933
g_xLfmt(0) gives 21 bytes: "1.1999999999999999999"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 99999999 99999999
+= 6.72420628622418701034e-4933
fI[1] = #3fff0000 99999999 9999999a
+= 6.72420628622418701398e-4933
fI[0] == strtoxL
@@ -371,11 +459,14 @@ Input: -1.2
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 99999999 99999999
+printf("%.21Lg") gives 6.72420628622418701034e-4933
g_xLfmt(0) gives 22 bytes: "-1.1999999999999999999"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 99999999 9999999a
+= 6.72420628622418701398e-4933
fI[1] = #bfff0000 99999999 99999999
+= 6.72420628622418701034e-4933
fI[1] == strtoxL
@@ -383,11 +474,14 @@ Input: 1.3
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 a6666666 66666666
+printf("%.21Lg") gives 1.00863094293362805173e-4932
g_xLfmt(0) gives 3 bytes: "1.3"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 a6666666 66666666
+= 1.00863094293362805173e-4932
fI[1] = #3fff0000 a6666666 66666667
+= 1.0086309429336280521e-4932
fI[0] == strtoxL
@@ -395,11 +489,14 @@ Input: -1.3
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 a6666666 66666666
+printf("%.21Lg") gives 1.00863094293362805173e-4932
g_xLfmt(0) gives 4 bytes: "-1.3"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 a6666666 66666667
+= 1.0086309429336280521e-4932
fI[1] = #bfff0000 a6666666 66666666
+= 1.00863094293362805173e-4932
fI[1] == strtoxL
@@ -407,11 +504,14 @@ Input: 1.4
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 b3333333 33333333
+printf("%.21Lg") gives 1.34484125724483740243e-4932
g_xLfmt(0) gives 3 bytes: "1.4"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 b3333333 33333333
+= 1.34484125724483740243e-4932
fI[1] = #3fff0000 b3333333 33333334
+= 1.3448412572448374028e-4932
fI[0] == strtoxL
@@ -419,11 +519,14 @@ Input: -1.4
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 b3333333 33333333
+printf("%.21Lg") gives 1.34484125724483740243e-4932
g_xLfmt(0) gives 4 bytes: "-1.4"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 b3333333 33333334
+= 1.3448412572448374028e-4932
fI[1] = #bfff0000 b3333333 33333333
+= 1.34484125724483740243e-4932
fI[1] == strtoxL
@@ -431,6 +534,7 @@ Input: 1.5
strtoxL consumes 3 bytes and returns 1
with bits = #3fff0000 c0000000 0
+printf("%.21Lg") gives 1.68105157155604675313e-4932
g_xLfmt(0) gives 3 bytes: "1.5"
strtoIxL returns 1, consuming 3 bytes.
@@ -441,6 +545,7 @@ Input: -1.5
strtoxL consumes 4 bytes and returns 9
with bits = #bfff0000 c0000000 0
+printf("%.21Lg") gives 1.68105157155604675313e-4932
g_xLfmt(0) gives 4 bytes: "-1.5"
strtoIxL returns 9, consuming 4 bytes.
@@ -451,11 +556,14 @@ Input: 1.6
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 cccccccc cccccccc
+printf("%.21Lg") gives 2.01726188586725610347e-4932
g_xLfmt(0) gives 21 bytes: "1.5999999999999999999"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 cccccccc cccccccc
+= 2.01726188586725610347e-4932
fI[1] = #3fff0000 cccccccc cccccccd
+= 2.01726188586725610383e-4932
fI[0] == strtoxL
@@ -463,11 +571,14 @@ Input: -1.6
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 cccccccc cccccccc
+printf("%.21Lg") gives 2.01726188586725610347e-4932
g_xLfmt(0) gives 22 bytes: "-1.5999999999999999999"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 cccccccc cccccccd
+= 2.01726188586725610383e-4932
fI[1] = #bfff0000 cccccccc cccccccc
+= 2.01726188586725610347e-4932
fI[1] == strtoxL
@@ -475,11 +586,14 @@ Input: 1.7
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 d9999999 99999999
+printf("%.21Lg") gives 2.35347220017846545417e-4932
g_xLfmt(0) gives 21 bytes: "1.6999999999999999999"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 d9999999 99999999
+= 2.35347220017846545417e-4932
fI[1] = #3fff0000 d9999999 9999999a
+= 2.35347220017846545453e-4932
fI[0] == strtoxL
@@ -487,11 +601,14 @@ Input: -1.7
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 d9999999 99999999
+printf("%.21Lg") gives 2.35347220017846545417e-4932
g_xLfmt(0) gives 22 bytes: "-1.6999999999999999999"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 d9999999 9999999a
+= 2.35347220017846545453e-4932
fI[1] = #bfff0000 d9999999 99999999
+= 2.35347220017846545417e-4932
fI[1] == strtoxL
@@ -499,11 +616,14 @@ Input: 1.8
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 e6666666 66666666
+printf("%.21Lg") gives 2.68968251448967480486e-4932
g_xLfmt(0) gives 3 bytes: "1.8"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 e6666666 66666666
+= 2.68968251448967480486e-4932
fI[1] = #3fff0000 e6666666 66666667
+= 2.68968251448967480523e-4932
fI[0] == strtoxL
@@ -511,11 +631,14 @@ Input: -1.8
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 e6666666 66666666
+printf("%.21Lg") gives 2.68968251448967480486e-4932
g_xLfmt(0) gives 4 bytes: "-1.8"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 e6666666 66666667
+= 2.68968251448967480523e-4932
fI[1] = #bfff0000 e6666666 66666666
+= 2.68968251448967480486e-4932
fI[1] == strtoxL
@@ -523,11 +646,14 @@ Input: 1.9
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 f3333333 33333333
+printf("%.21Lg") gives 3.02589282880088415556e-4932
g_xLfmt(0) gives 3 bytes: "1.9"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 f3333333 33333333
+= 3.02589282880088415556e-4932
fI[1] = #3fff0000 f3333333 33333334
+= 3.02589282880088415593e-4932
fI[0] == strtoxL
@@ -535,11 +661,14 @@ Input: -1.9
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 f3333333 33333333
+printf("%.21Lg") gives 3.02589282880088415556e-4932
g_xLfmt(0) gives 4 bytes: "-1.9"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 f3333333 33333334
+= 3.02589282880088415593e-4932
fI[1] = #bfff0000 f3333333 33333333
+= 3.02589282880088415556e-4932
fI[1] == strtoxL
Rounding mode for strtor... changed from 0 (toward zero) to 1 (nearest)
@@ -548,11 +677,14 @@ Input: 1.1
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 8ccccccc cccccccd
+printf("%.21Lg") gives 3.36210314311209350699e-4933
g_xLfmt(0) gives 3 bytes: "1.1"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 8ccccccc cccccccc
+= 3.36210314311209350335e-4933
fI[1] = #3fff0000 8ccccccc cccccccd
+= 3.36210314311209350699e-4933
fI[1] == strtoxL
@@ -560,11 +692,14 @@ Input: -1.1
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 8ccccccc cccccccd
+printf("%.21Lg") gives 3.36210314311209350699e-4933
g_xLfmt(0) gives 4 bytes: "-1.1"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 8ccccccc cccccccd
+= 3.36210314311209350699e-4933
fI[1] = #bfff0000 8ccccccc cccccccc
+= 3.36210314311209350335e-4933
fI[0] == strtoxL
@@ -572,11 +707,14 @@ Input: 1.2
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 99999999 9999999a
+printf("%.21Lg") gives 6.72420628622418701398e-4933
g_xLfmt(0) gives 3 bytes: "1.2"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 99999999 99999999
+= 6.72420628622418701034e-4933
fI[1] = #3fff0000 99999999 9999999a
+= 6.72420628622418701398e-4933
fI[1] == strtoxL
@@ -584,11 +722,14 @@ Input: -1.2
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 99999999 9999999a
+printf("%.21Lg") gives 6.72420628622418701398e-4933
g_xLfmt(0) gives 4 bytes: "-1.2"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 99999999 9999999a
+= 6.72420628622418701398e-4933
fI[1] = #bfff0000 99999999 99999999
+= 6.72420628622418701034e-4933
fI[0] == strtoxL
@@ -596,11 +737,14 @@ Input: 1.3
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 a6666666 66666666
+printf("%.21Lg") gives 1.00863094293362805173e-4932
g_xLfmt(0) gives 3 bytes: "1.3"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 a6666666 66666666
+= 1.00863094293362805173e-4932
fI[1] = #3fff0000 a6666666 66666667
+= 1.0086309429336280521e-4932
fI[0] == strtoxL
@@ -608,11 +752,14 @@ Input: -1.3
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 a6666666 66666666
+printf("%.21Lg") gives 1.00863094293362805173e-4932
g_xLfmt(0) gives 4 bytes: "-1.3"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 a6666666 66666667
+= 1.0086309429336280521e-4932
fI[1] = #bfff0000 a6666666 66666666
+= 1.00863094293362805173e-4932
fI[1] == strtoxL
@@ -620,11 +767,14 @@ Input: 1.4
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 b3333333 33333333
+printf("%.21Lg") gives 1.34484125724483740243e-4932
g_xLfmt(0) gives 3 bytes: "1.4"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 b3333333 33333333
+= 1.34484125724483740243e-4932
fI[1] = #3fff0000 b3333333 33333334
+= 1.3448412572448374028e-4932
fI[0] == strtoxL
@@ -632,11 +782,14 @@ Input: -1.4
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 b3333333 33333333
+printf("%.21Lg") gives 1.34484125724483740243e-4932
g_xLfmt(0) gives 4 bytes: "-1.4"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 b3333333 33333334
+= 1.3448412572448374028e-4932
fI[1] = #bfff0000 b3333333 33333333
+= 1.34484125724483740243e-4932
fI[1] == strtoxL
@@ -644,6 +797,7 @@ Input: 1.5
strtoxL consumes 3 bytes and returns 1
with bits = #3fff0000 c0000000 0
+printf("%.21Lg") gives 1.68105157155604675313e-4932
g_xLfmt(0) gives 3 bytes: "1.5"
strtoIxL returns 1, consuming 3 bytes.
@@ -654,6 +808,7 @@ Input: -1.5
strtoxL consumes 4 bytes and returns 9
with bits = #bfff0000 c0000000 0
+printf("%.21Lg") gives 1.68105157155604675313e-4932
g_xLfmt(0) gives 4 bytes: "-1.5"
strtoIxL returns 9, consuming 4 bytes.
@@ -664,11 +819,14 @@ Input: 1.6
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 cccccccc cccccccd
+printf("%.21Lg") gives 2.01726188586725610383e-4932
g_xLfmt(0) gives 3 bytes: "1.6"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 cccccccc cccccccc
+= 2.01726188586725610347e-4932
fI[1] = #3fff0000 cccccccc cccccccd
+= 2.01726188586725610383e-4932
fI[1] == strtoxL
@@ -676,11 +834,14 @@ Input: -1.6
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 cccccccc cccccccd
+printf("%.21Lg") gives 2.01726188586725610383e-4932
g_xLfmt(0) gives 4 bytes: "-1.6"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 cccccccc cccccccd
+= 2.01726188586725610383e-4932
fI[1] = #bfff0000 cccccccc cccccccc
+= 2.01726188586725610347e-4932
fI[0] == strtoxL
@@ -688,11 +849,14 @@ Input: 1.7
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 d9999999 9999999a
+printf("%.21Lg") gives 2.35347220017846545453e-4932
g_xLfmt(0) gives 3 bytes: "1.7"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 d9999999 99999999
+= 2.35347220017846545417e-4932
fI[1] = #3fff0000 d9999999 9999999a
+= 2.35347220017846545453e-4932
fI[1] == strtoxL
@@ -700,11 +864,14 @@ Input: -1.7
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 d9999999 9999999a
+printf("%.21Lg") gives 2.35347220017846545453e-4932
g_xLfmt(0) gives 4 bytes: "-1.7"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 d9999999 9999999a
+= 2.35347220017846545453e-4932
fI[1] = #bfff0000 d9999999 99999999
+= 2.35347220017846545417e-4932
fI[0] == strtoxL
@@ -712,11 +879,14 @@ Input: 1.8
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 e6666666 66666666
+printf("%.21Lg") gives 2.68968251448967480486e-4932
g_xLfmt(0) gives 3 bytes: "1.8"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 e6666666 66666666
+= 2.68968251448967480486e-4932
fI[1] = #3fff0000 e6666666 66666667
+= 2.68968251448967480523e-4932
fI[0] == strtoxL
@@ -724,11 +894,14 @@ Input: -1.8
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 e6666666 66666666
+printf("%.21Lg") gives 2.68968251448967480486e-4932
g_xLfmt(0) gives 4 bytes: "-1.8"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 e6666666 66666667
+= 2.68968251448967480523e-4932
fI[1] = #bfff0000 e6666666 66666666
+= 2.68968251448967480486e-4932
fI[1] == strtoxL
@@ -736,11 +909,14 @@ Input: 1.9
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 f3333333 33333333
+printf("%.21Lg") gives 3.02589282880088415556e-4932
g_xLfmt(0) gives 3 bytes: "1.9"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 f3333333 33333333
+= 3.02589282880088415556e-4932
fI[1] = #3fff0000 f3333333 33333334
+= 3.02589282880088415593e-4932
fI[0] == strtoxL
@@ -748,11 +924,14 @@ Input: -1.9
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 f3333333 33333333
+printf("%.21Lg") gives 3.02589282880088415556e-4932
g_xLfmt(0) gives 4 bytes: "-1.9"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 f3333333 33333334
+= 3.02589282880088415593e-4932
fI[1] = #bfff0000 f3333333 33333333
+= 3.02589282880088415556e-4932
fI[1] == strtoxL
Rounding mode for strtor... changed from 1 (nearest) to 2 (toward +Infinity)
@@ -761,11 +940,14 @@ Input: 1.1
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 8ccccccc cccccccd
+printf("%.21Lg") gives 3.36210314311209350699e-4933
g_xLfmt(0) gives 3 bytes: "1.1"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 8ccccccc cccccccc
+= 3.36210314311209350335e-4933
fI[1] = #3fff0000 8ccccccc cccccccd
+= 3.36210314311209350699e-4933
fI[1] == strtoxL
@@ -773,11 +955,14 @@ Input: -1.1
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 8ccccccc cccccccc
+printf("%.21Lg") gives 3.36210314311209350335e-4933
g_xLfmt(0) gives 22 bytes: "-1.0999999999999999999"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 8ccccccc cccccccd
+= 3.36210314311209350699e-4933
fI[1] = #bfff0000 8ccccccc cccccccc
+= 3.36210314311209350335e-4933
fI[1] == strtoxL
@@ -785,11 +970,14 @@ Input: 1.2
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 99999999 9999999a
+printf("%.21Lg") gives 6.72420628622418701398e-4933
g_xLfmt(0) gives 3 bytes: "1.2"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 99999999 99999999
+= 6.72420628622418701034e-4933
fI[1] = #3fff0000 99999999 9999999a
+= 6.72420628622418701398e-4933
fI[1] == strtoxL
@@ -797,11 +985,14 @@ Input: -1.2
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 99999999 99999999
+printf("%.21Lg") gives 6.72420628622418701034e-4933
g_xLfmt(0) gives 22 bytes: "-1.1999999999999999999"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 99999999 9999999a
+= 6.72420628622418701398e-4933
fI[1] = #bfff0000 99999999 99999999
+= 6.72420628622418701034e-4933
fI[1] == strtoxL
@@ -809,11 +1000,14 @@ Input: 1.3
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 a6666666 66666667
+printf("%.21Lg") gives 1.0086309429336280521e-4932
g_xLfmt(0) gives 21 bytes: "1.3000000000000000001"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 a6666666 66666666
+= 1.00863094293362805173e-4932
fI[1] = #3fff0000 a6666666 66666667
+= 1.0086309429336280521e-4932
fI[1] == strtoxL
@@ -821,11 +1015,14 @@ Input: -1.3
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 a6666666 66666666
+printf("%.21Lg") gives 1.00863094293362805173e-4932
g_xLfmt(0) gives 4 bytes: "-1.3"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 a6666666 66666667
+= 1.0086309429336280521e-4932
fI[1] = #bfff0000 a6666666 66666666
+= 1.00863094293362805173e-4932
fI[1] == strtoxL
@@ -833,11 +1030,14 @@ Input: 1.4
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 b3333333 33333334
+printf("%.21Lg") gives 1.3448412572448374028e-4932
g_xLfmt(0) gives 21 bytes: "1.4000000000000000001"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 b3333333 33333333
+= 1.34484125724483740243e-4932
fI[1] = #3fff0000 b3333333 33333334
+= 1.3448412572448374028e-4932
fI[1] == strtoxL
@@ -845,11 +1045,14 @@ Input: -1.4
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 b3333333 33333333
+printf("%.21Lg") gives 1.34484125724483740243e-4932
g_xLfmt(0) gives 4 bytes: "-1.4"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 b3333333 33333334
+= 1.3448412572448374028e-4932
fI[1] = #bfff0000 b3333333 33333333
+= 1.34484125724483740243e-4932
fI[1] == strtoxL
@@ -857,6 +1060,7 @@ Input: 1.5
strtoxL consumes 3 bytes and returns 1
with bits = #3fff0000 c0000000 0
+printf("%.21Lg") gives 1.68105157155604675313e-4932
g_xLfmt(0) gives 3 bytes: "1.5"
strtoIxL returns 1, consuming 3 bytes.
@@ -867,6 +1071,7 @@ Input: -1.5
strtoxL consumes 4 bytes and returns 9
with bits = #bfff0000 c0000000 0
+printf("%.21Lg") gives 1.68105157155604675313e-4932
g_xLfmt(0) gives 4 bytes: "-1.5"
strtoIxL returns 9, consuming 4 bytes.
@@ -877,11 +1082,14 @@ Input: 1.6
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 cccccccc cccccccd
+printf("%.21Lg") gives 2.01726188586725610383e-4932
g_xLfmt(0) gives 3 bytes: "1.6"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 cccccccc cccccccc
+= 2.01726188586725610347e-4932
fI[1] = #3fff0000 cccccccc cccccccd
+= 2.01726188586725610383e-4932
fI[1] == strtoxL
@@ -889,11 +1097,14 @@ Input: -1.6
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 cccccccc cccccccc
+printf("%.21Lg") gives 2.01726188586725610347e-4932
g_xLfmt(0) gives 22 bytes: "-1.5999999999999999999"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 cccccccc cccccccd
+= 2.01726188586725610383e-4932
fI[1] = #bfff0000 cccccccc cccccccc
+= 2.01726188586725610347e-4932
fI[1] == strtoxL
@@ -901,11 +1112,14 @@ Input: 1.7
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 d9999999 9999999a
+printf("%.21Lg") gives 2.35347220017846545453e-4932
g_xLfmt(0) gives 3 bytes: "1.7"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 d9999999 99999999
+= 2.35347220017846545417e-4932
fI[1] = #3fff0000 d9999999 9999999a
+= 2.35347220017846545453e-4932
fI[1] == strtoxL
@@ -913,11 +1127,14 @@ Input: -1.7
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 d9999999 99999999
+printf("%.21Lg") gives 2.35347220017846545417e-4932
g_xLfmt(0) gives 22 bytes: "-1.6999999999999999999"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 d9999999 9999999a
+= 2.35347220017846545453e-4932
fI[1] = #bfff0000 d9999999 99999999
+= 2.35347220017846545417e-4932
fI[1] == strtoxL
@@ -925,11 +1142,14 @@ Input: 1.8
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 e6666666 66666667
+printf("%.21Lg") gives 2.68968251448967480523e-4932
g_xLfmt(0) gives 21 bytes: "1.8000000000000000001"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 e6666666 66666666
+= 2.68968251448967480486e-4932
fI[1] = #3fff0000 e6666666 66666667
+= 2.68968251448967480523e-4932
fI[1] == strtoxL
@@ -937,11 +1157,14 @@ Input: -1.8
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 e6666666 66666666
+printf("%.21Lg") gives 2.68968251448967480486e-4932
g_xLfmt(0) gives 4 bytes: "-1.8"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 e6666666 66666667
+= 2.68968251448967480523e-4932
fI[1] = #bfff0000 e6666666 66666666
+= 2.68968251448967480486e-4932
fI[1] == strtoxL
@@ -949,11 +1172,14 @@ Input: 1.9
strtoxL consumes 3 bytes and returns 33
with bits = #3fff0000 f3333333 33333334
+printf("%.21Lg") gives 3.02589282880088415593e-4932
g_xLfmt(0) gives 21 bytes: "1.9000000000000000001"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 f3333333 33333333
+= 3.02589282880088415556e-4932
fI[1] = #3fff0000 f3333333 33333334
+= 3.02589282880088415593e-4932
fI[1] == strtoxL
@@ -961,11 +1187,14 @@ Input: -1.9
strtoxL consumes 4 bytes and returns 25
with bits = #bfff0000 f3333333 33333333
+printf("%.21Lg") gives 3.02589282880088415556e-4932
g_xLfmt(0) gives 4 bytes: "-1.9"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 f3333333 33333334
+= 3.02589282880088415593e-4932
fI[1] = #bfff0000 f3333333 33333333
+= 3.02589282880088415556e-4932
fI[1] == strtoxL
Rounding mode for strtor... changed from 2 (toward +Infinity) to 3 (toward -Infinity)
@@ -974,11 +1203,14 @@ Input: 1.1
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 8ccccccc cccccccc
+printf("%.21Lg") gives 3.36210314311209350335e-4933
g_xLfmt(0) gives 21 bytes: "1.0999999999999999999"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 8ccccccc cccccccc
+= 3.36210314311209350335e-4933
fI[1] = #3fff0000 8ccccccc cccccccd
+= 3.36210314311209350699e-4933
fI[0] == strtoxL
@@ -986,11 +1218,14 @@ Input: -1.1
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 8ccccccc cccccccd
+printf("%.21Lg") gives 3.36210314311209350699e-4933
g_xLfmt(0) gives 4 bytes: "-1.1"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 8ccccccc cccccccd
+= 3.36210314311209350699e-4933
fI[1] = #bfff0000 8ccccccc cccccccc
+= 3.36210314311209350335e-4933
fI[0] == strtoxL
@@ -998,11 +1233,14 @@ Input: 1.2
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 99999999 99999999
+printf("%.21Lg") gives 6.72420628622418701034e-4933
g_xLfmt(0) gives 21 bytes: "1.1999999999999999999"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 99999999 99999999
+= 6.72420628622418701034e-4933
fI[1] = #3fff0000 99999999 9999999a
+= 6.72420628622418701398e-4933
fI[0] == strtoxL
@@ -1010,11 +1248,14 @@ Input: -1.2
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 99999999 9999999a
+printf("%.21Lg") gives 6.72420628622418701398e-4933
g_xLfmt(0) gives 4 bytes: "-1.2"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 99999999 9999999a
+= 6.72420628622418701398e-4933
fI[1] = #bfff0000 99999999 99999999
+= 6.72420628622418701034e-4933
fI[0] == strtoxL
@@ -1022,11 +1263,14 @@ Input: 1.3
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 a6666666 66666666
+printf("%.21Lg") gives 1.00863094293362805173e-4932
g_xLfmt(0) gives 3 bytes: "1.3"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 a6666666 66666666
+= 1.00863094293362805173e-4932
fI[1] = #3fff0000 a6666666 66666667
+= 1.0086309429336280521e-4932
fI[0] == strtoxL
@@ -1034,11 +1278,14 @@ Input: -1.3
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 a6666666 66666667
+printf("%.21Lg") gives 1.0086309429336280521e-4932
g_xLfmt(0) gives 22 bytes: "-1.3000000000000000001"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 a6666666 66666667
+= 1.0086309429336280521e-4932
fI[1] = #bfff0000 a6666666 66666666
+= 1.00863094293362805173e-4932
fI[0] == strtoxL
@@ -1046,11 +1293,14 @@ Input: 1.4
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 b3333333 33333333
+printf("%.21Lg") gives 1.34484125724483740243e-4932
g_xLfmt(0) gives 3 bytes: "1.4"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 b3333333 33333333
+= 1.34484125724483740243e-4932
fI[1] = #3fff0000 b3333333 33333334
+= 1.3448412572448374028e-4932
fI[0] == strtoxL
@@ -1058,11 +1308,14 @@ Input: -1.4
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 b3333333 33333334
+printf("%.21Lg") gives 1.3448412572448374028e-4932
g_xLfmt(0) gives 22 bytes: "-1.4000000000000000001"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 b3333333 33333334
+= 1.3448412572448374028e-4932
fI[1] = #bfff0000 b3333333 33333333
+= 1.34484125724483740243e-4932
fI[0] == strtoxL
@@ -1070,6 +1323,7 @@ Input: 1.5
strtoxL consumes 3 bytes and returns 1
with bits = #3fff0000 c0000000 0
+printf("%.21Lg") gives 1.68105157155604675313e-4932
g_xLfmt(0) gives 3 bytes: "1.5"
strtoIxL returns 1, consuming 3 bytes.
@@ -1080,6 +1334,7 @@ Input: -1.5
strtoxL consumes 4 bytes and returns 9
with bits = #bfff0000 c0000000 0
+printf("%.21Lg") gives 1.68105157155604675313e-4932
g_xLfmt(0) gives 4 bytes: "-1.5"
strtoIxL returns 9, consuming 4 bytes.
@@ -1090,11 +1345,14 @@ Input: 1.6
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 cccccccc cccccccc
+printf("%.21Lg") gives 2.01726188586725610347e-4932
g_xLfmt(0) gives 21 bytes: "1.5999999999999999999"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 cccccccc cccccccc
+= 2.01726188586725610347e-4932
fI[1] = #3fff0000 cccccccc cccccccd
+= 2.01726188586725610383e-4932
fI[0] == strtoxL
@@ -1102,11 +1360,14 @@ Input: -1.6
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 cccccccc cccccccd
+printf("%.21Lg") gives 2.01726188586725610383e-4932
g_xLfmt(0) gives 4 bytes: "-1.6"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 cccccccc cccccccd
+= 2.01726188586725610383e-4932
fI[1] = #bfff0000 cccccccc cccccccc
+= 2.01726188586725610347e-4932
fI[0] == strtoxL
@@ -1114,11 +1375,14 @@ Input: 1.7
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 d9999999 99999999
+printf("%.21Lg") gives 2.35347220017846545417e-4932
g_xLfmt(0) gives 21 bytes: "1.6999999999999999999"
strtoIxL returns 33, consuming 3 bytes.
fI[0] = #3fff0000 d9999999 99999999
+= 2.35347220017846545417e-4932
fI[1] = #3fff0000 d9999999 9999999a
+= 2.35347220017846545453e-4932
fI[0] == strtoxL
@@ -1126,11 +1390,14 @@ Input: -1.7
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 d9999999 9999999a
+printf("%.21Lg") gives 2.35347220017846545453e-4932
g_xLfmt(0) gives 4 bytes: "-1.7"
strtoIxL returns 41, consuming 4 bytes.
fI[0] = #bfff0000 d9999999 9999999a
+= 2.35347220017846545453e-4932
fI[1] = #bfff0000 d9999999 99999999
+= 2.35347220017846545417e-4932
fI[0] == strtoxL
@@ -1138,11 +1405,14 @@ Input: 1.8
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 e6666666 66666666
+printf("%.21Lg") gives 2.68968251448967480486e-4932
g_xLfmt(0) gives 3 bytes: "1.8"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 e6666666 66666666
+= 2.68968251448967480486e-4932
fI[1] = #3fff0000 e6666666 66666667
+= 2.68968251448967480523e-4932
fI[0] == strtoxL
@@ -1150,11 +1420,14 @@ Input: -1.8
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 e6666666 66666667
+printf("%.21Lg") gives 2.68968251448967480523e-4932
g_xLfmt(0) gives 22 bytes: "-1.8000000000000000001"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 e6666666 66666667
+= 2.68968251448967480523e-4932
fI[1] = #bfff0000 e6666666 66666666
+= 2.68968251448967480486e-4932
fI[0] == strtoxL
@@ -1162,11 +1435,14 @@ Input: 1.9
strtoxL consumes 3 bytes and returns 17
with bits = #3fff0000 f3333333 33333333
+printf("%.21Lg") gives 3.02589282880088415556e-4932
g_xLfmt(0) gives 3 bytes: "1.9"
strtoIxL returns 17, consuming 3 bytes.
fI[0] = #3fff0000 f3333333 33333333
+= 3.02589282880088415556e-4932
fI[1] = #3fff0000 f3333333 33333334
+= 3.02589282880088415593e-4932
fI[0] == strtoxL
@@ -1174,10 +1450,13 @@ Input: -1.9
strtoxL consumes 4 bytes and returns 41
with bits = #bfff0000 f3333333 33333334
+printf("%.21Lg") gives 3.02589282880088415593e-4932
g_xLfmt(0) gives 22 bytes: "-1.9000000000000000001"
strtoIxL returns 25, consuming 4 bytes.
fI[0] = #bfff0000 f3333333 33333334
+= 3.02589282880088415593e-4932
fI[1] = #bfff0000 f3333333 33333333
+= 3.02589282880088415556e-4932
fI[0] == strtoxL
diff --git a/contrib/gdtoa/test/xLtest.c b/contrib/gdtoa/test/xLtest.c
index c923e19..aba0cf5 100644
--- a/contrib/gdtoa/test/xLtest.c
+++ b/contrib/gdtoa/test/xLtest.c
@@ -26,14 +26,8 @@ THIS SOFTWARE.
****************************************************************/
-/* Please send bug reports to
- David M. Gay
- Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-0636
- U.S.A.
- dmg@bell-labs.com
- */
+/* Please send bug reports to David M. Gay (dmg at acm dot org,
+ * with " at " changed at "@" and " dot " changed to "."). */
/* Test program for g_xLfmt, strtoIxL, strtopxL, and strtorxL.
*
@@ -85,7 +79,7 @@ THIS SOFTWARE.
int
main(Void)
{
- char *s, *se, *se1;
+ char *s, *s1, *se, *se1;
int dItry, i, ndig = 0, r = 1;
union { long double d; ULong bits[3]; } u, v[2];
@@ -106,8 +100,14 @@ main(Void)
}
break; /* nan? */
case '#':
- sscanf(s+1, "%lx %lx %lx", &u.bits[_0],
- &u.bits[_1], &u.bits[_2]);
+ /* sscanf(s+1, "%lx %lx %lx", &u.bits[_0], */
+ /* &u.bits[_1], &u.bits[_2]); */
+ u.bits[_0] = (ULong)strtoul(s1 = s+1, &se, 16);
+ if (se > s1) {
+ u.bits[_1] = (ULong)strtoul(s1=se, &se, 16);
+ if (se > s1)
+ u.bits[_2] = (ULong)strtoul(s1=se, &se, 16);
+ }
printf("\nInput: %s", ibuf);
printf(" --> f = #%lx %lx %lx\n", u.bits[_0],
u.bits[_1], u.bits[_2]);
diff --git a/contrib/gdtoa/test/xsum0.out b/contrib/gdtoa/test/xsum0.out
index ee59cda..67bbe69 100644
--- a/contrib/gdtoa/test/xsum0.out
+++ b/contrib/gdtoa/test/xsum0.out
@@ -1,20 +1,20 @@
README e6ebdc91 2429
-Qtest.c 140625e2 4778
-dItest.c 8689031 2401
-ddtest.c ea24d330 4943
-dtest.c 900d971 4071
-dt.c addb61c 6198
-ftest.c f609ce43 3958
-getround.c f471599 2041
+Qtest.c e8353ffc 5046
+dItest.c e33800ce 2371
+ddtest.c f9d06e7b 4984
+dtest.c ee533ac3 4078
+dt.c 7eeda57 6384
+ftest.c ec8a6654 3999
+getround.c f810968 2011
strtoIdSI.c 7bfb88b 49
strtoIddSI.c 72e8852 50
strtodISI.c ed08b740 49
-strtodt.c 17aca428 3213
+strtodt.c aaf94bc 3330
strtopddSI.c 13e7138d 50
strtorddSI.c f7e4b1d5 50
-xLtest.c faca328f 4646
+xLtest.c f3f96ad1 4833
xQtest.c efdea3a2 1549
-xtest.c 1f19b87 4858
+xtest.c ee81e661 4830
rtestnos f94bcdf6 336
testnos e89999d6 485
testnos1 7e16229 294
@@ -23,13 +23,13 @@ dI.out d522eef 4369
dIsi.out 1dd6d02f 4350
ddsi.out 1f94bbe2 10251
dd.out e262456e 40923
-dtst.out ee75f6b9 23308
+dtst.out e284ac98 23711
d.out f271efc9 28131
f.out 4b0bd51 21207
-x.ou0 1cfc5d22 25378
+x.ou0 1402f834 25372
xL.ou0 faa3a741 26363
-x.ou1 1a7e9dd4 34587
-xL.ou1 418057a 26476
+x.ou1 f1af5a00 34581
+xL.ou1 e349e5c 37165
Q.ou0 e4592b85 28742
Q.ou1 ea0b344d 39572
-makefile ebbea1e1 4191
+makefile b77232c 4939
diff --git a/contrib/gdtoa/test/xtest.c b/contrib/gdtoa/test/xtest.c
index bd2b008..86d7fba0 100644
--- a/contrib/gdtoa/test/xtest.c
+++ b/contrib/gdtoa/test/xtest.c
@@ -26,14 +26,8 @@ THIS SOFTWARE.
****************************************************************/
-/* Please send bug reports to
- David M. Gay
- Bell Laboratories, Room 2C-463
- 600 Mountain Avenue
- Murray Hill, NJ 07974-0636
- U.S.A.
- dmg@bell-labs.com
- */
+/* Please send bug reports to David M. Gay (dmg at acm dot org,
+ * with " at " changed at "@" and " dot " changed to "."). */
/* Test program for g_xfmt, strtoIx, strtopx, and strtorx.
*
@@ -108,12 +102,12 @@ main(Void)
}
break; /* nan? */
case '#':
- sscanf(s+1, "%hx %hx %hx %hx hx", &u.bits[_0],
+ sscanf(s+1, "%hx %hx %hx %hx %hx", &u.bits[_0],
&u.bits[_1], &u.bits[_2], &u.bits[_3],
&u.bits[_4]);
printf("\nInput: %s", ibuf);
printf(" --> f = #%x %x %x %x %x\n", u.bits[_0],
- u.bits[_1], u.bits[_2], u.bits[_3], u.bits[4]);
+ u.bits[_1], u.bits[_2], u.bits[_3], u.bits[_4]);
goto fmt_test;
}
dItry = 1;
@@ -159,8 +153,8 @@ main(Void)
printf("= %.21Lg\n", v[0].d);
printf("fI[1] = #%x %x %x %x %x\n",
v[1].bits[_0], v[1].bits[_1],
- v[1].bits[_2], v[0].bits[_3],
- v[0].bits[_4]);
+ v[1].bits[_2], v[1].bits[_3],
+ v[1].bits[_4]);
if (sizeof(long double) == 12)
printf("= %.21Lg\n", v[1].d);
if (!memcmp(v[0].bits, u.bits, 10))
OpenPOWER on IntegriCloud