This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: glibc 2.1.97
- To: Richard Henderson <rth at twiddle dot net>
- Subject: Re: glibc 2.1.97
- From: Christian Iseli <chris at ludwig-alpha dot unil dot ch>
- Date: Fri, 10 Nov 2000 14:30:41 +0100
- cc: Ulrich Drepper <drepper at cygnus dot com>, libc-alpha at sourceware dot cygnus dot com
rth@twiddle.net said:
> Not yet. I was hoping that the asin fix would cure this one as well,
> but alas...
In the meantime, I've had good success (compiling glibc-2.2) with:
$ uname -a
Linux ludwig-alpha 2.4.0-test9 #7 Tue Oct 17 13:42:13 CEST 2000 alpha unknown
(Machine is a PC164LX, alpha ev56)
$ gcc -v
Reading specs from /usr/lib/gcc-lib/alpha-redhat-linux/2.96/specs
gcc version 2.96 20000920 (experimental)
$ ld -V
GNU ld version 2.10.91 (with BFD 2.10.0.33)
Supported emulations:
elf64alpha
alpha
CFLAGS="-O2 -mcpu=ev56 -pipe"
It even seems to have compiled __printf_fphex correctly...
After applying the attached patch to sysdeps/alpha/fpu/libm-test-ulps, make
check passes cleanly.
Thanks for all the hard work!
Cheers,
Christian
--- libc/sysdeps/alpha/fpu/libm-test-ulps.dist Fri Oct 27 11:29:27 2000
+++ libc/sysdeps/alpha/fpu/libm-test-ulps Fri Nov 10 14:22:26 2000
@@ -1,5 +1,10 @@
# Begin of automatic generation
+# acos
+Test "acos (0.7) == 0.79539883018414355549096833892476432":
+double: 4
+idouble: 4
+
# asin
Test "asin (-0.5) == -pi/6":
float: 2
@@ -7,10 +12,10 @@ ifloat: 2
Test "asin (0.5) == pi/6":
float: 2
ifloat: 2
-Test "asin (0.7) == 0.7753974966107530637":
-double: 1
+Test "asin (0.7) == 0.77539749661075306374035335271498708":
+double: 4
float: 2
-idouble: 1
+idouble: 4
ifloat: 2
# atanh
@@ -20,25 +25,41 @@ idouble: 1
# cabs
Test "cabs (-0.7 + 12.4 i) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
Test "cabs (-0.7 - 12.4 i) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
Test "cabs (-12.4 + 0.7 i) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
Test "cabs (-12.4 - 0.7 i) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
Test "cabs (0.7 + 1.2 i) == 1.3892443989449804508432547041028554":
-double: 1
-idouble: 1
+double: 62
+idouble: 62
Test "cabs (0.7 + 12.4 i) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
# cacos
+Test "Real part of: cacos (-2 - 3 i) == 2.1414491111159960199 + 1.9833870299165354323 i":
+double: 5
+idouble: 5
+Test "Imaginary part of: cacos (-2 - 3 i) == 2.1414491111159960199 + 1.9833870299165354323 i":
+double: 12
+idouble: 12
Test "Real part of: cacos (0.7 + 1.2 i) == 1.1351827477151551089 - 1.0927647857577371459 i":
double: 1
float: 1
@@ -50,14 +71,14 @@ ifloat: 1
# cacosh
Test "Real part of: cacosh (-2 - 3 i) == -1.9833870299165354323 + 2.1414491111159960199 i":
-double: 1
+double: 723
float: 7
-idouble: 1
+idouble: 723
ifloat: 7
Test "Imaginary part of: cacosh (-2 - 3 i) == -1.9833870299165354323 + 2.1414491111159960199 i":
-double: 1
+double: 4
float: 3
-idouble: 1
+idouble: 4
ifloat: 3
Test "Real part of: cacosh (0.7 + 1.2 i) == 1.0927647857577371459 + 1.1351827477151551089 i":
double: 1
@@ -66,6 +87,12 @@ idouble: 1
ifloat: 1
# casin
+Test "Real part of: casin (-2 - 3 i) == -0.5706527843210994007 - 1.9833870299165354323 i":
+double: 19
+idouble: 19
+Test "Imaginary part of: casin (-2 - 3 i) == -0.5706527843210994007 - 1.9833870299165354323 i":
+double: 12
+idouble: 12
Test "Real part of: casin (0.7 + 1.2 i) == 0.4356135790797415103 + 1.0927647857577371459 i":
double: 3
float: 2
@@ -77,20 +104,22 @@ ifloat: 1
# casinh
Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917 - 0.9646585044076027920 i":
-double: 5
+double: 72
float: 1
-idouble: 5
+idouble: 72
ifloat: 1
Test "Imaginary part of: casinh (-2 - 3 i) == -1.9686379257930962917 - 0.9646585044076027920 i":
-double: 3
+double: 5
float: 6
-idouble: 3
+idouble: 5
ifloat: 6
Test "Real part of: casinh (0.7 + 1.2 i) == 0.9786545955936738768 + 0.9113541895315601156 i":
-double: 1
-idouble: 1
+double: 6
+idouble: 6
Test "Imaginary part of: casinh (0.7 + 1.2 i) == 0.9786545955936738768 + 0.9113541895315601156 i":
+double: 43
float: 1
+idouble: 43
ifloat: 1
# catan
@@ -164,16 +193,19 @@ idouble: 1
Test "Imaginary part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
float: 1
ifloat: 1
-Test "Real part of: cexp (0.7 + 1.2 i) == 0.7296989091503236012 + 1.8768962328348102821 i":
+Test "Real part of: cexp (0.7 + 1.2 i) == 0.72969890915032360123451688642930727 + 1.8768962328348102821139467908203072 i":
double: 1
float: 1
idouble: 1
ifloat: 1
-Test "Imaginary part of: cexp (0.7 + 1.2 i) == 0.7296989091503236012 + 1.8768962328348102821 i":
+Test "Imaginary part of: cexp (0.7 + 1.2 i) == 0.72969890915032360123451688642930727 + 1.8768962328348102821139467908203072 i":
float: 1
ifloat: 1
# clog
+Test "Real part of: clog (-2 - 3 i) == 1.2824746787307683680 - 2.1587989303424641704 i":
+double: 5
+idouble: 5
Test "Imaginary part of: clog (-2 - 3 i) == 1.2824746787307683680 - 2.1587989303424641704 i":
double: 1
float: 3
@@ -187,6 +219,9 @@ ifloat: 1
Test "Imaginary part of: clog10 (-0 - inf i) == inf - pi/2*log10(e) i":
float: 1
ifloat: 1
+Test "Real part of: clog10 (-2 - 3 i) == 0.5569716761534183846 - 0.9375544629863747085 i":
+double: 5
+idouble: 5
Test "Imaginary part of: clog10 (-2 - 3 i) == 0.5569716761534183846 - 0.9375544629863747085 i":
double: 1
float: 5
@@ -217,9 +252,9 @@ Test "Imaginary part of: clog10 (0 - inf
float: 1
ifloat: 1
Test "Real part of: clog10 (0.7 + 1.2 i) == 0.1427786545038868803 + 0.4528483579352493248 i":
-double: 1
+double: 156
float: 1
-idouble: 1
+idouble: 156
ifloat: 1
Test "Imaginary part of: clog10 (0.7 + 1.2 i) == 0.1427786545038868803 + 0.4528483579352493248 i":
double: 1
@@ -238,7 +273,7 @@ float: 1
ifloat: 1
# cos
-Test "cos (0.7) == 0.7648421872844884262":
+Test "cos (0.7) == 0.76484218728448842625585999019186495":
double: 1
float: 1
idouble: 1
@@ -261,12 +296,14 @@ ifloat: 0.3667
# cpow
Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
-double: 1
+double: 37
float: 4
-idouble: 1
+idouble: 37
ifloat: 4
Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
+double: 36
float: 2
+idouble: 36
ifloat: 2
Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i) == 1.0 + 0.0 i":
double: 2
@@ -292,18 +329,30 @@ ifloat: 1
# csqrt
Test "Real part of: csqrt (-2 + 3 i) == 0.89597747612983812471573375529004348 + 1.6741492280355400404480393008490519 i":
+double: 3
float: 1
+idouble: 3
ifloat: 1
+Test "Imaginary part of: csqrt (-2 + 3 i) == 0.89597747612983812471573375529004348 + 1.6741492280355400404480393008490519 i":
+double: 2
+idouble: 2
Test "Real part of: csqrt (-2 - 3 i) == 0.89597747612983812471573375529004348 - 1.6741492280355400404480393008490519 i":
+double: 3
float: 1
+idouble: 3
ifloat: 1
+Test "Imaginary part of: csqrt (-2 - 3 i) == 0.89597747612983812471573375529004348 - 1.6741492280355400404480393008490519 i":
+double: 2
+idouble: 2
Test "Real part of: csqrt (0.7 + 1.2 i) == 1.022067610030026450706487883081139 + 0.58704531296356521154977678719838035 i":
-double: 1
+double: 15
float: 1
-idouble: 1
+idouble: 15
ifloat: 1
Test "Imaginary part of: csqrt (0.7 + 1.2 i) == 1.022067610030026450706487883081139 + 0.58704531296356521154977678719838035 i":
+double: 18
float: 1
+idouble: 18
ifloat: 1
# ctan
@@ -363,7 +412,7 @@ double: 2
float: 1
idouble: 2
ifloat: 1
-Test "exp10 (0.7) == 5.0118723362727228500":
+Test "exp10 (0.7) == 5.0118723362727228500155418688494574":
float: 1
ifloat: 1
Test "exp10 (3) == 1000":
@@ -401,31 +450,47 @@ ifloat: 1
# hypot
Test "hypot (-0.7, -12.4) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
Test "hypot (-0.7, 12.4) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
Test "hypot (-12.4, -0.7) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
Test "hypot (-12.4, 0.7) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
Test "hypot (0.7, -12.4) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
Test "hypot (0.7, 1.2) == 1.3892443989449804508432547041028554":
-double: 1
-idouble: 1
+double: 62
+idouble: 62
Test "hypot (0.7, 12.4) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
Test "hypot (12.4, -0.7) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
Test "hypot (12.4, 0.7) == 12.419742348374220601176836866763271":
+double: 144
float: 1
+idouble: 144
ifloat: 1
# j0
@@ -435,10 +500,14 @@ float: 1
idouble: 2
ifloat: 1
Test "j0 (2.0) == 0.22389077914123566805":
+double: 137
float: 2
+idouble: 137
ifloat: 2
Test "j0 (8.0) == 0.17165080713755390609":
+double: 105
float: 1
+idouble: 105
ifloat: 1
# j1
@@ -446,11 +515,11 @@ Test "j1 (10.0) == 0.0434727461688614366
float: 2
ifloat: 2
Test "j1 (2.0) == 0.57672480775687338720":
-double: 1
-idouble: 1
+double: 89
+idouble: 89
Test "j1 (8.0) == 0.23463634685391462438":
-double: 1
-idouble: 1
+double: 144
+idouble: 144
# jn
Test "jn (0, 10.0) == -0.24593576445134833520":
@@ -459,20 +528,24 @@ float: 1
idouble: 2
ifloat: 1
Test "jn (0, 2.0) == 0.22389077914123566805":
+double: 137
float: 2
+idouble: 137
ifloat: 2
Test "jn (0, 8.0) == 0.17165080713755390609":
+double: 105
float: 1
+idouble: 105
ifloat: 1
Test "jn (1, 10.0) == 0.043472746168861436670":
float: 2
ifloat: 2
Test "jn (1, 2.0) == 0.57672480775687338720":
-double: 1
-idouble: 1
+double: 89
+idouble: 89
Test "jn (1, 8.0) == 0.23463634685391462438":
-double: 1
-idouble: 1
+double: 144
+idouble: 144
Test "jn (10, 0.1) == 0.26905328954342155795e-19":
double: 6
float: 4
@@ -489,7 +562,9 @@ float: 3
idouble: 4
ifloat: 3
Test "jn (10, 2.0) == 0.25153862827167367096e-6":
+double: 81
float: 4
+idouble: 81
ifloat: 4
Test "jn (3, 0.1) == 0.000020820315754756261429":
double: 1
@@ -503,9 +578,9 @@ float: 1
idouble: 3
ifloat: 1
Test "jn (3, 2.0) == 0.12894324947440205110":
-double: 1
+double: 77
float: 2
-idouble: 1
+idouble: 77
ifloat: 2
# lgamma
@@ -552,7 +627,7 @@ idouble: 1
ifloat: 1
# sincos
-Test "sincos (0.7, &sin_res, &cos_res) puts 0.76484218728448842626 in cos_res":
+Test "sincos (0.7, &sin_res, &cos_res) puts 0.76484218728448842625585999019186495 in cos_res":
double: 1
float: 1
idouble: 1
@@ -562,7 +637,7 @@ double: 1
float: 0.5
idouble: 1
ifloat: 0.5
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.866025403784438646764 in sin_res":
+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
double: 1
float: 1
idouble: 1
@@ -572,7 +647,7 @@ double: 0.2758
float: 0.3667
idouble: 0.2758
ifloat: 0.3667
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.866025403784438646764 in cos_res":
+Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
float: 1
ifloat: 1
@@ -583,6 +658,14 @@ float: 1
idouble: 1
ifloat: 1
+# sqrt
+Test "sqrt (15239.9025) == 123.45":
+double: 26
+idouble: 26
+Test "sqrt (2) == M_SQRT2l":
+double: 108
+idouble: 108
+
# tan
Test "tan (pi/4) == 1":
double: 0.5
@@ -629,10 +712,13 @@ ifloat: 1
Test "y0 (10.0) == 0.055671167283599391424":
float: 1
ifloat: 1
+Test "y0 (2.0) == 0.51037567264974511960":
+double: 78
+idouble: 78
Test "y0 (8.0) == 0.22352148938756622053":
-double: 1
+double: 138
float: 1
-idouble: 1
+idouble: 138
ifloat: 1
# y1
@@ -653,14 +739,14 @@ float: 1
idouble: 3
ifloat: 1
Test "y1 (2.0) == -0.10703243154093754689":
-double: 1
+double: 130
float: 1
-idouble: 1
+idouble: 130
ifloat: 1
Test "y1 (8.0) == -0.15806046173124749426":
-double: 1
+double: 96
float: 2
-idouble: 1
+idouble: 96
ifloat: 2
# yn
@@ -682,10 +768,13 @@ ifloat: 1
Test "yn (0, 10.0) == 0.055671167283599391424":
float: 1
ifloat: 1
+Test "yn (0, 2.0) == 0.51037567264974511960":
+double: 78
+idouble: 78
Test "yn (0, 8.0) == 0.22352148938756622053":
-double: 1
+double: 138
float: 1
-idouble: 1
+idouble: 138
ifloat: 1
Test "yn (1, 0.1) == -6.4589510947020269877":
double: 1
@@ -704,14 +793,14 @@ float: 1
idouble: 3
ifloat: 1
Test "yn (1, 2.0) == -0.10703243154093754689":
-double: 1
+double: 130
float: 1
-idouble: 1
+idouble: 130
ifloat: 1
Test "yn (1, 8.0) == -0.15806046173124749426":
-double: 1
+double: 96
float: 2
-idouble: 1
+idouble: 96
ifloat: 2
Test "yn (10, 0.1) == -0.11831335132045197885e19":
double: 2
@@ -730,8 +819,8 @@ float: 1
idouble: 1
ifloat: 1
Test "yn (10, 2.0) == -129184.54220803928264":
-double: 2
-idouble: 2
+double: 151
+idouble: 151
Test "yn (3, 0.1) == -5099.3323786129048894":
double: 1
float: 1
@@ -748,14 +837,18 @@ float: 1
idouble: 1
ifloat: 1
Test "yn (3, 2.0) == -1.1277837768404277861":
-double: 1
-idouble: 1
+double: 85
+idouble: 85
# Maximal error of functions:
+Function: "acos":
+double: 4
+idouble: 4
+
Function: "asin":
-double: 1
+double: 4
float: 2
-idouble: 1
+idouble: 4
ifloat: 2
Function: "atanh":
@@ -763,53 +856,57 @@ double: 1
idouble: 1
Function: "cabs":
-double: 1
+double: 144
float: 1
-idouble: 1
+idouble: 144
ifloat: 1
Function: Real part of "cacos":
-double: 1
+double: 5
float: 1
-idouble: 1
+idouble: 5
ifloat: 1
Function: Imaginary part of "cacos":
+double: 12
float: 1
+idouble: 12
ifloat: 1
Function: Real part of "cacosh":
-double: 1
+double: 723
float: 7
-idouble: 1
+idouble: 723
ifloat: 7
Function: Imaginary part of "cacosh":
-double: 1
+double: 4
float: 3
-idouble: 1
+idouble: 4
ifloat: 3
Function: Real part of "casin":
-double: 3
+double: 19
float: 2
-idouble: 3
+idouble: 19
ifloat: 2
Function: Imaginary part of "casin":
+double: 12
float: 1
+idouble: 12
ifloat: 1
Function: Real part of "casinh":
-double: 5
+double: 72
float: 1
-idouble: 5
+idouble: 72
ifloat: 1
Function: Imaginary part of "casinh":
-double: 3
+double: 43
float: 6
-idouble: 3
+idouble: 43
ifloat: 6
Function: Real part of "catan":
@@ -870,6 +967,10 @@ Function: Imaginary part of "cexp":
float: 1
ifloat: 1
+Function: Real part of "clog":
+double: 5
+idouble: 5
+
Function: Imaginary part of "clog":
double: 1
float: 3
@@ -877,9 +978,9 @@ idouble: 1
ifloat: 3
Function: Real part of "clog10":
-double: 1
+double: 156
float: 1
-idouble: 1
+idouble: 156
ifloat: 1
Function: Imaginary part of "clog10":
@@ -895,15 +996,15 @@ idouble: 2
ifloat: 1
Function: Real part of "cpow":
-double: 1
+double: 37
float: 4
-idouble: 1
+idouble: 37
ifloat: 4
Function: Imaginary part of "cpow":
-double: 1.1031
+double: 36
float: 2
-idouble: 1.1031
+idouble: 36
ifloat: 2
Function: Imaginary part of "csin":
@@ -921,13 +1022,15 @@ idouble: 1
ifloat: 1
Function: Real part of "csqrt":
-double: 1
+double: 15
float: 1
-idouble: 1
+idouble: 15
ifloat: 1
Function: Imaginary part of "csqrt":
+double: 18
float: 1
+idouble: 18
ifloat: 1
Function: Real part of "ctan":
@@ -977,27 +1080,27 @@ idouble: 2
ifloat: 1
Function: "hypot":
-double: 1
+double: 144
float: 1
-idouble: 1
+idouble: 144
ifloat: 1
Function: "j0":
-double: 2
+double: 137
float: 2
-idouble: 2
+idouble: 137
ifloat: 2
Function: "j1":
-double: 1
+double: 144
float: 2
-idouble: 1
+idouble: 144
ifloat: 2
Function: "jn":
-double: 6
+double: 144
float: 4
-idouble: 6
+idouble: 144
ifloat: 4
Function: "lgamma":
@@ -1042,6 +1145,10 @@ float: 1
idouble: 1
ifloat: 1
+Function: "sqrt":
+double: 108
+idouble: 108
+
Function: "tan":
double: 0.5
idouble: 0.5
@@ -1059,21 +1166,21 @@ idouble: 1
ifloat: 1
Function: "y0":
-double: 2
+double: 138
float: 1
-idouble: 2
+idouble: 138
ifloat: 1
Function: "y1":
-double: 3
+double: 130
float: 2
-idouble: 3
+idouble: 130
ifloat: 2
Function: "yn":
-double: 3
+double: 151
float: 2
-idouble: 3
+idouble: 151
ifloat: 2
# end of automatic generation