aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-11-19 15:26:52 -0800
committerDavid S. Miller <davem@davemloft.net>2012-11-19 15:31:24 -0800
commit6d33cc9d9bde501e0906c42ee396d42cb4ca603c (patch)
treefa106d1ac0b43e69180ba0e497321d56210d4a92 /math
parent877f2d8e8def5a278e4b9f4e4dc378f7f8a653b8 (diff)
downloadglibc-6d33cc9d9bde501e0906c42ee396d42cb4ca603c.zip
glibc-6d33cc9d9bde501e0906c42ee396d42cb4ca603c.tar.gz
glibc-6d33cc9d9bde501e0906c42ee396d42cb4ca603c.tar.bz2
Fix spurious underflows in ldbl-128 atan implementation.
With help from Joseph Myers. * sysdeps/ieee754/ldbl-128/s_atanl.c (__atanl): Handle tiny and very large arguments properly. * math/libm-test.inc (atan_test): New tests. (atan2_test): New tests. * sysdeps/sparc/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Update.
Diffstat (limited to 'math')
-rw-r--r--math/libm-test.inc5
1 files changed, 5 insertions, 0 deletions
diff --git a/math/libm-test.inc b/math/libm-test.inc
index 0b254e1..2a60557 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -1187,6 +1187,8 @@ atan_test (void)
TEST_f_f (atan, plus_infty, M_PI_2l);
TEST_f_f (atan, minus_infty, -M_PI_2l);
TEST_f_f (atan, nan_value, nan_value);
+ TEST_f_f (atan, max_value, M_PI_2l);
+ TEST_f_f (atan, -max_value, -M_PI_2l);
TEST_f_f (atan, 1, M_PI_4l);
TEST_f_f (atan, -1, -M_PI_4l);
@@ -1295,6 +1297,9 @@ atan2_test (void)
TEST_ff_f (atan2, max_value, max_value, M_PI_4l);
+ TEST_ff_f (atan2, max_value, min_value, M_PI_2l);
+ TEST_ff_f (atan2, -max_value, -min_value, -M_PI_2l);
+
TEST_ff_f (atan2, 0.75L, 1, 0.643501108793284386802809228717322638L);
TEST_ff_f (atan2, -0.75L, 1.0L, -0.643501108793284386802809228717322638L);
TEST_ff_f (atan2, 0.75L, -1.0L, 2.49809154479650885165983415456218025L);