summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-07-12 14:58:05 +0000
committerJakub Jelinek <jakub@redhat.com>2007-07-12 14:58:05 +0000
commit643301ae5979b1ed15f4e0b2f2535f5aa1ec7826 (patch)
tree536524ce1f8acaeb0109e80a1229a9ccefc8d258 /math
parent0e532761fa0bff35d1f93f603a2cbfeed4dc8d2d (diff)
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.inc11
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);