[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r22794 - in /fsf/trunk/libc: ./ math/ stdio-common/ stdlib/ sysdeps/ieee754/dbl-64/
- To: commits@xxxxxxxxxx
- Subject: [Commits] r22794 - in /fsf/trunk/libc: ./ math/ stdio-common/ stdlib/ sysdeps/ieee754/dbl-64/
- From: eglibc@xxxxxxxxxx
- Date: Sat, 06 Apr 2013 00:02:01 -0000
Author: eglibc
Date: Sat Apr 6 00:02:00 2013
New Revision: 22794
Log:
Import glibc-mainline for 2013-04-06
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/NEWS
fsf/trunk/libc/math/libm-test.inc
fsf/trunk/libc/stdio-common/tstdiomisc.c
fsf/trunk/libc/stdlib/Makefile
fsf/trunk/libc/stdlib/tst-strtod6.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_remainder.c
fsf/trunk/libc/sysdeps/ieee754/dbl-64/upow.h
fsf/trunk/libc/sysdeps/ieee754/dbl-64/urem.h
fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat Apr 6 00:02:00 2013
@@ -1,3 +1,32 @@
+2013-04-05 Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx>
+
+ * stdio-common/tstdiomisc.c (snanval, msnanval, lsnanval)
+ (lmsnanval): New variables.
+ (F): Add conversion tests.
+ * stdlib/tst-strtod6.c (do_test): Add issignaling tests.
+ * stdlib/Makefile ($(objpfx)tst-strtod6): Depend on $(link-libm).
+
+ * stdio-common/tstdiomisc.c (F): Properly collect individual
+ tests' results.
+
+ [BZ #14686, #15336]
+ * sysdeps/ieee754/dbl-64/urem.h (nNAN, NAN): Remove definitions.
+ * sysdeps/ieee754/dbl-64/e_remainder.c (__ieee754_remainder):
+ Instead, use input NaN values or generate a qNaN by arithmetic
+ operation. Also fix bugs to comply with the standard.
+ * math/libm-test.inc (remainder_test): Add more tests.
+
+ [BZ #15335, #15342]
+ * sysdeps/ieee754/dbl-64/upow.h (NaNQ): Remove definitions.
+ * sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Instead, use
+ input NaN values or generate a qNaN by arithmetic operation.
+
+ * sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Remove
+ unreachable code.
+
+ * sysdeps/ieee754/dbl-64/usncs.h (NAN): Removed unused
+ definitions.
+
2013-04-03 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
[BZ #14478]
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Sat Apr 6 00:02:00 2013
@@ -10,10 +10,10 @@
* The following bugs are resolved with this release:
10357, 11120, 11561, 12723, 13550, 13889, 13951, 14142, 14176, 14200,
- 14317, 14327, 14478, 14496, 14812, 14920, 14964, 14981, 14982, 14985,
- 14994, 14996, 15003, 15006, 15020, 15023, 15036, 15054, 15055, 15062,
- 15078, 15160, 15214, 15232, 15234, 15283, 15285, 15287, 15304, 15305,
- 15307, 15327, 15330, 15337.
+ 14317, 14327, 14478, 14496, 14686, 14812, 14920, 14964, 14981, 14982,
+ 14985, 14994, 14996, 15003, 15006, 15020, 15023, 15036, 15054, 15055,
+ 15062, 15078, 15160, 15214, 15232, 15234, 15283, 15285, 15287, 15304,
+ 15305, 15307, 15327, 15330, 15335, 15336, 15337, 15342.
* CVE-2013-0242 Buffer overrun in regexp matcher has been fixed (Bugzilla
#15078).
Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Sat Apr 6 00:02:00 2013
@@ -11103,12 +11103,30 @@
TEST_ff_f (remainder, 1, minus_zero, qnan_value, INVALID_EXCEPTION);
check_int ("errno for remainder(1, -0) = EDOM ", errno, EDOM, 0, 0, 0);
errno = 0;
+ TEST_ff_f (remainder, plus_infty, minus_zero, qnan_value, INVALID_EXCEPTION);
+ check_int ("errno for remainder(INF, -0) = EDOM ", errno, EDOM, 0, 0, 0);
+ errno = 0;
+ TEST_ff_f (remainder, plus_infty, 0, qnan_value, INVALID_EXCEPTION);
+ check_int ("errno for remainder(INF, 0) = EDOM ", errno, EDOM, 0, 0, 0);
+ errno = 0;
TEST_ff_f (remainder, plus_infty, 1, qnan_value, INVALID_EXCEPTION);
check_int ("errno for remainder(INF, 1) = EDOM ", errno, EDOM, 0, 0, 0);
errno = 0;
+ TEST_ff_f (remainder, plus_infty, 2, qnan_value, INVALID_EXCEPTION);
+ check_int ("errno for remainder(INF, 2) = EDOM ", errno, EDOM, 0, 0, 0);
+ errno = 0;
+ TEST_ff_f (remainder, minus_infty, minus_zero, qnan_value, INVALID_EXCEPTION);
+ check_int ("errno for remainder(-INF, -0) = EDOM ", errno, EDOM, 0, 0, 0);
+ errno = 0;
+ TEST_ff_f (remainder, minus_infty, 0, qnan_value, INVALID_EXCEPTION);
+ check_int ("errno for remainder(-INF, 0) = EDOM ", errno, EDOM, 0, 0, 0);
+ errno = 0;
TEST_ff_f (remainder, minus_infty, 1, qnan_value, INVALID_EXCEPTION);
check_int ("errno for remainder(-INF, 1) = EDOM ", errno, EDOM, 0, 0, 0);
errno = 0;
+ TEST_ff_f (remainder, minus_infty, 2, qnan_value, INVALID_EXCEPTION);
+ check_int ("errno for remainder(-INF, 2) = EDOM ", errno, EDOM, 0, 0, 0);
+ errno = 0;
TEST_ff_f (remainder, qnan_value, qnan_value, qnan_value);
check_int ("errno for remainder(qNAN, qNAN) unchanged", errno, 0, 0, 0, 0);
errno = 0;
@@ -11117,6 +11135,13 @@
errno = 0;
TEST_ff_f (remainder, qnan_value, 0, qnan_value);
check_int ("errno for remainder(qNaN, 0) unchanged", errno, 0, 0, 0, 0);
+
+ errno = 0;
+ TEST_ff_f (remainder, 7.0, plus_infty, 7.0);
+ check_int ("errno for remainder(7.0, INF) unchanged", errno, 0, 0, 0, 0);
+ errno = 0;
+ TEST_ff_f (remainder, 7.0, minus_infty, 7.0);
+ check_int ("errno for remainder(7.0, -INF) unchanged", errno, 0, 0, 0, 0);
TEST_ff_f (remainder, 1.625, 1.0, -0.375);
TEST_ff_f (remainder, -1.625, 1.0, 0.375);
Modified: fsf/trunk/libc/stdio-common/tstdiomisc.c
==============================================================================
--- fsf/trunk/libc/stdio-common/tstdiomisc.c (original)
+++ fsf/trunk/libc/stdio-common/tstdiomisc.c Sat Apr 6 00:02:00 2013
@@ -47,8 +47,14 @@
}
volatile double qnanval;
+volatile long double lqnanval;
+/* A sNaN is only guaranteed to be representable in variables with static (or
+ thread-local) storage duration. */
+static volatile double snanval = __builtin_nans("");
+static volatile double msnanval = -__builtin_nans("");
+static volatile long double lsnanval = __builtin_nansl("");
+static volatile long double lmsnanval = -__builtin_nansl("");
volatile double infval;
-volatile long double lqnanval;
volatile long double linfval;
@@ -57,20 +63,33 @@
{
char buf[80];
wchar_t wbuf[40];
- int result;
+ int result = 0;
qnanval = NAN;
snprintf (buf, sizeof buf, "%a %A %e %E %f %F %g %G",
qnanval, qnanval, qnanval, qnanval,
qnanval, qnanval, qnanval, qnanval);
- result = strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
+ result |= strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
printf ("expected \"nan NAN nan NAN nan NAN nan NAN\", got \"%s\"\n", buf);
snprintf (buf, sizeof buf, "%a %A %e %E %f %F %g %G",
-qnanval, -qnanval, -qnanval, -qnanval,
-qnanval, -qnanval, -qnanval, -qnanval);
- result = strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+ result |= strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+ printf ("expected \"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got \"%s\"\n",
+ buf);
+
+ snprintf (buf, sizeof buf, "%a %A %e %E %f %F %g %G",
+ snanval, snanval, snanval, snanval,
+ snanval, snanval, snanval, snanval);
+ result |= strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
+ printf ("expected \"nan NAN nan NAN nan NAN nan NAN\", got \"%s\"\n", buf);
+
+ snprintf (buf, sizeof buf, "%a %A %e %E %f %F %g %G",
+ msnanval, msnanval, msnanval, msnanval,
+ msnanval, msnanval, msnanval, msnanval);
+ result |= strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
printf ("expected \"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got \"%s\"\n",
buf);
@@ -102,6 +121,19 @@
wbuf);
swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), L"%a %A %e %E %f %F %g %G",
+ snanval, snanval, snanval, snanval,
+ snanval, snanval, snanval, snanval);
+ result |= wcscmp (wbuf, L"nan NAN nan NAN nan NAN nan NAN") != 0;
+ printf ("expected L\"nan NAN nan NAN nan NAN nan NAN\", got L\"%S\"\n", wbuf);
+
+ swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), L"%a %A %e %E %f %F %g %G",
+ msnanval, msnanval, msnanval, msnanval,
+ msnanval, msnanval, msnanval, msnanval);
+ result |= wcscmp (wbuf, L"-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+ printf ("expected L\"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got L\"%S\"\n",
+ wbuf);
+
+ swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), L"%a %A %e %E %f %F %g %G",
infval, infval, infval, infval, infval, infval, infval, infval);
result |= wcscmp (wbuf, L"inf INF inf INF inf INF inf INF") != 0;
printf ("expected L\"inf INF inf INF inf INF inf INF\", got L\"%S\"\n", wbuf);
@@ -118,13 +150,26 @@
snprintf (buf, sizeof buf, "%La %LA %Le %LE %Lf %LF %Lg %LG",
lqnanval, lqnanval, lqnanval, lqnanval,
lqnanval, lqnanval, lqnanval, lqnanval);
- result = strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
+ result |= strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
printf ("expected \"nan NAN nan NAN nan NAN nan NAN\", got \"%s\"\n", buf);
snprintf (buf, sizeof buf, "%La %LA %Le %LE %Lf %LF %Lg %LG",
-lqnanval, -lqnanval, -lqnanval, -lqnanval,
-lqnanval, -lqnanval, -lqnanval, -lqnanval);
- result = strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+ result |= strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+ printf ("expected \"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got \"%s\"\n",
+ buf);
+
+ snprintf (buf, sizeof buf, "%La %LA %Le %LE %Lf %LF %Lg %LG",
+ lsnanval, lsnanval, lsnanval, lsnanval,
+ lsnanval, lsnanval, lsnanval, lsnanval);
+ result |= strcmp (buf, "nan NAN nan NAN nan NAN nan NAN") != 0;
+ printf ("expected \"nan NAN nan NAN nan NAN nan NAN\", got \"%s\"\n", buf);
+
+ snprintf (buf, sizeof buf, "%La %LA %Le %LE %Lf %LF %Lg %LG",
+ lmsnanval, lmsnanval, lmsnanval, lmsnanval,
+ lmsnanval, lmsnanval, lmsnanval, lmsnanval);
+ result |= strcmp (buf, "-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
printf ("expected \"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got \"%s\"\n",
buf);
@@ -160,6 +205,21 @@
swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]),
L"%La %LA %Le %LE %Lf %LF %Lg %LG",
+ lsnanval, lsnanval, lsnanval, lsnanval,
+ lsnanval, lsnanval, lsnanval, lsnanval);
+ result |= wcscmp (wbuf, L"nan NAN nan NAN nan NAN nan NAN") != 0;
+ printf ("expected L\"nan NAN nan NAN nan NAN nan NAN\", got L\"%S\"\n", wbuf);
+
+ swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]),
+ L"%La %LA %Le %LE %Lf %LF %Lg %LG",
+ lmsnanval, lmsnanval, lmsnanval, lmsnanval,
+ lmsnanval, lmsnanval, lmsnanval, lmsnanval);
+ result |= wcscmp (wbuf, L"-nan -NAN -nan -NAN -nan -NAN -nan -NAN") != 0;
+ printf ("expected L\"-nan -NAN -nan -NAN -nan -NAN -nan -NAN\", got L\"%S\"\n",
+ wbuf);
+
+ swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]),
+ L"%La %LA %Le %LE %Lf %LF %Lg %LG",
linfval, linfval, linfval, linfval,
linfval, linfval, linfval, linfval);
result |= wcscmp (wbuf, L"inf INF inf INF inf INF inf INF") != 0;
Modified: fsf/trunk/libc/stdlib/Makefile
==============================================================================
--- fsf/trunk/libc/stdlib/Makefile (original)
+++ fsf/trunk/libc/stdlib/Makefile Sat Apr 6 00:02:00 2013
@@ -157,6 +157,7 @@
$(objpfx)tst-strtod-round: $(link-libm)
$(objpfx)tst-tininess: $(link-libm)
$(objpfx)tst-strtod-underflow: $(link-libm)
+$(objpfx)tst-strtod6: $(link-libm)
tst-tls-atexit-lib.so-no-z-defs = yes
Modified: fsf/trunk/libc/stdlib/tst-strtod6.c
==============================================================================
--- fsf/trunk/libc/stdlib/tst-strtod6.c (original)
+++ fsf/trunk/libc/stdlib/tst-strtod6.c Sat Apr 6 00:02:00 2013
@@ -16,6 +16,11 @@
puts ("strtod did not return NAN");
result = 1;
}
+ if (issignaling (d))
+ {
+ puts ("strtod returned a sNAN");
+ result = 1;
+ }
if (strcmp (endp, "something") != 0)
{
puts ("strtod set incorrect end pointer");
@@ -26,6 +31,11 @@
if (!isnanf (f))
{
puts ("strtof did not return NAN");
+ result = 1;
+ }
+ if (issignaling (f))
+ {
+ puts ("strtof returned a sNAN");
result = 1;
}
if (strcmp (endp, "something") != 0)
@@ -40,6 +50,11 @@
puts ("strtold did not return NAN");
result = 1;
}
+ if (issignaling (ld))
+ {
+ puts ("strtold returned a sNAN");
+ result = 1;
+ }
if (strcmp (endp, "something") != 0)
{
puts ("strtold set incorrect end pointer");
Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c Sat Apr 6 00:02:00 2013
@@ -71,8 +71,9 @@
u.x=x;
if (v.i[LOW_HALF] == 0) { /* of y */
qx = u.i[HIGH_HALF]&0x7fffffff;
- /* Checking if x is not too small to compute */
- if (((qx==0x7ff00000)&&(u.i[LOW_HALF]!=0))||(qx>0x7ff00000)) return NaNQ.x;
+ /* Is x a NaN? */
+ if (((qx == 0x7ff00000) && (u.i[LOW_HALF] != 0)) || (qx > 0x7ff00000))
+ return x;
if (y == 1.0) return x;
if (y == 2.0) return x*x;
if (y == -1.0) return 1.0/x;
@@ -111,7 +112,7 @@
if (x == 0) {
if (((v.i[HIGH_HALF] & 0x7fffffff) == 0x7ff00000 && v.i[LOW_HALF] != 0)
- || (v.i[HIGH_HALF] & 0x7fffffff) > 0x7ff00000)
+ || (v.i[HIGH_HALF] & 0x7fffffff) > 0x7ff00000) /* NaN */
return y;
if (ABS(y) > 1.0e20) return (y>0)?0:1.0/0.0;
k = checkint(y);
@@ -124,9 +125,10 @@
qx = u.i[HIGH_HALF]&0x7fffffff; /* no sign */
qy = v.i[HIGH_HALF]&0x7fffffff; /* no sign */
- if (qx >= 0x7ff00000 && (qx > 0x7ff00000 || u.i[LOW_HALF] != 0)) return NaNQ.x;
- if (qy >= 0x7ff00000 && (qy > 0x7ff00000 || v.i[LOW_HALF] != 0))
- return x == 1.0 ? 1.0 : NaNQ.x;
+ if (qx >= 0x7ff00000 && (qx > 0x7ff00000 || u.i[LOW_HALF] != 0)) /* NaN */
+ return x;
+ if (qy >= 0x7ff00000 && (qy > 0x7ff00000 || v.i[LOW_HALF] != 0)) /* NaN */
+ return x == 1.0 ? 1.0 : y;
/* if x<0 */
if (u.i[HIGH_HALF] < 0) {
@@ -139,7 +141,7 @@
}
else if (qx == 0x7ff00000)
return y < 0 ? 0.0 : INF.x;
- return NaNQ.x; /* y not integer and x<0 */
+ return (x - x) / (x - x); /* y not integer and x<0 */
}
else if (qx == 0x7ff00000)
{
@@ -153,8 +155,7 @@
/* x>0 */
if (qx == 0x7ff00000) /* x= 2^-0x3ff */
- {if (y == 0) return NaNQ.x;
- return (y>0)?x:0; }
+ return y > 0 ? x : 0;
if (qy > 0x45f00000 && qy < 0x7ff00000) {
if (x == 1.0) return 1.0;
Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_remainder.c
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_remainder.c (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/e_remainder.c Sat Apr 6 00:02:00 2013
@@ -111,12 +111,14 @@
else return (z>0)?z-y:z+y;
}
else { /* if x is too big */
- if (kx == 0x7ff00000 && u.i[LOW_HALF] == 0 && y == 1.0)
- return x / x;
- if (kx>=0x7ff00000||(ky==0&&t.i[LOW_HALF]==0)||ky>0x7ff00000||
- (ky==0x7ff00000&&t.i[LOW_HALF]!=0))
- return (u.i[HIGH_HALF]&0x80000000)?nNAN.x:NAN.x;
- else return x;
+ if (ky==0 && t.i[LOW_HALF] == 0) /* y = 0 */
+ return (x * y) / (x * y);
+ else if (kx >= 0x7ff00000 /* x not finite */
+ || (ky>0x7ff00000 /* y is NaN */
+ || (ky == 0x7ff00000 && t.i[LOW_HALF] != 0)))
+ return (x * y) / (x * y);
+ else
+ return x;
}
}
}
Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/upow.h
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/upow.h (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/upow.h Sat Apr 6 00:02:00 2013
@@ -34,7 +34,6 @@
/**/ nZERO = {{0x80000000, 0}}, /* -0.0 */
/**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */
/**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */
-/**/ NaNQ = {{0x7ff80000, 0x00000000}}, /* NaNQ */
/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */
/**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */
/**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */
@@ -49,7 +48,6 @@
/**/ nZERO = {{0, 0x80000000}}, /* -0.0 */
/**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */
/**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */
-/**/ NaNQ = {{0x00000000, 0x7ff80000}}, /* NaNQ */
/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */
/**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */
/**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */
Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/urem.h
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/urem.h (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/urem.h Sat Apr 6 00:02:00 2013
@@ -32,18 +32,14 @@
t128 = {{0x47f00000, 0}}, /* 2^ 128 */
tm128 = {{0x37f00000, 0}}, /* 2^-128 */
ZERO = {{0, 0}}, /* 0.0 */
- nZERO = {{0x80000000, 0}}, /* -0.0 */
- NAN = {{0x7ff80000, 0}}, /* NaN */
- nNAN = {{0xfff80000, 0}}; /* -NaN */
+ nZERO = {{0x80000000, 0}}; /* -0.0 */
#else
#ifdef LITTLE_ENDI
static const mynumber big = {{0, 0x43380000}}, /* 6755399441055744 */
t128 = {{0, 0x47f00000}}, /* 2^ 128 */
tm128 = {{0, 0x37f00000}}, /* 2^-128 */
ZERO = {{0, 0}}, /* 0.0 */
- nZERO = {{0, 0x80000000}}, /* -0.0 */
- NAN = {{0, 0x7ff80000}}, /* NaN */
- nNAN = {{0, 0xfff80000}}; /* -NaN */
+ nZERO = {{0, 0x80000000}}; /* -0.0 */
#endif
#endif
Modified: fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h
==============================================================================
--- fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h (original)
+++ fsf/trunk/libc/sysdeps/ieee754/dbl-64/usncs.h Sat Apr 6 00:02:00 2013
@@ -30,7 +30,6 @@
#ifdef BIG_ENDI
static const mynumber
-/**/ NAN = {{0x7ff80000, 0x00000000 }}, /* NaN */
/**/ s1 = {{0xBFC55555, 0x55555555 }}, /* -0.16666666666666666 */
/**/ s2 = {{0x3F811111, 0x11110ECE }}, /* 0.0083333333333323288 */
/**/ s3 = {{0xBF2A01A0, 0x19DB08B8 }}, /* -0.00019841269834414642 */
@@ -53,7 +52,6 @@
#ifdef LITTLE_ENDI
static const mynumber
-/**/ NAN = {{0x00000000, 0x7ff80000 }},/* NaN */
/**/ s1 = {{0x55555555, 0xBFC55555 }},/* -0.16666666666666666 */
/**/ s2 = {{0x11110ECE, 0x3F811111 }},/* 0.0083333333333323288 */
/**/ s3 = {{0x19DB08B8, 0xBF2A01A0 }},/* -0.00019841269834414642 */
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits