Merge branch 'bleed' of http://thgate.net/git/Math-GSL into bleed
[Math-GSL.git] / t / Deriv.t
blob596e80d18a12d75803474a143445dfe2d223a93a
1 use Test::More 'no_plan';
2 use Math::GSL qw/:all/;
3 use Math::GSL::Deriv qw/:all/;
4 use Math::GSL::Errno qw/:all/;
5 use Data::Dumper;
6 use strict;
7 use warnings;
9 BEGIN{ gsl_set_error_handler_off() };
12     my ($x,$h)=(10,0.01);
14     my $gsl_func = Math::GSL::Deriv::gsl_function_struct->new;
16     isa_ok( $gsl_func,'Math::GSL::Deriv::gsl_function_struct');
19     my ($status, $result, $abserr);
20     ($status, $result, $abserr) = gsl_deriv_central ( $gsl_func, $x, $h); 
21     ok_status( $status, $GSL_SUCCESS);
22     ok_similar( $result, 2*$x, 'gsl_deriv_central works for a static function' );
24     local $TODO = "gsl_function *";
25     $gsl_func->swig_function_set( sub { print "FOO\n" } );
26     my $func = $gsl_func->swig_function_get();
27     ok( ref $func eq 'CODE', 'swig_function_get works' );
29     $gsl_func->swig_params_set(42);
30     my $params = $gsl_func->swig_params_get();
31     ok(defined $params && $params == 42, 'swig_params_get works' );