[bug #58032] gsl_sf_hyperg_1F1 returning incorrect result for nonpositive integers

2020-03-23 Thread Jackson Vanover
Follow-up Comment #1, bug #58032 (project gsl):

Additionally, the documentation should be updated to reflect the fact that the
function is undefined for nonpositive integers

___

Reply to this item at:

  

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




[bug #58032] gsl_sf_hyperg_1F1 returning incorrect result for nonpositive integers

2020-03-23 Thread Jackson Vanover
URL:
  

 Summary: gsl_sf_hyperg_1F1 returning incorrect result for
nonpositive integers
 Project: GNU Scientific Library
Submitted by: jacksonvanover
Submitted on: Mon 23 Mar 2020 11:25:16 PM UTC
Category: Accuracy problem
Severity: 3 - Normal
Operating System: Ubuntu 18.04
  Status: None
 Assigned to: None
 Open/Closed: Open
 Release: 2.6
 Discussion Lock: Any

___

Details:

Using version 2.6 of GSL from ftp://ftp.gnu.org/gnu/gsl/gsl-2.6.tar.gz

OS is Ubuntu 18.04.2 LTS

Hardware is a Dell workstation with a 3.60 GHz Intel i7-4790 and 32 GB
of RAM

Compiler is gcc 7.4.0 with the -w option

When evaluating gsl_sf_hyperg_1F1 or gsl_sf_hyperg_1F1_int with b=0
and x=0, the return is consistently 1 even though the confluent
hypergeometric function does not exist when b is a nonpositive integer
(see https://dlmf.nist.gov/13.2)

#include 
#include 
#include 
#include 

int main (void){
double out1, out2;

out1 = gsl_sf_hyperg_1F1(2, 0, 0);
out2 = gsl_sf_hyperg_1F1_int(2, 0, 0);

printf("%.*f\n", DBL_DIG-1, out1);
printf("%.21e\n", out1);

printf("%.*f\n", DBL_DIG-1, out2);
printf("%.21e\n", out2);
return 0;
}




___

Reply to this item at:

  

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