+static const struct test_if_f_data jn_test_data[] =
+ {
+ START_DATA (jn),
+ /* jn is the Bessel function of the first kind of order n. */
+ /* jn (0, x) == j0 (x) */
+ TEST_if_f (jn, 0, qnan_value, qnan_value),
+ TEST_if_f (jn, 0, plus_infty, 0),
+ TEST_if_f (jn, 0, -1.0, 0.765197686557966551449717526102663221L),
+ TEST_if_f (jn, 0, 0.0, 1.0),
+ TEST_if_f (jn, 0, 0.125L, 0.996097563041985204620768999453174712L),
+ TEST_if_f (jn, 0, 0.75L, 0.864242275166648623555731103820923211L),
+ TEST_if_f (jn, 0, 1.0, 0.765197686557966551449717526102663221L),
+ TEST_if_f (jn, 0, 1.5, 0.511827671735918128749051744283411720L),
+ TEST_if_f (jn, 0, 2.0, 0.223890779141235668051827454649948626L),
+ TEST_if_f (jn, 0, 8.0, 0.171650807137553906090869407851972001L),
+ TEST_if_f (jn, 0, 10.0, -0.245935764451348335197760862485328754L),
+ TEST_if_f (jn, 0, 4.0, -3.9714980986384737228659076845169804197562E-1L),
+ TEST_if_f (jn, 0, -4.0, -3.9714980986384737228659076845169804197562E-1L),
+
+ /* jn (1, x) == j1 (x) */
+ TEST_if_f (jn, 1, qnan_value, qnan_value),
+ TEST_if_f (jn, 1, plus_infty, 0),
+ TEST_if_f (jn, 1, -1.0, -0.440050585744933515959682203718914913L),
+ TEST_if_f (jn, 1, 0.0, 0.0),
+ TEST_if_f (jn, 1, 0.125L, 0.0623780091344946810942311355879361177L),
+ TEST_if_f (jn, 1, 0.75L, 0.349243602174862192523281016426251335L),
+ TEST_if_f (jn, 1, 1.0, 0.440050585744933515959682203718914913L),
+ TEST_if_f (jn, 1, 1.5, 0.557936507910099641990121213156089400L),
+ TEST_if_f (jn, 1, 2.0, 0.576724807756873387202448242269137087L),
+ TEST_if_f (jn, 1, 8.0, 0.234636346853914624381276651590454612L),
+ TEST_if_f (jn, 1, 10.0, 0.0434727461688614366697487680258592883L),
+
+ /* jn (3, x) */
+ TEST_if_f (jn, 3, qnan_value, qnan_value),
+ TEST_if_f (jn, 3, plus_infty, 0),
+
+ TEST_if_f (jn, 3, -1.0, -0.0195633539826684059189053216217515083L),
+ TEST_if_f (jn, 3, 0.0, 0.0),
+ TEST_if_f (jn, 3, 0.125L, 0.406503832554912875023029337653442868e-4L),
+ TEST_if_f (jn, 3, 0.75L, 0.848438342327410884392755236884386804e-2L),
+ TEST_if_f (jn, 3, 1.0, 0.0195633539826684059189053216217515083L),
+ TEST_if_f (jn, 3, 2.0, 0.128943249474402051098793332969239835L),
+ TEST_if_f (jn, 3, 10.0, 0.0583793793051868123429354784103409563L),
+
+ /* jn (10, x) */
+ TEST_if_f (jn, 10, qnan_value, qnan_value),
+ TEST_if_f (jn, 10, plus_infty, 0),
+
+ TEST_if_f (jn, 10, -1.0, 0.263061512368745320699785368779050294e-9L),
+ TEST_if_f (jn, 10, 0.0, 0.0),
+ TEST_if_f (jn, 10, 0.125L, 0.250543369809369890173993791865771547e-18L),
+ TEST_if_f (jn, 10, 0.75L, 0.149621713117596814698712483621682835e-10L),
+ TEST_if_f (jn, 10, 1.0, 0.263061512368745320699785368779050294e-9L),
+ TEST_if_f (jn, 10, 2.0, 0.251538628271673670963516093751820639e-6L),
+ TEST_if_f (jn, 10, 10.0, 0.207486106633358857697278723518753428L),
+
+ /* BZ #11589 .*/
+ TEST_if_f (jn, 2, 2.4048255576957729L, 0.43175480701968038399746111312430703L),
+ TEST_if_f (jn, 3, 2.4048255576957729L, 0.19899990535769083404042146764530813L),
+ TEST_if_f (jn, 4, 2.4048255576957729L, 0.647466661641779720084932282551219891E-1L),
+ TEST_if_f (jn, 5, 2.4048255576957729L, 0.163892432048058525099230549946147698E-1L),
+ TEST_if_f (jn, 6, 2.4048255576957729L, 0.34048184720278336646673682895929161E-2L),
+ TEST_if_f (jn, 7, 2.4048255576957729L, 0.60068836573295394221291569249883076E-3L),
+ TEST_if_f (jn, 8, 2.4048255576957729L, 0.92165786705344923232879022467054148E-4L),
+ TEST_if_f (jn, 9, 2.4048255576957729L, 0.12517270977961513005428966643852564E-4L),
+
+ /* Bug 14155: spurious exception may occur. */
+ TEST_if_f (jn, 2, 0x1.ffff62p+99L, -4.43860668048170034334926693188979974489e-16L, UNDERFLOW_EXCEPTION_OK),
+ END_DATA (jn)
+ };
+