diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-12-05 06:49:26 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-12-05 06:49:26 +0000 |
commit | b210e4ccb6b1f8df2ff4155b6264473f1d26be78 (patch) | |
tree | 870b5be7adc8f64ef756c77e1acc4b5c9f742e00 | |
parent | 6d0c49145e818f4f8417b61ddbe22c957825d5e9 (diff) | |
download | glibc-b210e4ccb6b1f8df2ff4155b6264473f1d26be78.tar.gz glibc-b210e4ccb6b1f8df2ff4155b6264473f1d26be78.tar.xz glibc-b210e4ccb6b1f8df2ff4155b6264473f1d26be78.zip |
Update.
* math/test-misc.c (main): Add a few more over and underflow tests for scalb.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | math/test-misc.c | 43 |
2 files changed, 46 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 8d399f5b48..832e1aa516 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2000-12-04 Ulrich Drepper <drepper@redhat.com> + * math/test-misc.c (main): Add a few more over and underflow tests + for scalb. + * sysdeps/i386/fpu/e_scalb.S: Handle NaN as first parameter correctly. * sysdeps/i386/fpu/e_scalbf.S: Likewise. * sysdeps/i386/fpu/e_scalbl.S: Likewise. diff --git a/math/test-misc.c b/math/test-misc.c index 514035554c..0dbb0882fa 100644 --- a/math/test-misc.c +++ b/math/test-misc.c @@ -17,6 +17,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include <fenv.h> #include <math.h> #include <stdio.h> #include <string.h> @@ -208,5 +209,47 @@ main (void) } #endif +#ifndef NO_LONG_DOUBLE + { + long double r; + + feclearexcept (FE_ALL_EXCEPT); + r = scalbl (LDBL_MIN, 2147483647); + if (! isinf (r)) + { + puts ("scalbl (LDBL_MIN, 2147483647) does not return Inf"); + result = 1; + } + else if (signbit (r) != 0) + { + puts ("scalbl (LDBL_MIN, 2147483647) returns -Inf"); + result = 1; + } + else if (fetestexcept (FE_UNDERFLOW)) + { + puts ("scalbl(NaN, 0) raises underflow exception"); + result = 1; + } + + feclearexcept (FE_ALL_EXCEPT); + r = scalbl (LDBL_MAX, -2147483647); + if (r != 0.0) + { + puts ("scalbl (LDBL_MAX, -2147483647) does not return 0"); + result = 1; + } + else if (signbit (r) != 0) + { + puts ("scalbl (LDBL_MAX, -2147483647) returns -Inf"); + result = 1; + } + else if (fetestexcept (FE_OVERFLOW)) + { + puts ("scalbl(NaN, 0) raises overflow exception"); + result = 1; + } + } +#endif + return result; } |