Follow-up Comment #2, bug #66826 (group gsl):

Here a few more test cases for hyperg_1F1() for inclusion into
specfunc/test_hyperg.c to demonstrate that the gsl_sf_hyperg_1F1_e() function
produces the same result as gsl_sf_hyperg_1F1_int_e() when its arguments are
integer:

  TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (-1, -2, 1, &r), 1.5, TEST_TOL0,
GSL_SUCCESS);     TEST_SF(s, gsl_sf_hyperg_1F1_e, (-1, -2, 1, &r), 1.5,
TEST_TOL0, GSL_SUCCESS); 
  TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (-1, -3, 1, &r), 4/3.0, TEST_TOL0,
GSL_SUCCESS);     TEST_SF(s, gsl_sf_hyperg_1F1_e, (-1, -3, 1, &r), 4/3.0,
TEST_TOL0, GSL_SUCCESS); 
  TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (-1, -3, 2, &r), 5/3.0, TEST_TOL0,
GSL_SUCCESS);     TEST_SF(s, gsl_sf_hyperg_1F1_e, (-1, -3, 2, &r), 5/3.0,
TEST_TOL0, GSL_SUCCESS); 
  TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (0, -1, 1, &r), 1.0, TEST_TOL0,
GSL_SUCCESS);     TEST_SF(s, gsl_sf_hyperg_1F1_e, (0, -1, 1, &r), 1.0,
TEST_TOL0, GSL_SUCCESS); 
  TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (0, -2, 1, &r), 1.0, TEST_TOL0,
GSL_SUCCESS);     TEST_SF(s, gsl_sf_hyperg_1F1_e, (0, -2, 1, &r), 1.0,
TEST_TOL0, GSL_SUCCESS); 
  TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (2, 1, 1, &r), 2*M_E, TEST_TOL0,
GSL_SUCCESS);     TEST_SF(s, gsl_sf_hyperg_1F1_e, (2, 1, 1, &r), 2*M_E,
TEST_TOL0, GSL_SUCCESS); 
  TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (3, 2, 1, &r), 3*M_E/2.0, TEST_TOL0,
GSL_SUCCESS);     TEST_SF(s, gsl_sf_hyperg_1F1_e, (3, 2, 1, &r), 3*M_E/2.0,
TEST_TOL0, GSL_SUCCESS); 
  TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (3, 1, 1, &r), 7*M_E/2.0, TEST_TOL0,
GSL_SUCCESS);     TEST_SF(s, gsl_sf_hyperg_1F1_e, (3, 1, 1, &r), 7*M_E/2.0,
TEST_TOL0, GSL_SUCCESS); 
  TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (4, 3, 1, &r), 4*M_E/3.0, TEST_TOL0,
GSL_SUCCESS);     TEST_SF(s, gsl_sf_hyperg_1F1_e, (4, 3, 1, &r), 4*M_E/3.0,
TEST_TOL0, GSL_SUCCESS); 
  TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (4, 3, -1, &r), 2/(3*M_E), TEST_TOL0,
GSL_SUCCESS);     TEST_SF(s, gsl_sf_hyperg_1F1_e, (4, 3, -1, &r), 2/(3*M_E),
TEST_TOL0, GSL_SUCCESS); 
  TEST_SF(s, gsl_sf_hyperg_1F1_int_e, (4, 2, 1, &r), 13*M_E/6.0, TEST_TOL0,
GSL_SUCCESS);     TEST_SF(s, gsl_sf_hyperg_1F1_e, (4, 2, 1, &r), 13*M_E/6.0,
TEST_TOL0, GSL_SUCCESS);

This was investigated when looking at the possibility of adding a special
case, namely hyperg_1F1(a, a-1, x) = exp(x)*(a+x-1)/(a-1), which might be
useful in high-throughput environments at the expense of complicating the
code.


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?66826>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to