Adding char tag to Matrix.i
[Math-GSL.git] / t / SF.t
blob4e2bcde2baf3dc21d08098563d77684985ab9c7e
1 use Test::More 'no_plan';
2 use Math::GSL qw/is_similar/;
3 use Math::GSL::Errno;
4 use Math::GSL::SF qw/gsl_sf_bessel_J0 gsl_sf_bessel_J0_e/;
5 use Data::Dumper;
6 use strict;
7 use warnings;
9 BEGIN{ Math::GSL::Errno::gsl_set_error_handler_off(); }
11 my $gsl = Math::GSL->new;
13 my $results = { 
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', 
31               };
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}' );