From 07449987c90864fceb487994b4aaa5170803ab24 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 7 Dec 2003 21:22:46 +0000 Subject: Update. 2003-12-07 Ulrich Drepper * sysdeps/i386/fpu/s_nexttowardf.c: Construct overflow value correctly. * sysdeps/i386/fpu/s_nexttoward.c: Likewise. * sysdeps/ieee754/ldbl-128/s_nexttoward.c: Likewise. * sysdeps/ieee754/ldbl-96/s_nexttoward.c: Likewise. * math/Makefile (tests): Add bug-nexttoward. * math/bug-nexttowward.c: New file. * sysdeps/generic/s_nextafter.c: Make sure overflow exception is set. * sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise. * math/bug-nextafter.c (main): Add tests for overflow and negative values. --- math/bug-nextafter.c | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'math/bug-nextafter.c') diff --git a/math/bug-nextafter.c b/math/bug-nextafter.c index 8aa849d..015c32d 100644 --- a/math/bug-nextafter.c +++ b/math/bug-nextafter.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -10,19 +11,53 @@ main (void) float i = INFINITY; float m = FLT_MAX; + feclearexcept (FE_ALL_EXCEPT); if (nextafterf (m, i) != i) { - puts ("nextafterf failed"); + puts ("nextafterf+ failed"); + ++result; + } + if (fetestexcept (FE_OVERFLOW) != 0) + { + puts ("nextafterf+ did not overflow"); + ++result; + } + feclearexcept (FE_ALL_EXCEPT); + if (nextafterf (-m, -i) != -i) + { + puts ("nextafterf- failed"); + ++result; + } + if (fetestexcept (FE_OVERFLOW) != 0) + { + puts ("nextafterf- did not overflow"); ++result; } double di = INFINITY; double dm = DBL_MAX; + feclearexcept (FE_ALL_EXCEPT); if (nextafter (dm, di) != di) { + puts ("nextafter+ failed"); + ++result; + } + if (fetestexcept (FE_OVERFLOW) != 0) + { + puts ("nextafter+ did not overflow"); + ++result; + } + feclearexcept (FE_ALL_EXCEPT); + if (nextafter (-dm, -di) != -di) + { puts ("nextafter failed"); ++result; } + if (fetestexcept (FE_OVERFLOW) != 0) + { + puts ("nextafter- did not overflow"); + ++result; + } return result; } -- cgit v1.1