Apply nan/inf handling patch from Sisyphus
[Math-GSL.git] / Spline.i
blob27abd94fb13b2287eb617c5755e7b9c9524d86bd
1 %module "Math::GSL::Spline"
3 %include "typemaps.i"
4 %include "gsl_typemaps.i"
5 %apply double *OUTPUT { double * y, double * d, double * d2, double * result };
7 %{
8 #include "gsl/gsl_spline.h"
9 %}
11 %include "gsl/gsl_spline.h"
14 %perlcode %{
15 @EXPORT_OK = qw/
16 gsl_spline_alloc
17 gsl_spline_init
18 gsl_spline_name
19 gsl_spline_min_size
20 gsl_spline_eval_e
21 gsl_spline_eval
22 gsl_spline_eval_deriv_e
23 gsl_spline_eval_deriv
24 gsl_spline_eval_deriv2_e
25 gsl_spline_eval_deriv2
26 gsl_spline_eval_integ_e
27 gsl_spline_eval_integ
28 gsl_spline_free
30 %EXPORT_TAGS = ( all => [ @EXPORT_OK ] );
32 __END__
34 =head1 NAME
36 Math::GSL::Spline - Higher-level Interface to Interp
38 =head1 SYNOPSIS
40 use Math::GSL::Spline qw /:all/;
42 =head1 DESCRIPTION
44 The functions described in the Interp module required the user to supply pointers to the x and y arrays on each call. The following functions are equivalent to the corresponding gsl_interp functions but maintain a copy of this data in the gsl_spline object. This removes the need to pass both xa and ya as arguments on each evaluation.
46 Here is a list of all the functions in this module :
48 =over
50 =item * C<gsl_spline_alloc($T, $size)>
52 =item * C<gsl_spline_init($spline, $xa, $ya, $size)>
54 =item * C<gsl_spline_free($spline)>
56 =item * C<gsl_spline_name($spline)>
58 =item * C<gsl_spline_min_size($spline)>
60 =item * C<gsl_spline_eval_e($spline, $x, $acc)>
62 =item * C<gsl_spline_eval($spline, $x, $acc)>
64 =item * C<gsl_spline_eval_deriv_e($spline, $x, $acc)>
66 =item * C<gsl_spline_eval_deriv($spline, $x, $acc)>
68 =item * C<gsl_spline_eval_deriv2_e($spline, $x, $acc)>
70 =item * C<gsl_spline_eval_deriv2($spline, $x, $acc)>
72 =item * C<gsl_spline_eval_integ_e($spline, $a, $b, $acc)>
74 =item * C<gsl_spline_eval_integ($spline, $a, $b, $acc)>
76 =back
78 For more informations on the functions, we refer you to the GSL offcial
79 documentation: L<http://www.gnu.org/software/gsl/manual/html_node/>
81 Tip : search on google: site:http://www.gnu.org/software/gsl/manual/html_node/ name_of_the_function_you_want
84 =head1 AUTHORS
86 Jonathan Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>
88 =head1 COPYRIGHT AND LICENSE
90 Copyright (C) 2008 Jonathan Leto and Thierry Moisan
92 This program is free software; you can redistribute it and/or modify it
93 under the same terms as Perl itself.
95 =cut