1 use Test::More 'no_plan';
2 use Math::GSL qw/is_similar/;
4 use Math::GSL::SF qw/gsl_sf_bessel_J0 gsl_sf_bessel_J0_e/;
9 BEGIN{ Math::GSL::Errno::gsl_set_error_handler_off(); }
11 my $gsl = Math::GSL->new;
14 # GSL does not seem to have one argument versions of Ai(x)
15 #'gsl_sf_airy_Ai(-5)' => 0.3507610090241142,
16 #'gsl_sf_airy_Ai(-500)' => 0.0725901201040411396
17 'gsl_sf_bessel_J0(0.1)' => 0.99750156206604003230,
18 'gsl_sf_bessel_J0(2.0)' => 0.22389077914123566805,
19 'gsl_sf_bessel_J0(5)' => -0.17759677131433830434739701,
20 'gsl_sf_bessel_J0(100)' => 0.019985850304223122424,
21 'gsl_sf_bessel_J0(1e10)' => 2.1755917502468917269e-06,
22 'gsl_sf_erf(5)' => 0.999999999998463,
23 'gsl_sf_dilog(-3.0)' => -1.9393754207667089531,
24 'gsl_sf_dilog(-0.5)' => -0.4484142069236462024,
25 'gsl_sf_dilog(-0.001)' => -0.0009997501110486510834,
26 'gsl_sf_dilog(0.1)' => 0.1026177910993911,
27 'gsl_sf_dilog(0.7)' => 0.8893776242860387386,
28 'gsl_sf_dilog(1.0)' => 1.6449340668482260,
29 'gsl_sf_gamma(6.3)' => 201.813275184748,
30 'gsl_sf_gamma(-1)' => 'nan',
33 $gsl->verify_results($results, 'Math::GSL::SF');
36 my $result = Math::GSL::SF::gsl_sf_result_struct->new;
37 my ($status) = gsl_sf_bessel_J0_e(2.0,$result);
38 ok( defined $result->{err}, '$result->{err}' );
39 ok( is_similar($result->{val}, gsl_sf_bessel_J0(2.0)) , '$result->{val}' );