diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-07-12 14:58:05 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2007-07-12 14:58:05 +0000 |
commit | 643301ae5979b1ed15f4e0b2f2535f5aa1ec7826 (patch) | |
tree | 536524ce1f8acaeb0109e80a1229a9ccefc8d258 /math | |
parent | 0e532761fa0bff35d1f93f603a2cbfeed4dc8d2d (diff) | |
download | glibc-643301ae5979b1ed15f4e0b2f2535f5aa1ec7826.tar glibc-643301ae5979b1ed15f4e0b2f2535f5aa1ec7826.tar.gz glibc-643301ae5979b1ed15f4e0b2f2535f5aa1ec7826.tar.bz2 glibc-643301ae5979b1ed15f4e0b2f2535f5aa1ec7826.zip |
2007-03-01 Jakub Jelinek <jakub@redhat.com>
[BZ #4069]
* sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Check for NaN
earlier.
* math/libm-test.inc (pow_test): Add more tests involving NaNs.
* sysdeps/i386/fpu/e_powf.S (__ieee754_powf): Avoid invalid exception
for x qNaN and y either +-inf or non-integer value.
* sysdeps/i386/fpu/e_pow.S (__ieee754_pow): Likewise.
* sysdeps/i386/fpu/e_powl.S (__ieee754_powl): Likewise.
* sysdeps/x86_64/fpu/e_powl.S (__ieee754_powl): Likewise.
Diffstat (limited to 'math')
-rw-r--r-- | math/libm-test.inc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/math/libm-test.inc b/math/libm-test.inc index 23ee6beaa8..972309f85f 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -4614,6 +4614,17 @@ pow_test (void) /* pow (x, NaN) == NaN. */ TEST_ff_f (pow, 3.0, nan_value, nan_value); + TEST_ff_f (pow, minus_zero, nan_value, nan_value); + TEST_ff_f (pow, plus_infty, nan_value, nan_value); + TEST_ff_f (pow, -3.0, nan_value, nan_value); + TEST_ff_f (pow, minus_infty, nan_value, nan_value); + + TEST_ff_f (pow, nan_value, 3.0, nan_value); + TEST_ff_f (pow, nan_value, -3.0, nan_value); + TEST_ff_f (pow, nan_value, plus_infty, nan_value); + TEST_ff_f (pow, nan_value, minus_infty, nan_value); + TEST_ff_f (pow, nan_value, 2.5, nan_value); + TEST_ff_f (pow, nan_value, -2.5, nan_value); TEST_ff_f (pow, 1, plus_infty, 1); TEST_ff_f (pow, -1, plus_infty, 1); |