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

As the airy Ai function approaches positive infinity, its output goes to
zero. The mathematical libraries mpmath, scipy, and jmat all represent
this behavior, returning zero for large arguments (somewhere just
past 100). On the other hand, GSL invokes the error handler with an
underflow error, even though the proper behavior (theoretically) seems
straightforward to represent

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

int main (void){
        double out;
        out = gsl_sf_airy_Ai(113, GSL_PREC_DOUBLE);

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

Reply via email to