about summary refs log tree commit diff
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.gz
glibc-31450d9a87e5bb4d887127ad72b908b4f52bd522.tar.xz
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