summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-04-08 21:13:35 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-04-08 21:13:35 +0000
commit787d22bce6a345690641a226809b8ade3fa1db8d (patch)
tree65c3c3726dfecc14270bfe0fcd41477448bd84bb
parent024bcc5106a48307e2efc42ab85b3bbec6958163 (diff)
downloadglibc-787d22bce6a345690641a226809b8ade3fa1db8d.tar.gz
Add more tests of atanh.
This patch adds some randomly-generated tests of atanh that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of atanh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
-rw-r--r--ChangeLog5
-rw-r--r--math/auto-libm-test-in2
-rw-r--r--math/auto-libm-test-out130
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps6
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps8
5 files changed, 144 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index d4181e2782..0b00161755 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2015-04-08 Joseph Myers <joseph@codesourcery.com>
+ * math/auto-libm-test-in: Add more tests of atanh.
+ * math/auto-libm-test-out: Regenerated.
+ * sysdeps/i386/fpu/libm-test-ulps: Update.
+ * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
* math/auto-libm-test-in: Add more tests of atan.
* math/auto-libm-test-out: Regenerated.
* sysdeps/i386/fpu/libm-test-ulps: Update.
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 0fa1f97602..433742a0a5 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -373,6 +373,8 @@ atanh -0x2.084568p-4
atanh -0x3.e0a5d8p-4
atanh 0x3.dfb1f5db0ceccp-4
atanh 0x2.251b2a64c85dep-4
+atanh -0x2.e3458cp-4
+atanh 0x3.91d9f3c80c72d7acp-4
# Bug 16352: underflow exception may be missing.
atanh 0x1p-500 missing-underflow
atanh 0x1p-5000 missing-underflow
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 76331ee630..41bd657f9c 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -20096,6 +20096,136 @@ atanh 0x2.251b2a64c85dep-4
= atanh tonearest ldbl-128ibm 0x2.251b2a64c85dep-4L : 0x2.286e78db2bfabca36df0cd8584p-4L : inexact-ok
= atanh towardzero ldbl-128ibm 0x2.251b2a64c85dep-4L : 0x2.286e78db2bfabca36df0cd8584p-4L : inexact-ok
= atanh upward ldbl-128ibm 0x2.251b2a64c85dep-4L : 0x2.286e78db2bfabca36df0cd8585p-4L : inexact-ok
+atanh -0x2.e3458cp-4
+= atanh downward flt-32 -0x2.e3458cp-4f : -0x2.eb75acp-4f : inexact-ok
+= atanh tonearest flt-32 -0x2.e3458cp-4f : -0x2.eb75acp-4f : inexact-ok
+= atanh towardzero flt-32 -0x2.e3458cp-4f : -0x2.eb75a8p-4f : inexact-ok
+= atanh upward flt-32 -0x2.e3458cp-4f : -0x2.eb75a8p-4f : inexact-ok
+= atanh downward dbl-64 -0x2.e3458cp-4 : -0x2.eb75aac832c62p-4 : inexact-ok
+= atanh tonearest dbl-64 -0x2.e3458cp-4 : -0x2.eb75aac832c62p-4 : inexact-ok
+= atanh towardzero dbl-64 -0x2.e3458cp-4 : -0x2.eb75aac832c6p-4 : inexact-ok
+= atanh upward dbl-64 -0x2.e3458cp-4 : -0x2.eb75aac832c6p-4 : inexact-ok
+= atanh downward ldbl-96-intel -0x2.e3458cp-4L : -0x2.eb75aac832c61fa4p-4L : inexact-ok
+= atanh tonearest ldbl-96-intel -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh towardzero ldbl-96-intel -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh upward ldbl-96-intel -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh downward ldbl-96-m68k -0x2.e3458cp-4L : -0x2.eb75aac832c61fa4p-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh upward ldbl-96-m68k -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh downward ldbl-128 -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277ed62p-4L : inexact-ok
+= atanh tonearest ldbl-128 -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277ed6p-4L : inexact-ok
+= atanh towardzero ldbl-128 -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277ed6p-4L : inexact-ok
+= atanh upward ldbl-128 -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277ed6p-4L : inexact-ok
+= atanh downward ldbl-128ibm -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277eep-4L : inexact-ok
+= atanh tonearest ldbl-128ibm -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277edp-4L : inexact-ok
+= atanh towardzero ldbl-128ibm -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277edp-4L : inexact-ok
+= atanh upward ldbl-128ibm -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277edp-4L : inexact-ok
+atanh 0x3.91d9f3c80c72d7acp-4
+= atanh downward flt-32 0x3.91d9f4p-4f : 0x3.a17be8p-4f : inexact-ok
+= atanh tonearest flt-32 0x3.91d9f4p-4f : 0x3.a17be8p-4f : inexact-ok
+= atanh towardzero flt-32 0x3.91d9f4p-4f : 0x3.a17be8p-4f : inexact-ok
+= atanh upward flt-32 0x3.91d9f4p-4f : 0x3.a17becp-4f : inexact-ok
+= atanh downward dbl-64 0x3.91d9f4p-4 : 0x3.a17be81862298p-4 : inexact-ok
+= atanh tonearest dbl-64 0x3.91d9f4p-4 : 0x3.a17be8186229ap-4 : inexact-ok
+= atanh towardzero dbl-64 0x3.91d9f4p-4 : 0x3.a17be81862298p-4 : inexact-ok
+= atanh upward dbl-64 0x3.91d9f4p-4 : 0x3.a17be8186229ap-4 : inexact-ok
+= atanh downward ldbl-96-intel 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh tonearest ldbl-96-intel 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh towardzero ldbl-96-intel 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh upward ldbl-96-intel 0x3.91d9f4p-4L : 0x3.a17be81862299c08p-4L : inexact-ok
+= atanh downward ldbl-96-m68k 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh upward ldbl-96-m68k 0x3.91d9f4p-4L : 0x3.a17be81862299c08p-4L : inexact-ok
+= atanh downward ldbl-128 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7c2p-4L : inexact-ok
+= atanh tonearest ldbl-128 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7c2p-4L : inexact-ok
+= atanh towardzero ldbl-128 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7c2p-4L : inexact-ok
+= atanh upward ldbl-128 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7c4p-4L : inexact-ok
+= atanh downward ldbl-128ibm 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7p-4L : inexact-ok
+= atanh tonearest ldbl-128ibm 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de8p-4L : inexact-ok
+= atanh towardzero ldbl-128ibm 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7p-4L : inexact-ok
+= atanh upward ldbl-128ibm 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de8p-4L : inexact-ok
+= atanh downward flt-32 0x3.91d9fp-4f : 0x3.a17bep-4f : inexact-ok
+= atanh tonearest flt-32 0x3.91d9fp-4f : 0x3.a17be4p-4f : inexact-ok
+= atanh towardzero flt-32 0x3.91d9fp-4f : 0x3.a17bep-4f : inexact-ok
+= atanh upward flt-32 0x3.91d9fp-4f : 0x3.a17be4p-4f : inexact-ok
+= atanh downward dbl-64 0x3.91d9fp-4 : 0x3.a17be3e2bdc8ep-4 : inexact-ok
+= atanh tonearest dbl-64 0x3.91d9fp-4 : 0x3.a17be3e2bdc9p-4 : inexact-ok
+= atanh towardzero dbl-64 0x3.91d9fp-4 : 0x3.a17be3e2bdc8ep-4 : inexact-ok
+= atanh upward dbl-64 0x3.91d9fp-4 : 0x3.a17be3e2bdc9p-4 : inexact-ok
+= atanh downward ldbl-96-intel 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f91p-4L : inexact-ok
+= atanh tonearest ldbl-96-intel 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f914p-4L : inexact-ok
+= atanh towardzero ldbl-96-intel 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f91p-4L : inexact-ok
+= atanh upward ldbl-96-intel 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f914p-4L : inexact-ok
+= atanh downward ldbl-96-m68k 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f91p-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f914p-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f91p-4L : inexact-ok
+= atanh upward ldbl-96-m68k 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f914p-4L : inexact-ok
+= atanh downward ldbl-128 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b9621ap-4L : inexact-ok
+= atanh tonearest ldbl-128 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b9621ap-4L : inexact-ok
+= atanh towardzero ldbl-128 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b9621ap-4L : inexact-ok
+= atanh upward ldbl-128 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b9621cp-4L : inexact-ok
+= atanh downward ldbl-128ibm 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b962p-4L : inexact-ok
+= atanh tonearest ldbl-128ibm 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b962p-4L : inexact-ok
+= atanh towardzero ldbl-128ibm 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b962p-4L : inexact-ok
+= atanh upward ldbl-128ibm 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b963p-4L : inexact-ok
+= atanh downward dbl-64 0x3.91d9f3c80c72ep-4 : 0x3.a17be7dd80462p-4 : inexact-ok
+= atanh tonearest dbl-64 0x3.91d9f3c80c72ep-4 : 0x3.a17be7dd80462p-4 : inexact-ok
+= atanh towardzero dbl-64 0x3.91d9f3c80c72ep-4 : 0x3.a17be7dd80462p-4 : inexact-ok
+= atanh upward dbl-64 0x3.91d9f3c80c72ep-4 : 0x3.a17be7dd80464p-4 : inexact-ok
+= atanh downward ldbl-96-intel 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh tonearest ldbl-96-intel 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh towardzero ldbl-96-intel 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh upward ldbl-96-intel 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462184p-4L : inexact-ok
+= atanh downward ldbl-96-m68k 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh upward ldbl-96-m68k 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462184p-4L : inexact-ok
+= atanh downward ldbl-128 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafc6p-4L : inexact-ok
+= atanh tonearest ldbl-128 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafc6p-4L : inexact-ok
+= atanh towardzero ldbl-128 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafc6p-4L : inexact-ok
+= atanh upward ldbl-128 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafc8p-4L : inexact-ok
+= atanh downward ldbl-128ibm 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafp-4L : inexact-ok
+= atanh tonearest ldbl-128ibm 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eabp-4L : inexact-ok
+= atanh towardzero ldbl-128ibm 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafp-4L : inexact-ok
+= atanh upward ldbl-128ibm 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eabp-4L : inexact-ok
+= atanh downward dbl-64 0x3.91d9f3c80c72cp-4 : 0x3.a17be7dd8045ep-4 : inexact-ok
+= atanh tonearest dbl-64 0x3.91d9f3c80c72cp-4 : 0x3.a17be7dd8046p-4 : inexact-ok
+= atanh towardzero dbl-64 0x3.91d9f3c80c72cp-4 : 0x3.a17be7dd8045ep-4 : inexact-ok
+= atanh upward dbl-64 0x3.91d9f3c80c72cp-4 : 0x3.a17be7dd8046p-4 : inexact-ok
+= atanh downward ldbl-96-intel 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh tonearest ldbl-96-intel 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh towardzero ldbl-96-intel 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh upward ldbl-96-intel 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd8p-4L : inexact-ok
+= atanh downward ldbl-96-m68k 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh upward ldbl-96-m68k 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd8p-4L : inexact-ok
+= atanh downward ldbl-128 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa0421ep-4L : inexact-ok
+= atanh tonearest ldbl-128 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa0422p-4L : inexact-ok
+= atanh towardzero ldbl-128 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa0421ep-4L : inexact-ok
+= atanh upward ldbl-128 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa0422p-4L : inexact-ok
+= atanh downward ldbl-128ibm 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa042p-4L : inexact-ok
+= atanh tonearest ldbl-128ibm 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa042p-4L : inexact-ok
+= atanh towardzero ldbl-128ibm 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa042p-4L : inexact-ok
+= atanh upward ldbl-128ibm 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa043p-4L : inexact-ok
+= atanh downward ldbl-96-intel 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh tonearest ldbl-96-intel 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh towardzero ldbl-96-intel 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh upward ldbl-96-intel 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618cp-4L : inexact-ok
+= atanh downward ldbl-96-m68k 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh upward ldbl-96-m68k 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618cp-4L : inexact-ok
+= atanh downward ldbl-128 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b10fap-4L : inexact-ok
+= atanh tonearest ldbl-128 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b10fap-4L : inexact-ok
+= atanh towardzero ldbl-128 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b10fap-4L : inexact-ok
+= atanh upward ldbl-128 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b10fcp-4L : inexact-ok
+= atanh downward ldbl-128ibm 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b1p-4L : inexact-ok
+= atanh tonearest ldbl-128ibm 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b11p-4L : inexact-ok
+= atanh towardzero ldbl-128ibm 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b1p-4L : inexact-ok
+= atanh upward ldbl-128ibm 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b11p-4L : inexact-ok
atanh 0x1p-500 missing-underflow
= atanh downward flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok
= atanh tonearest flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index e3554ede68..6a036f5e5e 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -135,14 +135,14 @@ ldouble: 1
Function: "atanh":
ildouble: 3
-ldouble: 2
+ldouble: 3
Function: "atanh_downward":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 2
+ildouble: 3
ldouble: 4
Function: "atanh_towardzero":
@@ -156,7 +156,7 @@ ldouble: 3
Function: "atanh_upward":
idouble: 1
ifloat: 1
-ildouble: 4
+ildouble: 5
ldouble: 4
Function: "cabs":
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 33e597a956..5d9bc9b075 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -190,8 +190,8 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
Function: "atanh_downward":
double: 2
@@ -202,9 +202,9 @@ ildouble: 5
ldouble: 5
Function: "atanh_towardzero":
-double: 1
+double: 2
float: 2
-idouble: 1
+idouble: 2
ifloat: 2
ildouble: 4
ldouble: 4