Mercurial > hg > octave-lojdl > gnulib-hg
diff tests/test-strtod.c @ 9841:a95dd6984607
Add info about many more platforms.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Mon, 31 Mar 2008 01:59:11 +0200 |
parents | 3dc6b2551b2e |
children | 25b01b718f02 |
line wrap: on
line diff
--- a/tests/test-strtod.c +++ b/tests/test-strtod.c @@ -88,7 +88,7 @@ double result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); - ASSERT (ptr == input); + ASSERT (ptr == input); /* IRIX 6.5, OSF/1 5.1 */ ASSERT (errno == 0 || errno == EINVAL); } { @@ -98,7 +98,7 @@ double result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); - ASSERT (ptr == input); + ASSERT (ptr == input); /* IRIX 6.5, OSF/1 5.1 */ ASSERT (errno == 0 || errno == EINVAL); } { @@ -280,7 +280,7 @@ char *ptr; double result = strtod (input, &ptr); ASSERT (result == 0.0); - ASSERT (signbit (result) == signbit (-0.0)); + ASSERT (signbit (result) == signbit (-0.0)); /* IRIX 6.5 */ ASSERT (ptr == input + 2); ASSERT (errno == 0); } @@ -336,8 +336,8 @@ const char input[] = "1E 2"; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == 1.0); - ASSERT (ptr == input + 1); + ASSERT (result == 1.0); /* HP-UX 11.11, IRIX 6.5, OSF/1 4.0 */ + ASSERT (ptr == input + 1); /* HP-UX 11.11, IRIX 6.5 */ ASSERT (errno == 0); } { @@ -347,7 +347,7 @@ double result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); - ASSERT (ptr == input + 1); + ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2 */ ASSERT (errno == 0); } { @@ -366,8 +366,8 @@ char *ptr; double result = strtod (input, &ptr); ASSERT (result == 0.0); - ASSERT (signbit (result) == signbit (-0.0)); - ASSERT (ptr == input + 2); + ASSERT (signbit (result) == signbit (-0.0)); /* MacOS X 10.3, FreeBSD 6.2, IRIX 6.5 */ + ASSERT (ptr == input + 2); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2 */ ASSERT (errno == 0); } { @@ -377,7 +377,7 @@ double result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); - ASSERT (ptr == input + 1); + ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2 */ ASSERT (errno == 0); } { @@ -387,7 +387,7 @@ double result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); - ASSERT (ptr == input + 1); + ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2 */ ASSERT (errno == 0); } { @@ -397,7 +397,7 @@ double result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); - ASSERT (ptr == input + 1); + ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2 */ ASSERT (errno == 0); } { @@ -407,7 +407,7 @@ double result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); - ASSERT (ptr == input + 1); + ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2 */ ASSERT (errno == 0); } { @@ -417,7 +417,7 @@ double result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); - ASSERT (ptr == input + 1); + ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2 */ ASSERT (errno == 0); } { @@ -427,7 +427,7 @@ double result = strtod (input, &ptr); ASSERT (result == 0.0); ASSERT (!signbit (result)); - ASSERT (ptr == input + 1); + ASSERT (ptr == input + 1); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2 */ ASSERT (errno == 0); } { @@ -480,7 +480,7 @@ 0 on negative underflow, even though quality of implementation demands preserving the sign. Disable this test until fixed glibc is more prevalent. */ - ASSERT (signbit (result) == signbit (-0.0)); + ASSERT (signbit (result) == signbit (-0.0)); /* glibc-2.3.6, mingw */ #endif ASSERT (ptr == input + 10); ASSERT (errno == ERANGE); @@ -492,45 +492,45 @@ const char input[] = "iNf"; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == HUGE_VAL); - ASSERT (ptr == input + 3); - ASSERT (errno == 0); + ASSERT (result == HUGE_VAL); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (ptr == input + 3); /* OpenBSD 4.0, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw */ + ASSERT (errno == 0); /* HP-UX 11.11, OSF/1 4.0 */ } { errno = 0; const char input[] = "-InF"; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == -HUGE_VAL); - ASSERT (ptr == input + 4); - ASSERT (errno == 0); + ASSERT (result == -HUGE_VAL); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (ptr == input + 4); /* OpenBSD 4.0, HP-UX 11.00, IRIX 6.5, OSF/1 4.0, Solaris 9, mingw */ + ASSERT (errno == 0); /* HP-UX 11.11, OSF/1 4.0 */ } { errno = 0; const char input[] = "infinite"; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == HUGE_VAL); - ASSERT (ptr == input + 3); - ASSERT (errno == 0); + ASSERT (result == HUGE_VAL); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (ptr == input + 3); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (errno == 0); /* OSF/1 4.0 */ } { errno = 0; const char input[] = "infinitY"; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == HUGE_VAL); - ASSERT (ptr == input + 8); - ASSERT (errno == 0); + ASSERT (result == HUGE_VAL); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (ptr == input + 8); /* OpenBSD 4.0, HP-UX 11.00, IRIX 6.5, OSF/1 5.1, Solaris 9, mingw */ + ASSERT (errno == 0); /* HP-UX 11.11, OSF/1 4.0 */ } { errno = 0; const char input[] = "infinitY."; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == HUGE_VAL); - ASSERT (ptr == input + 8); - ASSERT (errno == 0); + ASSERT (result == HUGE_VAL); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (ptr == input + 8); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (errno == 0); /* OSF/1 4.0 */ } /* NaN. Some processors set the sign bit of the default NaN, so all @@ -543,16 +543,16 @@ double result1 = strtod (input, &ptr1); double result2 = strtod (input + 1, &ptr2); #ifdef NAN - ASSERT (isnan (result1)); - ASSERT (isnan (result2)); + ASSERT (isnan (result1)); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (isnan (result2)); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ # if 0 /* Sign bits of NaN is a portability sticking point, not worth worrying about. */ - ASSERT (signbit (result1) != signbit (result2)); + ASSERT (signbit (result1) != signbit (result2)); /* glibc-2.3.6, IRIX 6.5, OSF/1 5.1, mingw */ # endif - ASSERT (ptr1 == input + 4); - ASSERT (ptr2 == input + 4); - ASSERT (errno == 0); + ASSERT (ptr1 == input + 4); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, Solaris 2.5.1, mingw */ + ASSERT (ptr2 == input + 4); /* OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, Solaris 2.5.1, mingw */ + ASSERT (errno == 0); /* HP-UX 11.11 */ #else ASSERT (result1 == 0.0); ASSERT (result2 == 0.0); @@ -571,11 +571,11 @@ double result1 = strtod (input, &ptr1); double result2 = strtod (input + 1, &ptr2); #ifdef NAN - ASSERT (isnan (result1)); - ASSERT (isnan (result2)); + ASSERT (isnan (result1)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (isnan (result2)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (signbit (result1) == signbit (result2)); - ASSERT (ptr1 == input + 4); - ASSERT (ptr2 == input + 4); + ASSERT (ptr1 == input + 4); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 2.5.1, mingw */ + ASSERT (ptr2 == input + 4); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 2.5.1, mingw */ ASSERT (errno == 0); #else ASSERT (result1 == 0.0); @@ -595,15 +595,15 @@ double result1 = strtod (input, &ptr1); double result2 = strtod (input + 1, &ptr2); #ifdef NAN - ASSERT (isnan (result1)); - ASSERT (isnan (result2)); + ASSERT (isnan (result1)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (isnan (result2)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ # if 0 /* Sign bits of NaN is a portability sticking point, not worth worrying about. */ - ASSERT (signbit (result1) != signbit (result2)); + ASSERT (signbit (result1) != signbit (result2)); /* glibc-2.3.6, IRIX 6.5, OSF/1 5.1, mingw */ # endif - ASSERT (ptr1 == input + 6); - ASSERT (ptr2 == input + 6); + ASSERT (ptr1 == input + 6); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (ptr2 == input + 6); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (errno == 0); #else ASSERT (result1 == 0.0); @@ -621,8 +621,8 @@ char *ptr; double result = strtod (input, &ptr); #ifdef NAN - ASSERT (isnan (result)); - ASSERT (ptr == input + 6); + ASSERT (isnan (result)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (ptr == input + 6); /* glibc-2.3.6, MacOS X 10.3, FreeBSD 6.2, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (errno == 0); #else ASSERT (result == 0.0); @@ -642,15 +642,15 @@ double result1 = strtod (input, &ptr1); double result2 = strtod (input + 1, &ptr2); #ifdef NAN - ASSERT (isnan (result1)); - ASSERT (isnan (result2)); + ASSERT (isnan (result1)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (isnan (result2)); /* OpenBSD 4.0, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ # if 0 /* Sign bits of NaN is a portability sticking point, not worth worrying about. */ - ASSERT (signbit (result1) != signbit (result2)); + ASSERT (signbit (result1) != signbit (result2)); /* glibc-2.3.6, IRIX 6.5, OSF/1 5.1, mingw */ # endif - ASSERT (ptr1 == input + 7); - ASSERT (ptr2 == input + 7); + ASSERT (ptr1 == input + 7); /* glibc-2.3.6, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (ptr2 == input + 7); /* glibc-2.3.6, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (errno == 0); #else ASSERT (result1 == 0.0); @@ -669,8 +669,8 @@ const char input[] = "0xa"; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == 10.0); - ASSERT (ptr == input + 3); + ASSERT (result == 10.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ + ASSERT (ptr == input + 3); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { @@ -678,8 +678,8 @@ const char input[] = "0XA"; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == 10.0); - ASSERT (ptr == input + 3); + ASSERT (result == 10.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ + ASSERT (ptr == input + 3); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { @@ -687,8 +687,8 @@ const char input[] = "0x1p"; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == 1.0); - ASSERT (ptr == input + 3); + ASSERT (result == 1.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ + ASSERT (ptr == input + 3); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { @@ -696,8 +696,8 @@ const char input[] = "0x1p+"; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == 1.0); - ASSERT (ptr == input + 3); + ASSERT (result == 1.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ + ASSERT (ptr == input + 3); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { @@ -705,8 +705,8 @@ const char input[] = "0x1p+1"; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == 2.0); - ASSERT (ptr == input + 6); + ASSERT (result == 2.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ + ASSERT (ptr == input + 6); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } { @@ -714,8 +714,8 @@ const char input[] = "0x1p+1a"; char *ptr; double result = strtod (input, &ptr); - ASSERT (result == 2.0); - ASSERT (ptr == input + 6); + ASSERT (result == 2.0); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ + ASSERT (ptr == input + 6); /* NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw */ ASSERT (errno == 0); } @@ -780,9 +780,9 @@ input[m - 1] = '1'; input[m] = '\0'; result = strtod (input, &ptr); - ASSERT (result == 1.0); - ASSERT (ptr == input + m); - ASSERT (errno == 0); + ASSERT (result == 1.0); /* MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ + ASSERT (ptr == input + m); /* OSF/1 5.1 */ + ASSERT (errno == 0); /* MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ } free (input); } @@ -806,9 +806,9 @@ input[m - 1] = '1'; input[m] = '\0'; result = strtod (input, &ptr); - ASSERT (result == 1.0); + ASSERT (result == 1.0); /* MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ ASSERT (ptr == input + m); - ASSERT (errno == 0); + ASSERT (errno == 0); /* MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, IRIX 6.5, OSF/1 5.1, mingw */ } free (input); } @@ -829,7 +829,7 @@ input[m] = '\0'; result = strtod (input, &ptr); ASSERT (result == 0.0); - ASSERT (signbit (result) == signbit (-0.0)); + ASSERT (signbit (result) == signbit (-0.0)); /* IRIX 6.5 */ ASSERT (ptr == input + m); ASSERT (errno == 0); }