bug-gsl
[Top][All Lists]
Advanced

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

Digamma function returning incorrect values for (most) negative integers


From: Jackson Vanover
Subject: Digamma function returning incorrect values for (most) negative integers
Date: Wed, 4 Mar 2020 09:43:51 -0800

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

Though the digamma function has poles at all negative integer values,
once the magnitude of the input is larger than 2,
GSL does not complain and returns incorrect values. For the inputs -1
and -2, the error handler is invoked with a domain error as might be
expected.

#include <gsl/gsl_sf.h>
#include <stdio.h>
#include <gsl/gsl_math.h>
#include <float.h>

int main (void){
        double out;
        out = gsl_sf_psi(-3);

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


reply via email to

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