diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-04-08 21:13:35 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-04-08 21:13:35 +0000 |
commit | 787d22bce6a345690641a226809b8ade3fa1db8d (patch) | |
tree | 65c3c3726dfecc14270bfe0fcd41477448bd84bb | |
parent | 024bcc5106a48307e2efc42ab85b3bbec6958163 (diff) | |
download | glibc-787d22bce6a345690641a226809b8ade3fa1db8d.tar.gz glibc-787d22bce6a345690641a226809b8ade3fa1db8d.tar.xz glibc-787d22bce6a345690641a226809b8ade3fa1db8d.zip |
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-- | ChangeLog | 5 | ||||
-rw-r--r-- | math/auto-libm-test-in | 2 | ||||
-rw-r--r-- | math/auto-libm-test-out | 130 | ||||
-rw-r--r-- | sysdeps/i386/fpu/libm-test-ulps | 6 | ||||
-rw-r--r-- | sysdeps/x86_64/fpu/libm-test-ulps | 8 |
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 |