about summary refs log tree commit diff
path: root/sysdeps
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
parent237764876709dfbd81ae9fc9f91ef7e496a3eb08 (diff)
downloadglibc-f889953b44da50bf8a7824c97d09dbe03fd11b83.tar.gz
glibc-f889953b44da50bf8a7824c97d09dbe03fd11b83.tar.xz
glibc-f889953b44da50bf8a7824c97d09dbe03fd11b83.zip
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')
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps380
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps445
2 files changed, 821 insertions, 4 deletions
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 5ed3feefc9..a471e5fe9f 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
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index d36b76a047..b45ce1dfcd 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -7388,6 +7388,13 @@ double: 1
 idouble: 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
@@ -7398,6 +7405,27 @@ ldouble: 2
 Test "jn (0, 0.75)":
 float: 1
 ifloat: 1
+Test "jn (0, 0x2p+0)":
+float: 2
+ifloat: 2
+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: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "jn (0, 0xcp-4)":
+float: 1
+ifloat: 1
 Test "jn (0, 10.0)":
 double: 2
 float: 1
@@ -7416,6 +7444,17 @@ 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)":
+double: 1
+idouble: 1
+Test "jn (1, 0xap+0)":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
 Test "jn (1, 10.0)":
 float: 2
 ifloat: 2
@@ -7427,6 +7466,9 @@ idouble: 1
 Test "jn (1, 8.0)":
 double: 1
 idouble: 1
+Test "jn (10, -0x1p+0)":
+ildouble: 1
+ldouble: 1
 Test "jn (10, -1.0)":
 ildouble: 1
 ldouble: 1
@@ -7442,6 +7484,35 @@ idouble: 1
 ifloat: 1
 ildouble: 2
 ldouble: 2
+Test "jn (10, 0x1p+0)":
+ildouble: 1
+ldouble: 1
+Test "jn (10, 0x2p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "jn (10, 0x2p-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "jn (10, 0xap+0)":
+double: 4
+float: 2
+idouble: 4
+ifloat: 2
+ildouble: 2
+ldouble: 2
+Test "jn (10, 0xcp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
 Test "jn (10, 1.0)":
 ildouble: 1
 ldouble: 1
@@ -7471,6 +7542,56 @@ 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: 2
+idouble: 2
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0x2.67a2a8p+0)":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+ildouble: 2
+ldouble: 2
+Test "jn (2, 0x8p+124)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0xf.fffb1p+96)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0xf.ffffffffffff8p+1020)":
+ildouble: 1
+ldouble: 1
+Test "jn (2, 0xf.fffffp+124)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
 Test "jn (2, 2.4048255576957729)":
 double: 2
 float: 1
@@ -7478,6 +7599,9 @@ idouble: 2
 ifloat: 1
 ildouble: 1
 ldouble: 1
+Test "jn (3, -0x1p+0)":
+ildouble: 1
+ldouble: 1
 Test "jn (3, -1.0)":
 ildouble: 1
 ldouble: 1
@@ -7491,6 +7615,54 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 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.67a2a5d2e368p+0)":
+double: 3
+idouble: 3
+Test "jn (3, 0x2.67a2a8p+0)":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+ildouble: 1
+ldouble: 1
+Test "jn (3, 0x2p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (3, 0x2p-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "jn (3, 0xap+0)":
+double: 3
+idouble: 3
+ildouble: 1
+ldouble: 1
+Test "jn (3, 0xcp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 Test "jn (3, 1.0)":
 ildouble: 1
 ldouble: 1
@@ -7511,11 +7683,59 @@ double: 3
 idouble: 3
 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)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (4, 0x2.67a2a8p+0)":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "jn (4, 2.4048255576957729)":
 double: 1
 idouble: 1
 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.67a2a5d2e3682p+0)":
+double: 1
+idouble: 1
+Test "jn (5, 0x2.67a2a5d2e368p+0)":
+double: 2
+idouble: 2
+ildouble: 1
+ldouble: 1
+Test "jn (5, 0x2.67a2a8p+0)":
+float: 2
+ifloat: 2
 Test "jn (5, 2.4048255576957729)":
 double: 3
 float: 1
@@ -7523,6 +7743,34 @@ idouble: 3
 ifloat: 1
 ildouble: 3
 ldouble: 3
+Test "jn (6, 0x2.67a2a4p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+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: 2
+idouble: 2
+ildouble: 1
+ldouble: 1
+Test "jn (6, 0x2.67a2a5d2e368p+0)":
+double: 4
+idouble: 4
+Test "jn (6, 0x2.67a2a8p+0)":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+ildouble: 1
+ldouble: 1
 Test "jn (6, 2.4048255576957729)":
 double: 4
 float: 3
@@ -7530,11 +7778,55 @@ idouble: 4
 ifloat: 3
 ildouble: 1
 ldouble: 1
+Test "jn (7, 0x2.67a2a4p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+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)":
+ildouble: 4
+ldouble: 4
+Test "jn (7, 0x2.67a2a5d2e368p+0)":
+double: 3
+idouble: 3
+ildouble: 1
+ldouble: 1
+Test "jn (7, 0x2.67a2a8p+0)":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
 Test "jn (7, 2.4048255576957729)":
 double: 3
 float: 5
 idouble: 3
 ifloat: 5
+Test "jn (8, 0x2.67a2a4p+0)":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "jn (8, 0x2.67a2a5d2e3682p+0)":
+double: 1
+idouble: 1
+Test "jn (8, 0x2.67a2a5d2e368p+0)":
+double: 3
+idouble: 3
+Test "jn (8, 0x2.67a2a8p+0)":
+double: 2
+float: 4
+idouble: 2
+ifloat: 4
+ildouble: 1
+ldouble: 1
 Test "jn (8, 2.4048255576957729)":
 double: 3
 float: 2
@@ -7542,6 +7834,28 @@ idouble: 3
 ifloat: 2
 ildouble: 2
 ldouble: 2
+Test "jn (9, 0x2.67a2a4p+0)":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+ildouble: 2
+ldouble: 2
+Test "jn (9, 0x2.67a2a5d2e3682p+0)":
+double: 4
+idouble: 4
+Test "jn (9, 0x2.67a2a5d2e368p+0)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "jn (9, 0x2.67a2a8p+0)":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+ildouble: 3
+ldouble: 3
 Test "jn (9, 2.4048255576957729)":
 double: 1
 float: 2
@@ -10912,6 +11226,11 @@ idouble: 1
 ifloat: 2
 
 # yn
+Test "yn (-10, 0x1p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
 Test "yn (-10, 1.0)":
 double: 1
 float: 2
@@ -10920,6 +11239,31 @@ ifloat: 2
 Test "yn (0, 0.125)":
 ildouble: 1
 ldouble: 1
+Test "yn (0, 0x1.8p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+Test "yn (0, 0x1p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "yn (0, 0x2p-4)":
+ildouble: 1
+ldouble: 1
+Test "yn (0, 0x8p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "yn (0, 0xap+0)":
+float: 1
+ifloat: 1
 Test "yn (0, 1.0)":
 double: 2
 float: 1
@@ -10952,6 +11296,31 @@ double: 1
 idouble: 1
 ildouble: 1
 ldouble: 1
+Test "yn (1, 0x1.8p+0)":
+float: 1
+ifloat: 1
+Test "yn (1, 0x2p+0)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "yn (1, 0x2p-4)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "yn (1, 0x8p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+Test "yn (1, 0xap+0)":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
 Test "yn (1, 1.5)":
 float: 1
 ifloat: 1
@@ -10984,6 +11353,42 @@ idouble: 1
 ifloat: 2
 ildouble: 4
 ldouble: 4
+Test "yn (10, 0x1p+0)":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+Test "yn (10, 0x2p+0)":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+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: 1
+float: 1
+idouble: 1
+ifloat: 1
+Test "yn (10, 0xcp-4)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+ildouble: 4
+ldouble: 4
 Test "yn (10, 1.0)":
 double: 1
 float: 2
@@ -11009,6 +11414,24 @@ double: 1
 float: 3
 idouble: 1
 ifloat: 3
+Test "yn (2, 0x8p+124)":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+Test "yn (2, 0xf.fffb1p+96)":
+double: 1
+idouble: 1
+ildouble: 1
+ldouble: 1
+Test "yn (2, 0xf.ffffffffffff8p+1020)":
+double: 1
+idouble: 1
+Test "yn (2, 0xf.fffffp+124)":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 Test "yn (3, 0.125)":
 double: 1
 idouble: 1
@@ -11021,6 +11444,24 @@ idouble: 1
 ifloat: 1
 ildouble: 2
 ldouble: 2
+Test "yn (3, 0x2p+0)":
+double: 1
+idouble: 1
+Test "yn (3, 0x2p-4)":
+double: 1
+idouble: 1
+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
@@ -11610,8 +12051,8 @@ double: 4
 float: 5
 idouble: 4
 ifloat: 5
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
 
 Function: "lgamma":
 double: 1