Hi Bill,

Thanks for your help on this. It would be great if you can make a patch to fix this, and I'll have a look. For now you can do an anonymous checkout of the gsl repository and work from there. We typically reserve write access to the git until we have a chance to look at someone's code to make sure its high quality, and also to make sure they're serious about contributing in the future. But in general I'm very grateful to have someone interested in becoming involved.

Patrick

On 11/17/2015 06:50 PM, Bill Maier wrote:
I've investigated bug #45929 "error in generalized hypergeometric function". 
The problem is in the
file specfunc/hyperg_2F1.c in the first function the file, hyperg_2F1_series(). 
There is a loop starting
at line 59 which is intended to converge to the solution, and within this loop 
is a check to insure the
loop is not executed more than 30000 times. This code is actually working and 
computing the correct
value, but the error terms del_pos and del_neg eventually get no smaller and so 
the loop executes the
full 30000 iterations and then reports GSL_EMAXITER error, even though it does 
have the correct
value calculated.

I would fix this by saving the previous error terms and insuring they are 
becoming smaller with each
iteration. If they are not getting smaller, machine precision has been reached 
and the value can be
returned to the user. I can supply code or could check in myself through git if 
I can get access. I have
30+ years of experience with C code and want to begin helping maintain GSL.

By the way, when I do a git clone to get the code and then run ./autogen, it 
fails with message
"autoreconf: not found". Has this file been left out of the git repository?

-Bill Maier                                     

Reply via email to