aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-05-05 22:59:41 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-05-05 22:59:41 +0000
commit31450d9a87e5bb4d887127ad72b908b4f52bd522 (patch)
tree2e164fa8bead9b053a55ff8ed34cef23658ad206 /sysdeps
parenta6ab6ccda3c3aeb741bff7a18fb737e5b7233a49 (diff)
downloadglibc-31450d9a87e5bb4d887127ad72b908b4f52bd522.tar
glibc-31450d9a87e5bb4d887127ad72b908b4f52bd522.tar.gz
glibc-31450d9a87e5bb4d887127ad72b908b4f52bd522.tar.bz2
glibc-31450d9a87e5bb4d887127ad72b908b4f52bd522.zip
Add further tests of libm functions.
This patch adds more randomly-generated tests of various libm functions that are observed to increase ulps on x86_64. (This process must eventually converge, when my random test generation stops finding inputs that increase the listed ulps, except maybe for any cases uncovered where the errors exceed the maximum allowed 9ulp error and so indicate actual libm bugs needing fixing.) Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of acosh, atanh, clog, clog10, csqrt, erfc, exp2, expm1, log10, log2 and sinh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps62
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps96
2 files changed, 83 insertions, 75 deletions
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 29930c3743..002f09a859 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -157,7 +157,7 @@ Function: "atanh_upward":
idouble: 1
ifloat: 1
ildouble: 5
-ldouble: 4
+ldouble: 5
Function: "cabs":
ildouble: 1
@@ -742,12 +742,12 @@ ildouble: 1
ldouble: 1
Function: Real part of "clog":
-double: 2
+double: 3
float: 2
-idouble: 2
+idouble: 3
ifloat: 2
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: Imaginary part of "clog":
double: 1
@@ -770,12 +770,12 @@ ildouble: 2
ldouble: 2
Function: Real part of "clog10_downward":
-double: 4
+double: 5
float: 4
-idouble: 4
+idouble: 5
ifloat: 4
-ildouble: 7
-ldouble: 7
+ildouble: 8
+ldouble: 8
Function: Imaginary part of "clog10_downward":
double: 1
@@ -786,12 +786,12 @@ ildouble: 2
ldouble: 2
Function: Real part of "clog10_towardzero":
-double: 4
+double: 5
float: 4
-idouble: 4
+idouble: 5
ifloat: 4
-ildouble: 7
-ldouble: 7
+ildouble: 8
+ldouble: 8
Function: Imaginary part of "clog10_towardzero":
double: 1
@@ -802,10 +802,10 @@ ildouble: 3
ldouble: 3
Function: Real part of "clog10_upward":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
+double: 5
+float: 5
+idouble: 5
+ifloat: 5
ildouble: 6
ldouble: 6
@@ -818,12 +818,12 @@ ildouble: 3
ldouble: 3
Function: Real part of "clog_downward":
-double: 4
+double: 5
float: 5
-idouble: 4
+idouble: 5
ifloat: 5
-ildouble: 5
-ldouble: 5
+ildouble: 7
+ldouble: 7
Function: Imaginary part of "clog_downward":
double: 1
@@ -834,12 +834,12 @@ ildouble: 1
ldouble: 1
Function: Real part of "clog_towardzero":
-double: 4
+double: 5
float: 5
-idouble: 4
+idouble: 5
ifloat: 5
-ildouble: 5
-ldouble: 5
+ildouble: 8
+ldouble: 8
Function: Imaginary part of "clog_towardzero":
double: 1
@@ -1108,8 +1108,8 @@ ildouble: 2
ldouble: 2
Function: Imaginary part of "csqrt":
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: Real part of "csqrt_downward":
double: 1
@@ -1128,8 +1128,8 @@ ldouble: 3
Function: Real part of "csqrt_towardzero":
double: 1
idouble: 1
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: Imaginary part of "csqrt_towardzero":
double: 1
@@ -1422,8 +1422,8 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: "expm1_upward":
double: 1
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 996251ed54..7448a4d017 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -48,9 +48,9 @@ ildouble: 4
ldouble: 4
Function: "acosh_towardzero":
-double: 1
+double: 2
float: 1
-idouble: 1
+idouble: 2
ifloat: 1
ildouble: 4
ldouble: 4
@@ -214,8 +214,8 @@ double: 2
float: 3
idouble: 2
ifloat: 3
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
Function: "cabs":
double: 1
@@ -818,12 +818,12 @@ ildouble: 1
ldouble: 1
Function: Real part of "clog":
-double: 2
+double: 3
float: 2
-idouble: 2
+idouble: 3
ifloat: 2
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: Imaginary part of "clog":
float: 1
@@ -852,24 +852,24 @@ double: 6
float: 6
idouble: 6
ifloat: 6
-ildouble: 7
-ldouble: 7
+ildouble: 8
+ldouble: 8
Function: Imaginary part of "clog10_downward":
double: 2
-float: 3
+float: 4
idouble: 2
-ifloat: 3
+ifloat: 4
ildouble: 2
ldouble: 2
Function: Real part of "clog10_towardzero":
-double: 4
+double: 5
float: 4
-idouble: 4
+idouble: 5
ifloat: 4
-ildouble: 7
-ldouble: 7
+ildouble: 8
+ldouble: 8
Function: Imaginary part of "clog10_towardzero":
double: 2
@@ -880,9 +880,9 @@ ildouble: 3
ldouble: 3
Function: Real part of "clog10_upward":
-double: 7
+double: 8
float: 5
-idouble: 7
+idouble: 8
ifloat: 5
ildouble: 6
ldouble: 6
@@ -896,12 +896,12 @@ ildouble: 3
ldouble: 3
Function: Real part of "clog_downward":
-double: 4
+double: 7
float: 5
-idouble: 4
+idouble: 7
ifloat: 5
-ildouble: 5
-ldouble: 5
+ildouble: 7
+ldouble: 7
Function: Imaginary part of "clog_downward":
double: 1
@@ -916,8 +916,8 @@ double: 7
float: 5
idouble: 7
ifloat: 5
-ildouble: 5
-ldouble: 5
+ildouble: 8
+ldouble: 8
Function: Imaginary part of "clog_towardzero":
double: 1
@@ -928,9 +928,9 @@ ildouble: 1
ldouble: 1
Function: Real part of "clog_upward":
-double: 5
+double: 8
float: 5
-idouble: 5
+idouble: 8
ifloat: 5
ildouble: 6
ldouble: 6
@@ -1188,8 +1188,8 @@ double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: Real part of "csqrt_downward":
double: 4
@@ -1212,8 +1212,8 @@ double: 3
float: 3
idouble: 3
ifloat: 3
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: Imaginary part of "csqrt_towardzero":
double: 3
@@ -1224,9 +1224,9 @@ ildouble: 3
ldouble: 3
Function: Real part of "csqrt_upward":
-double: 4
+double: 5
float: 4
-idouble: 4
+idouble: 5
ifloat: 4
ildouble: 4
ldouble: 4
@@ -1417,9 +1417,9 @@ ldouble: 4
Function: "erfc_towardzero":
double: 3
-float: 3
+float: 4
idouble: 3
-ifloat: 3
+ifloat: 4
ildouble: 4
ldouble: 4
@@ -1474,17 +1474,25 @@ ildouble: 1
ldouble: 1
Function: "exp2_downward":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
Function: "exp2_towardzero":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Function: "exp2_upward":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
@@ -1528,8 +1536,8 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: "expm1_upward":
double: 1
@@ -1706,9 +1714,9 @@ ildouble: 1
ldouble: 1
Function: "log10":
-double: 1
+double: 2
float: 2
-idouble: 1
+idouble: 2
ifloat: 2
ildouble: 1
ldouble: 1
@@ -1770,9 +1778,9 @@ ildouble: 3
ldouble: 3
Function: "log2":
-double: 1
+double: 2
float: 1
-idouble: 1
+idouble: 2
ifloat: 1
ildouble: 1
ldouble: 1
@@ -1925,9 +1933,9 @@ ldouble: 2
Function: "sinh":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
+ifloat: 2
ildouble: 2
ldouble: 2
@@ -1948,9 +1956,9 @@ ildouble: 4
ldouble: 4
Function: "sinh_upward":
-double: 2
+double: 3
float: 3
-idouble: 2
+idouble: 3
ifloat: 3
ildouble: 5
ldouble: 5