[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #58032] gsl_sf_hyperg_1F1 returning incorrect result for nonpositiv

From: Jackson Vanover
Subject: [bug #58032] gsl_sf_hyperg_1F1 returning incorrect result for nonpositive integers
Date: Mon, 23 Mar 2020 19:25:18 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0


                 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



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 <gsl/gsl_sf.h>
#include <stdio.h>
#include <gsl/gsl_math.h>
#include <float.h>

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]