This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Add more tests of exp, exp10, exp2, expm1 [committed]


This patch adds some randomly-generated tests of exp, exp10, exp2 and
expm1 that are observed to increase ulps on x86_64.

Tested for x86_64 and x86 and ulps updated accordingly.  Committed.

(auto-libm-test-out diffs omitted below.)

2015-05-01  Joseph Myers  <joseph@codesourcery.com>

	* math/auto-libm-test-in: Add more tests of exp, exp10, exp2 and
	expm1.
	* math/auto-libm-test-out: Regenerated.
	* sysdeps/i386/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.

diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index e60a68d..051c068 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -1165,6 +1165,9 @@ exp -min
 exp min_subnorm
 exp -min_subnorm
 
+exp -0x1.760cd14774bd9p+0
+exp 0x1.4bed28p+0
+
 exp10 0
 exp10 -0
 exp10 3
@@ -1208,6 +1211,10 @@ exp10 -min
 exp10 min_subnorm
 exp10 -min_subnorm
 
+exp10 0xd.f73d6p-4
+exp10 0x1.cc6776p+0
+exp10 0x5.b00bcd891ffe56fp+0
+
 exp2 0
 exp2 -0
 exp2 10
@@ -1244,6 +1251,13 @@ exp2 -min
 exp2 min_subnorm
 exp2 -min_subnorm
 
+exp2 0xb.71754p-4
+exp2 0xd.d77dp+0
+exp2 0xc.122c4p-4
+exp2 -0x1.567cc8p+0
+exp2 -0x1.bbbd76p+0
+exp2 -0x1.3045fep+8
+
 expm1 0
 expm1 -0
 expm1 1
@@ -1297,6 +1311,7 @@ expm1 0xe.4152ac57cd1ea7ap-60
 expm1 0x6.660247486aed8p-4
 expm1 0x6.289a78p-4
 expm1 0x6.1b4d318238d4a2a8p-4
+expm1 0x5.fb8dc64e91a74p-4
 # Bug 16353: underflow exception may be missing
 expm1 0x4.0000000000000028p-16384 missing-underflow
 
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 4d8054f..91e5c63 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -1339,6 +1339,10 @@ ifloat: 2
 ildouble: 4
 ldouble: 4
 
+Function: "exp":
+ildouble: 1
+ldouble: 1
+
 Function: "exp10":
 ildouble: 1
 ldouble: 1
@@ -1356,24 +1360,46 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 
 Function: "exp10_upward":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
+ildouble: 2
+ldouble: 2
+
+Function: "exp2":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+
+Function: "exp2_downward":
+ildouble: 1
+ldouble: 1
+
+Function: "exp2_towardzero":
+ildouble: 1
+ldouble: 1
+
+Function: "exp2_upward":
 ildouble: 1
 ldouble: 1
 
 Function: "exp_downward":
 double: 1
 idouble: 1
+ildouble: 1
+ldouble: 1
 
 Function: "exp_towardzero":
 double: 1
 idouble: 1
+ildouble: 1
+ldouble: 1
 
 Function: "exp_upward":
 ildouble: 1
@@ -1404,8 +1430,8 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
 
 Function: "gamma":
 double: 1
@@ -1682,16 +1708,16 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 
 Function: "pow10_upward":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 
 Function: "pow_downward":
 double: 1
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 2a7cc4d..8b4cdd4 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -1429,21 +1429,41 @@ ifloat: 5
 ildouble: 4
 ldouble: 4
 
+Function: "exp":
+ildouble: 1
+ldouble: 1
+
 Function: "exp10":
-double: 1
-idouble: 1
+double: 2
+idouble: 2
 ildouble: 1
 ldouble: 1
 
 Function: "exp10_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 2
 ldouble: 2
 
 Function: "exp10_towardzero":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 2
+ldouble: 2
+
+Function: "exp10_upward":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 2
+ldouble: 2
+
+Function: "exp2":
 double: 1
 float: 1
 idouble: 1
@@ -1451,10 +1471,16 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 
-Function: "exp10_upward":
-double: 1
+Function: "exp2_downward":
+ildouble: 1
+ldouble: 1
+
+Function: "exp2_towardzero":
+ildouble: 1
+ldouble: 1
+
+Function: "exp2_upward":
 float: 1
-idouble: 1
 ifloat: 1
 ildouble: 1
 ldouble: 1
@@ -1462,10 +1488,14 @@ ldouble: 1
 Function: "exp_downward":
 double: 1
 idouble: 1
+ildouble: 1
+ldouble: 1
 
 Function: "exp_towardzero":
 double: 1
 idouble: 1
+ildouble: 1
+ldouble: 1
 
 Function: "exp_upward":
 double: 1
@@ -1502,8 +1532,8 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
 
 Function: "gamma":
 double: 1
@@ -1788,34 +1818,34 @@ ildouble: 1
 ldouble: 1
 
 Function: "pow10":
-double: 1
-idouble: 1
+double: 2
+idouble: 2
 ildouble: 1
 ldouble: 1
 
 Function: "pow10_downward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
 ildouble: 2
 ldouble: 2
 
 Function: "pow10_towardzero":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 
 Function: "pow10_upward":
-double: 1
+double: 2
 float: 1
-idouble: 1
+idouble: 2
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 
 Function: "pow_downward":
 double: 1

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]