diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-02-28 17:12:25 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-03-15 19:06:02 +0100 |
commit | 67e971f18ffc9b3ea57cbccba54d5203d1e6a988 (patch) | |
tree | f62ff6123ac01815295b6d6f6f9dba73c1c65862 /stdio-common | |
parent | 64487e126468f91ecdfe7ab7a0f3a82762874d5a (diff) | |
download | glibc-67e971f18ffc9b3ea57cbccba54d5203d1e6a988.zip glibc-67e971f18ffc9b3ea57cbccba54d5203d1e6a988.tar.gz glibc-67e971f18ffc9b3ea57cbccba54d5203d1e6a988.tar.bz2 |
Better distinguish between NaN/qNaN/sNaN.
Diffstat (limited to 'stdio-common')
-rw-r--r-- | stdio-common/tstdiomisc.c | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/stdio-common/tstdiomisc.c b/stdio-common/tstdiomisc.c index c1c6895..d24c55f 100644 --- a/stdio-common/tstdiomisc.c +++ b/stdio-common/tstdiomisc.c @@ -46,9 +46,9 @@ t2 (void) return result; } -volatile double nanval; +volatile double qnanval; volatile double infval; -volatile long double lnanval; +volatile long double lqnanval; volatile long double linfval; @@ -59,16 +59,17 @@ F (void) wchar_t wbuf[40]; int result; - nanval = NAN; + qnanval = NAN; snprintf (buf, sizeof buf, "%a %A %e %E %f %F %g %G", - nanval, nanval, nanval, nanval, nanval, nanval, nanval, nanval); + qnanval, qnanval, qnanval, qnanval, + qnanval, qnanval, qnanval, qnanval); 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", - -nanval, -nanval, -nanval, -nanval, - -nanval, -nanval, -nanval, -nanval); + -qnanval, -qnanval, -qnanval, -qnanval, + -qnanval, -qnanval, -qnanval, -qnanval); 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); @@ -88,13 +89,14 @@ F (void) buf); swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), L"%a %A %e %E %f %F %g %G", - nanval, nanval, nanval, nanval, nanval, nanval, nanval, nanval); + qnanval, qnanval, qnanval, qnanval, + qnanval, qnanval, qnanval, qnanval); 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", - -nanval, -nanval, -nanval, -nanval, - -nanval, -nanval, -nanval, -nanval); + -qnanval, -qnanval, -qnanval, -qnanval, + -qnanval, -qnanval, -qnanval, -qnanval); 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); @@ -111,17 +113,17 @@ F (void) printf ("expected L\"-inf -INF -inf -INF -inf -INF -inf -INF\", got L\"%S\"\n", wbuf); - lnanval = NAN; + lqnanval = NAN; snprintf (buf, sizeof buf, "%La %LA %Le %LE %Lf %LF %Lg %LG", - lnanval, lnanval, lnanval, lnanval, - lnanval, lnanval, lnanval, lnanval); + lqnanval, lqnanval, lqnanval, lqnanval, + lqnanval, lqnanval, lqnanval, lqnanval); 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", - -lnanval, -lnanval, -lnanval, -lnanval, - -lnanval, -lnanval, -lnanval, -lnanval); + -lqnanval, -lqnanval, -lqnanval, -lqnanval, + -lqnanval, -lqnanval, -lqnanval, -lqnanval); 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); @@ -143,15 +145,15 @@ F (void) swprintf (wbuf, sizeof wbuf / sizeof (wbuf[0]), L"%La %LA %Le %LE %Lf %LF %Lg %LG", - lnanval, lnanval, lnanval, lnanval, - lnanval, lnanval, lnanval, lnanval); + lqnanval, lqnanval, lqnanval, lqnanval, + lqnanval, lqnanval, lqnanval, lqnanval); 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", - -lnanval, -lnanval, -lnanval, -lnanval, - -lnanval, -lnanval, -lnanval, -lnanval); + -lqnanval, -lqnanval, -lqnanval, -lqnanval, + -lqnanval, -lqnanval, -lqnanval, -lqnanval); 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); |