summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-10-19 06:29:27 +0000
committerUlrich Drepper <drepper@redhat.com>1999-10-19 06:29:27 +0000
commit8847214f239965f538e42a09d3d08ce8c700dea2 (patch)
treea30f842a83c823affb01fedbe803535f1c2ec2fa /sysdeps
parent4dba81eafc9aead81c0644ea64f092bb2185e5b8 (diff)
downloadglibc-8847214f239965f538e42a09d3d08ce8c700dea2.tar.gz
Update.
1999-10-18 Andreas Jaeger <aj@suse.de> Added improved math testsuite: * math/libm-test.inc: New file, contains all tests from libm-test.c but in a different form. * math/libm-test.c: Removed. * sysdeps/generic/libm-test-ulps: New file: Fallback ulps file. * math/gen-libm-test.pl: New file: Preprocessor. * math/test-double.c: Adopted to new testsuite. * math/test-idouble.c: Likewise. * math/test-float.c: Likewise. * math/test-ifloat.c: Likewise. * math/test-ldouble.c: Likewise. * math/test-ildoubl.c: Likewise. * math/Makefile: Added rules to generate new suite.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/libm-test-ulps5
-rw-r--r--sysdeps/i386/libm-test-ulps920
2 files changed, 925 insertions, 0 deletions
diff --git a/sysdeps/generic/libm-test-ulps b/sysdeps/generic/libm-test-ulps
new file mode 100644
index 0000000000..7cfa1f8285
--- /dev/null
+++ b/sysdeps/generic/libm-test-ulps
@@ -0,0 +1,5 @@
+# File with deltas for math/libm-test
+# This file is the fallback and contains
+# no data
+# You can create a new file with e.g. `test-double -u'
+# followed by `gen-libm-test.pl -u ULPs -n'.
diff --git a/sysdeps/i386/libm-test-ulps b/sysdeps/i386/libm-test-ulps
new file mode 100644
index 0000000000..07c59640fd
--- /dev/null
+++ b/sysdeps/i386/libm-test-ulps
@@ -0,0 +1,920 @@
+# Begin of automatic generation
+
+# acos
+Test "acos (0.7) == 0.7953988301841435554":
+ildouble: 1149
+ldouble: 1149
+
+# asin
+Test "asin (0.7) == 0.7753974966107530637":
+double: 1
+ildouble: 1147
+ldouble: 1147
+
+# asinh
+Test "asinh (-0) == -0":
+idouble: 0
+ifloat: 0
+ildouble: 0
+Test "asinh (0.7) == 0.652666566082355786":
+ildouble: 656
+ldouble: 656
+
+# atan
+Test "atan (0.7) == 0.6107259643892086165":
+ildouble: 549
+ldouble: 549
+
+# atan2
+Test "atan2 (0.4, 0.0003) == 1.5700463269355215718":
+ildouble: 1
+ldouble: 1
+Test "atan2 (0.7, 1) == 0.6107259643892086165":
+ildouble: 549
+ldouble: 549
+
+# atanh
+Test "atanh (-0) == -0":
+idouble: 0
+ifloat: 0
+ildouble: 0
+Test "atanh (0.7) == 0.8673005276940531944":
+double: 1
+idouble: 1
+ildouble: 1605
+ldouble: 1605
+
+# cabs
+Test "cabs (-0.7 + 12.4 i) == 12.41974234837422060118":
+float: 1
+ifloat: 1
+Test "cabs (-0.7 - 12.4 i) == 12.41974234837422060118":
+float: 1
+ifloat: 1
+Test "cabs (-12.4 + 0.7 i) == 12.41974234837422060118":
+float: 1
+ifloat: 1
+Test "cabs (-12.4 - 0.7 i) == 12.41974234837422060118":
+float: 1
+ifloat: 1
+Test "cabs (0.7 + 1.2 i) == 1.3892443989449804508":
+double: 1
+idouble: 1
+ildouble: 560
+ldouble: 560
+Test "cabs (0.7 + 12.4 i) == 12.41974234837422060118":
+float: 1
+ifloat: 1
+
+# cbrt
+Test "cbrt (-0.001) == -0.1":
+ildouble: 716
+ldouble: 716
+Test "cbrt (-27.0) == -3.0":
+ildouble: 1
+ldouble: 1
+Test "cbrt (0.7) == 0.8879040017426007084":
+double: 1
+idouble: 1
+ildouble: 346
+ldouble: 346
+Test "cbrt (0.970299) == 0.99":
+ildouble: 306
+ldouble: 306
+
+# cos
+Test "cos (0.7) == 0.7648421872844884262":
+double: 1
+idouble: 1
+ildouble: 529
+ldouble: 529
+Test "cos (M_PI_6l * 2.0) == 0.5":
+double: 1
+float: 0.5
+idouble: 1
+ifloat: 0.5
+Test "cos (M_PI_6l * 4.0) == -0.5":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 0.5
+ldouble: 0.5
+Test "cos (pi/2) == 0":
+double: 0.2758
+float: 0.3667
+idouble: 0.2758
+ifloat: 0.3667
+ildouble: 0.25
+ldouble: 0.25
+
+# cosh
+Test "cosh (0.7) == 1.255169005630943018":
+ildouble: 309
+ldouble: 309
+
+# erfc
+Test "erfc (0.7) == 0.32219880616258152702":
+double: 1
+idouble: 1
+Test "erfc (1.2) == 0.089686021770364619762":
+float: 1
+ifloat: 1
+Test "erfc (2.0) == 0.0046777349810472658379":
+double: 1
+idouble: 1
+Test "erfc (4.1) == 0.67000276540848983727e-8":
+double: 24
+float: 12
+idouble: 24
+ifloat: 12
+
+# exp
+Test "exp (0.7) == 2.0137527074704765216":
+ildouble: 412
+ldouble: 412
+
+# exp10
+Test "exp10 (-1) == 0.1":
+ildouble: 818
+ldouble: 818
+Test "exp10 (0.7) == 5.0118723362727228500":
+double: 1
+idouble: 1
+ildouble: 1182
+ldouble: 1182
+Test "exp10 (3) == 1000":
+ildouble: 8
+ldouble: 8
+
+# exp2
+Test "exp2 (0.7) == 1.6245047927124710452":
+ildouble: 462
+ldouble: 462
+
+# expm1
+Test "expm1 (-0) == -0":
+idouble: 0
+ifloat: 0
+ildouble: 0
+Test "expm1 (0.7) == 1.0137527074704765216":
+ildouble: 825
+ldouble: 825
+
+# fmod
+Test "fmod (-6.5, -2.3) == -1.9":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 4096
+ldouble: 4096
+Test "fmod (-6.5, 2.3) == -1.9":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 4096
+ldouble: 4096
+Test "fmod (6.5, -2.3) == 1.9":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 4096
+ldouble: 4096
+Test "fmod (6.5, 2.3) == 1.9":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 4096
+ldouble: 4096
+
+# hypot
+Test "hypot (-0.7, -12.4) == 12.41974234837422060118":
+float: 1
+ildouble: 406
+ldouble: 406
+Test "hypot (-0.7, 12.4) == 12.41974234837422060118":
+float: 1
+ildouble: 406
+ldouble: 406
+Test "hypot (-12.4, -0.7) == 12.41974234837422060118":
+float: 1
+ildouble: 406
+ldouble: 406
+Test "hypot (-12.4, 0.7) == 12.41974234837422060118":
+float: 1
+ildouble: 406
+ldouble: 406
+Test "hypot (0.7, -12.4) == 12.41974234837422060118":
+float: 1
+ildouble: 406
+ldouble: 406
+Test "hypot (0.7, 1.2) == 1.3892443989449804508":
+double: 1
+ildouble: 560
+ldouble: 560
+Test "hypot (0.7, 12.4) == 12.41974234837422060118":
+float: 1
+ildouble: 406
+ldouble: 406
+Test "hypot (12.4, -0.7) == 12.41974234837422060118":
+float: 1
+ildouble: 406
+ldouble: 406
+Test "hypot (12.4, 0.7) == 12.41974234837422060118":
+float: 1
+ildouble: 406
+ldouble: 406
+
+# j0
+Test "j0 (10.0) == -0.24593576445134833520":
+float: 1
+ifloat: 1
+Test "j0 (2.0) == 0.22389077914123566805":
+float: 1
+ifloat: 1
+Test "j0 (8.0) == 0.17165080713755390609":
+float: 1
+ifloat: 1
+
+# j1
+Test "j1 (10.0) == 0.043472746168861436670":
+float: 1
+ifloat: 1
+Test "j1 (2.0) == 0.57672480775687338720":
+double: 1
+idouble: 1
+Test "j1 (8.0) == 0.23463634685391462438":
+float: 1
+ifloat: 1
+
+# jn
+Test "jn (0, 10.0) == -0.24593576445134833520":
+float: 1
+ifloat: 1
+Test "jn (0, 2.0) == 0.22389077914123566805":
+float: 1
+ifloat: 1
+Test "jn (0, 8.0) == 0.17165080713755390609":
+float: 1
+ifloat: 1
+Test "jn (1, 10.0) == 0.043472746168861436670":
+float: 1
+ifloat: 1
+Test "jn (1, 2.0) == 0.57672480775687338720":
+double: 1
+idouble: 1
+Test "jn (1, 8.0) == 0.23463634685391462438":
+float: 1
+ifloat: 1
+Test "jn (10, 0.1) == 0.26905328954342155795e-19":
+double: 4
+float: 2
+idouble: 4
+ifloat: 2
+Test "jn (10, 0.7) == 0.75175911502153953928e-11":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+Test "jn (10, 10.0) == 0.20748610663335885770":
+float: 1
+ifloat: 1
+Test "jn (3, 0.1) == 0.000020820315754756261429":
+double: 1
+idouble: 1
+Test "jn (3, 0.7) == 0.0069296548267508408077":
+double: 2
+idouble: 2
+Test "jn (3, 10.0) == 0.058379379305186812343":
+float: 1
+ifloat: 1
+
+# lgamma
+Test "lgamma (0.7) == 0.26086724653166651439":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "lgamma (1.2) == -0.853740900033158497197e-1":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+# log
+Test "log (0.7) == -0.35667494393873237891":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2341
+ldouble: 2341
+Test "log (e) == 1":
+float: 0.5
+ifloat: 0.5
+
+# log10
+Test "log10 (0.7) == -0.15490195998574316929":
+double: 1
+idouble: 1
+ildouble: 2033
+ldouble: 2033
+Test "log10 (e) == log10(e)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+
+# log1p
+Test "log1p (-0.3) == -0.35667494393873237891":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 585
+ldouble: 585
+
+# log2
+Test "log2 (0.7) == -0.51457317282975824043":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1688
+ldouble: 1688
+
+# pow
+Test "pow (-0, 1) == -0":
+idouble: 0
+ifloat: 0
+ildouble: 0
+Test "pow (-0, 11) == -0":
+idouble: 0
+ifloat: 0
+ildouble: 0
+Test "pow (-0, 27) == -0":
+idouble: 0
+ifloat: 0
+ildouble: 0
+Test "pow (0.7, 1.2) == 0.65180494056638638188":
+ildouble: 725
+ldouble: 725
+
+# sin
+Test "sin (0.7) == 0.64421768723769105367":
+ildouble: 627
+ldouble: 627
+
+# sincos
+Test "sincos (0.7, &sin_res, &cos_res) puts 0.64421768723769105367 in sin_res":
+ildouble: 627
+ldouble: 627
+Test "sincos (0.7, &sin_res, &cos_res) puts 0.76484218728448842626 in cos_res":
+double: 1
+idouble: 1
+ildouble: 528
+ldouble: 528
+Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
+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":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
+double: 0.2758
+float: 0.3667
+idouble: 0.2758
+ifloat: 0.3667
+ildouble: 0.25
+ldouble: 0.25
+
+# sinh
+Test "sinh (-0) == -0":
+idouble: 0
+ifloat: 0
+ildouble: 0
+Test "sinh (0.7) == 0.75858370183953350346":
+float: 1
+ifloat: 1
+ildouble: 1028
+ldouble: 1029
+
+# sqrt
+Test "sqrt (0.7) == 0.83666002653407554798":
+ildouble: 489
+ldouble: 489
+Test "sqrt (15239.9025) == 123.45":
+ildouble: 325
+ldouble: 325
+
+# tan
+Test "tan (0.7) == 0.84228838046307944813":
+ildouble: 1401
+ldouble: 1401
+Test "tan (pi/4) == 1":
+double: 0.5
+idouble: 0.5
+
+# tanh
+Test "tanh (-0) == -0":
+idouble: 0
+ifloat: 0
+ildouble: 0
+Test "tanh (0.7) == 0.60436777711716349631":
+ildouble: 521
+ldouble: 521
+
+# tgamma
+Test "tgamma (-0.5) == -2 sqrt (pi)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "tgamma (0.5) == sqrt (pi)":
+float: 1
+ifloat: 1
+Test "tgamma (0.7) == 1.29805533264755778568":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+# y0
+Test "y0 (0.1) == -1.5342386513503668441":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y0 (0.7) == -0.19066492933739506743":
+double: 2
+idouble: 2
+Test "y0 (1.0) == 0.088256964215676957983":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y0 (1.5) == 0.38244892379775884396":
+float: 1
+ifloat: 1
+Test "y0 (10.0) == 0.055671167283599391424":
+float: 1
+ifloat: 1
+Test "y0 (8.0) == 0.22352148938756622053":
+float: 1
+ifloat: 1
+
+# y1
+Test "y1 (0.1) == -6.4589510947020269877":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y1 (0.7) == -1.1032498719076333697":
+double: 1
+idouble: 1
+Test "y1 (1.0) == -0.78121282130028871655":
+double: 1
+idouble: 1
+Test "y1 (1.5) == -0.41230862697391129595":
+float: 1
+ifloat: 1
+Test "y1 (10.0) == 0.24901542420695388392":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+Test "y1 (2.0) == -0.10703243154093754689":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "y1 (8.0) == -0.15806046173124749426":
+float: 2
+ifloat: 2
+
+# yn
+Test "yn (0, 0.1) == -1.5342386513503668441":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "yn (0, 0.7) == -0.19066492933739506743":
+double: 2
+idouble: 2
+Test "yn (0, 1.0) == 0.088256964215676957983":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "yn (0, 1.5) == 0.38244892379775884396":
+float: 1
+ifloat: 1
+Test "yn (0, 10.0) == 0.055671167283599391424":
+float: 1
+ifloat: 1
+Test "yn (0, 8.0) == 0.22352148938756622053":
+float: 1
+ifloat: 1
+Test "yn (1, 0.1) == -6.4589510947020269877":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "yn (1, 0.7) == -1.1032498719076333697":
+double: 1
+idouble: 1
+Test "yn (1, 1.0) == -0.78121282130028871655":
+double: 1
+idouble: 1
+Test "yn (1, 1.5) == -0.41230862697391129595":
+float: 1
+ifloat: 1
+Test "yn (1, 10.0) == 0.24901542420695388392":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+Test "yn (1, 2.0) == -0.10703243154093754689":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "yn (1, 8.0) == -0.15806046173124749426":
+float: 2
+ifloat: 2
+Test "yn (10, 0.1) == -0.11831335132045197885e19":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "yn (10, 0.7) == -0.42447194260703866924e10":
+double: 6
+float: 3
+idouble: 6
+ifloat: 3
+Test "yn (10, 1.0) == -0.12161801427868918929e9":
+float: 1
+ifloat: 1
+Test "yn (10, 10.0) == -0.35981415218340272205":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "yn (10, 2.0) == -129184.54220803928264":
+float: 1
+ifloat: 1
+Test "yn (3, 0.1) == -5099.3323786129048894":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "yn (3, 0.7) == -15.819479052819633505":
+double: 2
+idouble: 2
+Test "yn (3, 10.0) == -0.25136265718383732978":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+# Maximal error of functions:
+Function "acos":
+ildouble: 1149
+ldouble: 1149
+
+Function "asin":
+double: 1
+ildouble: 1147
+ldouble: 1147
+
+Function "asinh":
+ildouble: 656
+ldouble: 656
+
+Function "atan":
+ildouble: 549
+ldouble: 549
+
+Function "atan2":
+ildouble: 549
+ldouble: 549
+
+Function "atanh":
+double: 1
+idouble: 1
+ildouble: 1605
+ldouble: 1605
+
+Function "cabs":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 560
+ldouble: 560
+
+Function "cacos":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 329
+ldouble: 329
+
+Function "cacosh":
+double: 1
+float: 4
+idouble: 1
+ifloat: 4
+ildouble: 328
+ldouble: 328
+
+Function "casin":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+ildouble: 603
+ldouble: 603
+
+Function "casinh":
+double: 5
+float: 6
+idouble: 5
+ifloat: 6
+ildouble: 892
+ldouble: 892
+
+Function "catan":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 474
+ldouble: 474
+
+Function "catanh":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 447
+ldouble: 447
+
+Function "cbrt":
+double: 1
+idouble: 1
+ildouble: 716
+ldouble: 716
+
+Function "ccos":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1901
+ldouble: 1901
+
+Function "ccosh":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1467
+ldouble: 1467
+
+Function "cexp":
+float: 1
+ifloat: 1
+ildouble: 1067
+ldouble: 1067
+
+Function "clog":
+ildouble: 1
+ldouble: 1
+
+Function "clog10":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 1402
+ldouble: 1402
+
+Function "cos":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 529
+ldouble: 529
+
+Function "cosh":
+ildouble: 309
+ldouble: 309
+
+Function "cpow":
+double: 1.103
+float: 4
+idouble: 1.103
+ifloat: 4
+ildouble: 2
+ldouble: 2
+
+Function "csin":
+ildouble: 966
+ldouble: 966
+
+Function "csinh":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 477
+ldouble: 477
+
+Function "csqrt":
+double: 1
+idouble: 1
+ildouble: 237
+ldouble: 237
+
+Function "ctan":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 690
+ldouble: 690
+
+Function "ctanh":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 3074
+ldouble: 3074
+
+Function "erfc":
+double: 24
+float: 12
+idouble: 24
+ifloat: 12
+
+Function "exp":
+ildouble: 412
+ldouble: 412
+
+Function "exp10":
+double: 1
+idouble: 1
+ildouble: 1182
+ldouble: 1182
+
+Function "exp2":
+ildouble: 462
+ldouble: 462
+
+Function "expm1":
+ildouble: 825
+ldouble: 825
+
+Function "fmod":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 4096
+ldouble: 4096
+
+Function "hypot":
+double: 1
+float: 1
+ildouble: 560
+ldouble: 560
+
+Function "j0":
+float: 1
+ifloat: 1
+
+Function "j1":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function "jn":
+double: 4
+float: 2
+idouble: 4
+ifloat: 2
+
+Function "lgamma":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function "log":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2341
+ldouble: 2341
+
+Function "log10":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2033
+ldouble: 2033
+
+Function "log1p":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 585
+ldouble: 585
+
+Function "log2":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1688
+ldouble: 1688
+
+Function "pow":
+ildouble: 725
+ldouble: 725
+
+Function "sin":
+ildouble: 627
+ldouble: 627
+
+Function "sincos":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 627
+ldouble: 627
+
+Function "sinh":
+float: 1
+ifloat: 1
+ildouble: 1028
+ldouble: 1029
+
+Function "sqrt":
+ildouble: 489
+ldouble: 489
+
+Function "tan":
+double: 0.5
+idouble: 0.5
+ildouble: 1401
+ldouble: 1401
+
+Function "tanh":
+ildouble: 521
+ldouble: 521
+
+Function "tgamma":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function "y0":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+
+Function "y1":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function "yn":
+double: 6
+float: 3
+idouble: 6
+ifloat: 3
+
+# end of automatic generation