This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Fix tests for AMD K6-2 processor
- From: Enrique Perez-Terron <enrio at online dot no>
- To: libc-alpha at sources dot redhat dot com
- Date: Fri, 15 Oct 2004 21:51:13 +0200
- Subject: Fix tests for AMD K6-2 processor
I had to modify the following file to get through the tests. It's mostly
about allowing it to round the least significant bit the wrong
direction. sometimes a little more.
But I don't know if it is desirable to check in this. I guess that if
anybody finds a reason to tweak these math functions, he would like to
know if the change had affected the result at all. Besides, my
processor is quite old, I guess newer ones are more capable and are
quickly supplanting the K6-2 everywhere.
On the other hand, for some functions much larger errors are already
allowed. Any thoughts?
Regards,
Enrique
Index: sysdeps/i386/fpu/libm-test-ulps
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/i386/fpu/libm-test-ulps,v
retrieving revision 1.41
diff -u -r1.41 libm-test-ulps
--- sysdeps/i386/fpu/libm-test-ulps 1 Jul 2004 01:43:14 -0000 1.41
+++ sysdeps/i386/fpu/libm-test-ulps 15 Oct 2004 19:47:33 -0000
@@ -5,6 +5,10 @@
ildouble: 1
ldouble: 1
+# acosh
+Test "acosh (7) == 2.63391579384963341725009269461593689":
+ldouble: 1
+
# asin
Test "asin (-0.5) == -pi/6":
ldouble: 1
@@ -22,6 +26,11 @@
ldouble: 1
ildouble: 1
+# atan2
+Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772"
+ldouble: 1
+ildouble: 1
+
# atanh
Test "atanh (0.75) == 0.972955074527656652552676371721589865":
ildouble: 2
@@ -99,6 +108,9 @@
float: 1
idouble: 1
ifloat: 1
+Test "Imaginary part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
+ldouble: 1
+ildouble: 1
# catanh
Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
@@ -106,8 +118,8 @@
float: 1
idouble: 2
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 3
+ldouble: 3
Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
double: 1
idouble: 1
@@ -307,6 +319,8 @@
Test "Imaginary part of: cpow (0.75 + 1.25 i, 1.0 + 0.0 i) == 0.75 + 1.25 i":
float: 1
ifloat: 1
+ldouble: 1
+ildouble: 1
Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
double: 1
float: 3
@@ -323,7 +337,8 @@
float: 1
ifloat: 1
ildouble: 2
-ldouble: 2
+ldouble: 4
+ildouble: 4
Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i) == 1.0 + 0.0 i":
double: 2
float: 3
@@ -654,6 +669,11 @@
ildouble: 1
ldouble: 1
+# log2
+Test "log2 (0.75) == -.415037499278843818546261056052183492":
+ldouble: 1
+ildouble: 1
+
# sincos
Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
double: 1
@@ -678,11 +698,17 @@
# sinh
Test "sinh (0.75) == 0.822316731935829980703661634446913849":
ildouble: 1
+Test "sinh (0x8p-32) == 1.86264514923095703232705808926175479e-9":
+ldouble: 1
+ildouble: 1
# tan
Test "tan (pi/4) == 1":
double: 1
idouble: 1
+Test "tan (0.75) == 0.931596459944072461165202756573936428":
+ldouble: 1
+ildouble: 1
# tgamma
Test "tgamma (-0.5) == -2 sqrt (pi)":
@@ -871,10 +897,17 @@
ildouble: 622
ldouble: 622
+Function: "acosh":
+ldouble: 1
+
Function: "asin":
ldouble: 1
ildouble: 1
+Function: "atan2":
+ldouble: 1
+ildouble: 1
+
Function: "atanh":
ildouble: 2
ldouble: 1
@@ -936,14 +969,16 @@
float: 1
idouble: 1
ifloat: 1
+ldouble: 1
+ildouble: 1
Function: Real part of "catanh":
double: 2
float: 1
idouble: 2
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 3
+ldouble: 3
Function: "cbrt":
ildouble: 1
@@ -1029,8 +1064,8 @@
float: 3
idouble: 2
ifloat: 3
-ildouble: 2
-ldouble: 2
+ildouble: 4
+ldouble: 4
Function: Real part of "csin":
float: 1
@@ -1156,6 +1191,10 @@
ildouble: 1
ldouble: 1
+Function: "log2":
+ldouble: 1
+ildouble: 1
+
Function: "sincos":
double: 1
float: 1
@@ -1166,10 +1205,13 @@
Function: "sinh":
ildouble: 1
+ldouble: 1
Function: "tan":
double: 1
idouble: 1
+ldouble: 1
+ildouble: 1
Function: "tgamma":
double: 2