aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-12-18 17:59:29 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-12-18 17:59:29 +0000
commitf889953b44da50bf8a7824c97d09dbe03fd11b83 (patch)
treed498fd7f8015c4de4f9fe5bfaf3b6bd476271dd7 /sysdeps/i386
parent237764876709dfbd81ae9fc9f91ef7e496a3eb08 (diff)
downloadglibc-f889953b44da50bf8a7824c97d09dbe03fd11b83.zip
glibc-f889953b44da50bf8a7824c97d09dbe03fd11b83.tar.gz
glibc-f889953b44da50bf8a7824c97d09dbe03fd11b83.tar.bz2
Move tests of jn and yn from libm-test.inc to auto-libm-test-in.
This patch moves tests of jn and yn to auto-libm-test-in, adding the required support for gen-auto-libm-tests (and adding a missing assertion there and fixing logic that was broken for functions with integer arguments). Tested x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add tests of jn and yn. * math/auto-libm-test-out: Regenerated. * math/libm-test.inc (jn_test_data): Use AUTO_TESTS_if_f. (yn_test_data): Likewise. * math/gen-auto-libm-tests.c (func_calc_method): Add value mpfr_if_f. (func_calc_desc): Add mpfr_if_f union field. (FUNC_mpfr_if_f): New macro. (test_functions): Add jn and yn. (calc_generic_results): Assert type of second input for mpfr_ff_f. Handle mpfr_if_f. (output_for_one_input_case): Disable all checking for arguments fitting floating-point types in case of an integer argument. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
Diffstat (limited to 'sysdeps/i386')
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps380
1 files changed, 378 insertions, 2 deletions
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 5ed3fee..a471e5f 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -6439,6 +6439,13 @@ float: 1
ifloat: 1
# jn
+Test "jn (0, -0x4p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
Test "jn (0, -4.0)":
double: 1
float: 1
@@ -6446,6 +6453,24 @@ idouble: 1
ifloat: 1
ildouble: 2
ldouble: 2
+Test "jn (0, 0x2p+0)":
+float: 1
+ifloat: 1
+Test "jn (0, 0x4p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "jn (0, 0x8p+0)":
+float: 1
+ifloat: 1
+Test "jn (0, 0xap+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
Test "jn (0, 10.0)":
double: 1
float: 1
@@ -6464,6 +6489,19 @@ ldouble: 2
Test "jn (0, 8.0)":
float: 1
ifloat: 1
+Test "jn (1, 0x2p+0)":
+double: 1
+idouble: 1
+Test "jn (1, 0x8p+0)":
+float: 1
+ifloat: 1
+Test "jn (1, 0xap+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 1
+ldouble: 1
Test "jn (1, 10.0)":
double: 2
float: 1
@@ -6477,6 +6515,13 @@ idouble: 1
Test "jn (1, 8.0)":
float: 1
ifloat: 1
+Test "jn (10, -0x1p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
Test "jn (10, -1.0)":
double: 1
float: 1
@@ -6492,6 +6537,31 @@ float: 1
ifloat: 1
ildouble: 2
ldouble: 2
+Test "jn (10, 0x1p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (10, 0x2p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (10, 0x2p-4)":
+float: 1
+ifloat: 1
+Test "jn (10, 0xap+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "jn (10, 0xcp-4)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
Test "jn (10, 1.0)":
double: 1
float: 1
@@ -6522,6 +6592,55 @@ double: 1
idouble: 1
ildouble: 1
ldouble: 1
+Test "jn (2, 0x2.67a2a4p+0)":
+float: 1
+ifloat: 1
+ildouble: 3
+ldouble: 3
+Test "jn (2, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0x2.67a2a5d2e36801p+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (2, 0x2.67a2a5d2e3682p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0x2.67a2a5d2e368p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0x2.67a2a8p+0)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "jn (2, 0x8p+1020)":
+double: 1
+idouble: 1
+Test "jn (2, 0x8p+124)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0xf.fffb1p+96)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0xf.ffffffffffff8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0xf.fffffp+124)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
Test "jn (2, 2.4048255576957729)":
double: 1
float: 1
@@ -6529,9 +6648,45 @@ idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
+Test "jn (3, -0x1p+0)":
+ildouble: 1
+ldouble: 1
Test "jn (3, -1.0)":
ildouble: 1
ldouble: 1
+Test "jn (3, 0x1p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (3, 0x2.67a2a4p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "jn (3, 0x2.67a2a5d2e36801p+0)":
+ildouble: 3
+ldouble: 3
+Test "jn (3, 0x2.67a2a5d2e3682p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (3, 0x2.67a2a8p+0)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "jn (3, 0x2p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (3, 0xap+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
Test "jn (3, 1.0)":
ildouble: 1
ldouble: 1
@@ -6548,9 +6703,45 @@ ldouble: 1
Test "jn (3, 2.4048255576957729)":
ildouble: 1
ldouble: 1
+Test "jn (4, 0x2.67a2a4p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (4, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (4, 0x2.67a2a5d2e36801p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (4, 0x2.67a2a5d2e3682p+0)":
+double: 1
+idouble: 1
+Test "jn (4, 0x2.67a2a5d2e368p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (4, 0x2.67a2a8p+0)":
+ildouble: 1
+ldouble: 1
Test "jn (4, 2.4048255576957729)":
ildouble: 2
ldouble: 2
+Test "jn (5, 0x2.67a2a4p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (5, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (5, 0x2.67a2a5d2e36801p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (5, 0x2.67a2a5d2e368p+0)":
+ildouble: 1
+ldouble: 1
Test "jn (5, 2.4048255576957729)":
double: 1
float: 1
@@ -6558,6 +6749,32 @@ idouble: 1
ifloat: 1
ildouble: 3
ldouble: 3
+Test "jn (6, 0x2.67a2a4p+0)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "jn (6, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (6, 0x2.67a2a5d2e36801p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (6, 0x2.67a2a5d2e3682p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (6, 0x2.67a2a5d2e368p+0)":
+double: 1
+idouble: 1
+Test "jn (6, 0x2.67a2a8p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 1
+ldouble: 1
Test "jn (6, 2.4048255576957729)":
double: 1
float: 2
@@ -6565,11 +6782,53 @@ idouble: 1
ifloat: 2
ildouble: 1
ldouble: 1
+Test "jn (7, 0x2.67a2a4p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+Test "jn (7, 0x2.67a2a5d2e36800fcp+0)":
+ildouble: 2
+ldouble: 2
+Test "jn (7, 0x2.67a2a5d2e36801p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (7, 0x2.67a2a5d2e3682p+0)":
+double: 1
+idouble: 1
+ildouble: 4
+ldouble: 4
+Test "jn (7, 0x2.67a2a5d2e368p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (7, 0x2.67a2a8p+0)":
+float: 1
+ifloat: 1
Test "jn (7, 2.4048255576957729)":
double: 1
float: 2
idouble: 1
ifloat: 2
+Test "jn (8, 0x2.67a2a4p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (8, 0x2.67a2a5d2e3682p+0)":
+double: 2
+idouble: 2
+Test "jn (8, 0x2.67a2a5d2e368p+0)":
+double: 1
+idouble: 1
+Test "jn (8, 0x2.67a2a8p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
Test "jn (8, 2.4048255576957729)":
double: 1
float: 3
@@ -6577,6 +6836,22 @@ idouble: 1
ifloat: 3
ildouble: 2
ldouble: 2
+Test "jn (9, 0x2.67a2a4p+0)":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "jn (9, 0x2.67a2a5d2e3682p+0)":
+double: 1
+idouble: 1
+Test "jn (9, 0x2.67a2a5d2e368p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (9, 0x2.67a2a8p+0)":
+float: 3
+ifloat: 3
+ildouble: 3
+ldouble: 3
Test "jn (9, 2.4048255576957729)":
float: 4
ifloat: 4
@@ -9694,6 +9969,9 @@ float: 2
ifloat: 2
# yn
+Test "yn (-10, 0x1p+0)":
+float: 2
+ifloat: 2
Test "yn (-10, 1.0)":
float: 2
ifloat: 2
@@ -9705,6 +9983,27 @@ double: 1
float: 1
idouble: 1
ifloat: 1
+Test "yn (0, 0x1p+0)":
+ildouble: 1
+ldouble: 1
+Test "yn (0, 0x2p-4)":
+ildouble: 1
+ldouble: 1
+Test "yn (0, 0x8p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "yn (0, 0xap+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "yn (0, 0xcp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
Test "yn (0, 1.0)":
ildouble: 1
ldouble: 1
@@ -9721,6 +10020,24 @@ ldouble: 1
Test "yn (1, 0.125)":
ildouble: 1
ldouble: 1
+Test "yn (1, 0x2p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "yn (1, 0x2p-4)":
+ildouble: 1
+ldouble: 1
+Test "yn (1, 0x8p+0)":
+float: 2
+ifloat: 2
+Test "yn (1, 0xap+0)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
Test "yn (1, 10.0)":
double: 2
float: 2
@@ -9746,6 +10063,36 @@ float: 1
ifloat: 1
ildouble: 4
ldouble: 4
+Test "yn (10, 0x1p+0)":
+float: 2
+ifloat: 2
+Test "yn (10, 0x2p+0)":
+float: 3
+ifloat: 3
+Test "yn (10, 0x2p-4)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
+Test "yn (10, 0x4p-1024)":
+ildouble: 1
+ldouble: 1
+Test "yn (10, 0x4p-128)":
+ildouble: 1
+ldouble: 1
+Test "yn (10, 0x8p-972)":
+ildouble: 1
+ldouble: 1
+Test "yn (10, 0xap+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "yn (10, 0xcp-4)":
+float: 1
+ifloat: 1
+ildouble: 4
+ldouble: 4
Test "yn (10, 1.0)":
float: 2
ifloat: 2
@@ -9765,6 +10112,19 @@ ldouble: 1
Test "yn (2, 0x1p127)":
float: 2
ifloat: 2
+Test "yn (2, 0x8p+124)":
+float: 2
+ifloat: 2
+Test "yn (2, 0xf.fffb1p+96)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "yn (2, 0xf.fffffp+124)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
Test "yn (3, 0.125)":
ildouble: 1
ldouble: 1
@@ -9773,6 +10133,22 @@ double: 1
idouble: 1
ildouble: 2
ldouble: 2
+Test "yn (3, 0x2p+0)":
+float: 1
+ifloat: 1
+Test "yn (3, 0x2p-4)":
+ildouble: 1
+ldouble: 1
+Test "yn (3, 0xap+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "yn (3, 0xcp-4)":
+double: 1
+idouble: 1
+ildouble: 2
+ldouble: 2
Test "yn (3, 10.0)":
double: 1
float: 1
@@ -10322,8 +10698,8 @@ double: 2
float: 4
idouble: 2
ifloat: 4
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: "lgamma":
double: 1