aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorPaul Zimmermann <Paul.Zimmermann@inria.fr>2020-03-30 15:55:55 +0200
committerCarlos O'Donell <carlos@redhat.com>2020-03-31 21:48:54 -0400
commita9d42c09a327540a99f2eac25a98fd2ad6d0b540 (patch)
tree2868b4c24e993154324f514af46329e43b2c7d1e /sysdeps
parent49c3c37651e2d2ec4ff8ce21252bbbc08a9d6639 (diff)
downloadglibc-a9d42c09a327540a99f2eac25a98fd2ad6d0b540.tar
glibc-a9d42c09a327540a99f2eac25a98fd2ad6d0b540.tar.gz
glibc-a9d42c09a327540a99f2eac25a98fd2ad6d0b540.tar.bz2
glibc-a9d42c09a327540a99f2eac25a98fd2ad6d0b540.zip
math: Add inputs that yield larger errors for float type (x86_64)
The corner cases included were generated using exhaustive search for all float/binary32 values on x86_64 (comparing to MPFR for correct rounding to nearest). For the j0/j1/y0 functions, only cases with ulp error <= 9 were included. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/i386/i686/fpu/multiarch/libm-test-ulps35
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps88
2 files changed, 64 insertions, 59 deletions
diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
index d293214fbc..670a8c370a 100644
--- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
+++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
@@ -766,7 +766,7 @@ ldouble: 2
Function: "cosh":
double: 1
-float: 1
+float: 2
float128: 1
ldouble: 2
@@ -1125,6 +1125,7 @@ ldouble: 5
Function: "exp":
double: 1
+float: 1
float128: 1
ldouble: 1
@@ -1250,7 +1251,7 @@ ldouble: 1
Function: "j0":
double: 2
-float: 2
+float: 5
float128: 2
ldouble: 2
@@ -1270,13 +1271,13 @@ Function: "j0_upward":
double: 3
float: 3
float128: 5
-ldouble: 4
+ldouble: 6
Function: "j1":
double: 2
-float: 2
+float: 5
float128: 4
-ldouble: 1
+ldouble: 5
Function: "j1_downward":
double: 3
@@ -1575,13 +1576,13 @@ ldouble: 5
Function: "tgamma_downward":
double: 6
-float: 5
+float: 7
float128: 5
ldouble: 5
Function: "tgamma_towardzero":
double: 6
-float: 5
+float: 7
float128: 5
ldouble: 5
@@ -1607,37 +1608,37 @@ Function: "y0_towardzero":
double: 3
float: 3
float128: 3
-ldouble: 5
+ldouble: 6
Function: "y0_upward":
double: 3
float: 5
float128: 3
-ldouble: 3
+ldouble: 5
Function: "y1":
double: 3
float: 2
-float128: 2
-ldouble: 2
+float128: 5
+ldouble: 3
Function: "y1_downward":
double: 3
-float: 4
-float128: 4
+float: 5
+float128: 5
ldouble: 7
Function: "y1_towardzero":
double: 3
-float: 2
-float128: 2
+float: 4
+float128: 6
ldouble: 5
Function: "y1_upward":
double: 7
float: 3
-float128: 5
-ldouble: 7
+float128: 6
+ldouble: 9
Function: "yn":
double: 3
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 7dc9252bc9..196e60d0b9 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -73,7 +73,7 @@ ldouble: 1
Function: "asinh":
double: 1
-float: 1
+float: 2
float128: 3
ldouble: 3
@@ -761,6 +761,7 @@ ldouble: 1
Function: "cos":
double: 1
+float: 1
float128: 1
ldouble: 1
@@ -804,7 +805,7 @@ float: 1
Function: "cosh":
double: 1
-float: 1
+float: 2
float128: 1
ldouble: 2
@@ -1135,7 +1136,7 @@ ldouble: 1
Function: "erfc":
double: 3
-float: 2
+float: 3
float128: 2
ldouble: 3
@@ -1158,11 +1159,13 @@ float128: 5
ldouble: 5
Function: "exp":
+float: 1
float128: 1
ldouble: 1
Function: "exp10":
double: 2
+float: 1
float128: 2
ldouble: 1
@@ -1269,22 +1272,22 @@ ldouble: 4
Function: "gamma":
double: 4
-float: 4
+float: 7
ldouble: 4
Function: "gamma_downward":
double: 5
-float: 4
+float: 7
ldouble: 7
Function: "gamma_towardzero":
double: 5
-float: 4
+float: 6
ldouble: 7
Function: "gamma_upward":
double: 5
-float: 5
+float: 6
ldouble: 6
Function: "hypot":
@@ -1309,7 +1312,7 @@ ldouble: 1
Function: "j0":
double: 2
-float: 2
+float: 8
float128: 2
ldouble: 2
@@ -1320,26 +1323,26 @@ float128: 4
ldouble: 4
Function: "j0_towardzero":
-double: 3
-float: 2
+double: 4
+float: 5
float128: 2
ldouble: 5
Function: "j0_upward":
-double: 3
-float: 2
+double: 4
+float: 5
float128: 5
-ldouble: 4
+ldouble: 6
Function: "j1":
-double: 1
-float: 2
+double: 2
+float: 9
float128: 4
-ldouble: 1
+ldouble: 5
Function: "j1_downward":
double: 3
-float: 3
+float: 5
float128: 4
ldouble: 4
@@ -1381,25 +1384,25 @@ ldouble: 5
Function: "lgamma":
double: 4
-float: 4
+float: 7
float128: 5
ldouble: 4
Function: "lgamma_downward":
double: 5
-float: 4
+float: 7
float128: 8
ldouble: 7
Function: "lgamma_towardzero":
double: 5
-float: 4
+float: 6
float128: 5
ldouble: 7
Function: "lgamma_upward":
double: 5
-float: 5
+float: 6
float128: 8
ldouble: 6
@@ -1562,6 +1565,7 @@ float: 3
Function: "sin":
double: 1
+float: 1
float128: 1
ldouble: 1
@@ -1719,37 +1723,37 @@ ldouble: 4
Function: "tgamma":
double: 5
-float: 5
+float: 8
float128: 4
ldouble: 5
Function: "tgamma_downward":
double: 5
-float: 5
+float: 7
float128: 5
ldouble: 5
Function: "tgamma_towardzero":
double: 5
-float: 5
+float: 7
float128: 5
ldouble: 5
Function: "tgamma_upward":
double: 5
-float: 5
+float: 8
float128: 4
ldouble: 5
Function: "y0":
-double: 2
-float: 1
+double: 3
+float: 8
float128: 3
ldouble: 1
Function: "y0_downward":
double: 3
-float: 4
+float: 6
float128: 4
ldouble: 5
@@ -1757,37 +1761,37 @@ Function: "y0_towardzero":
double: 3
float: 3
float128: 3
-ldouble: 5
+ldouble: 6
Function: "y0_upward":
double: 3
-float: 5
+float: 6
float128: 3
-ldouble: 3
+ldouble: 5
Function: "y1":
-double: 3
-float: 2
-float128: 2
-ldouble: 2
+double: 6
+float: 9
+float128: 5
+ldouble: 3
Function: "y1_downward":
double: 3
float: 2
-float128: 4
+float128: 5
ldouble: 7
Function: "y1_towardzero":
-double: 3
-float: 2
-float128: 2
+double: 4
+float: 5
+float128: 6
ldouble: 5
Function: "y1_upward":
double: 7
-float: 2
-float128: 5
-ldouble: 7
+float: 9
+float128: 6
+ldouble: 9
Function: "yn":
double: 3