Follow-up Comment #1, bug #53876 (group gsl): Because the case handles c being a negative integer, you might as well use gsl_pow_int(), so that in specfunc/hyperg_2F1.c this line:
int stat_e = gsl_sf_exp_mult_err_e(ln_pre_val, ln_pre_err, sg * F.val,
F.err, result);
becomes this:
int stat_e = gsl_sf_exp_mult_err_e(ln_pre_val, ln_pre_err, sg *
gsl_pow_int(x, -c+1) * F.val, F.err, result);
Then presumably the same should happen in the function
gsl_sf_hyperg_2F1_conj_renorm_e() which appears below it, so that this line:
int stat_e = gsl_sf_exp_mult_err_e(ln_pre_val, ln_pre_err, F.val,
F.err, result);
becomes this:
int stat_e = gsl_sf_exp_mult_err_e(ln_pre_val, ln_pre_err,
gsl_pow_int(x, -c+1) * F.val, F.err, result);
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?53876>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
