Make chart example more better
[Math-GSL.git] / Integration.i
blobacb1d122346a1c2908609a9d1a4147614499a912
1 %module "Math::GSL::Integration"
2 %{
3 #include "gsl/gsl_integration.h"
4 %}
6 %include "typemaps.i"
7 %include "gsl_typemaps.i"
8 %include "gsl/gsl_integration.h"
10 %perlcode %{
11 @EXPORT_OK = qw/
12 gsl_integration_workspace_alloc
13 gsl_integration_workspace_free
14 gsl_integration_qaws_table_alloc
15 gsl_integration_qaws_table_set
16 gsl_integration_qaws_table_free
17 gsl_integration_qawo_table_alloc
18 gsl_integration_qawo_table_set
19 gsl_integration_qawo_table_set_length
20 gsl_integration_qawo_table_free
21 gsl_integration_qk15
22 gsl_integration_qk21
23 gsl_integration_qk31
24 gsl_integration_qk41
25 gsl_integration_qk51
26 gsl_integration_qk61
27 gsl_integration_qcheb
28 gsl_integration_qk
29 gsl_integration_qng
30 gsl_integration_qag
31 gsl_integration_qagi
32 gsl_integration_qagiu
33 gsl_integration_qagil
34 gsl_integration_qags
35 gsl_integration_qagp
36 gsl_integration_qawc
37 gsl_integration_qaws
38 gsl_integration_qawo
39 gsl_integration_qawf
40 $GSL_INTEG_COSINE
41 $GSL_INTEG_SINE
42 $GSL_INTEG_GAUSS15
43 $GSL_INTEG_GAUSS21
44 $GSL_INTEG_GAUSS31
45 $GSL_INTEG_GAUSS41
46 $GSL_INTEG_GAUSS51
47 $GSL_INTEG_GAUSS61
49 %EXPORT_TAGS = ( all => [ @EXPORT_OK ] );
51 __END__
53 =head1 NAME
55 Math::GSL::Integration - Routines for performing numerical integration (quadrature) of a function in one dimension
57 =head1 SYNOPSIS
59 This module is not yet implemented. Patches Welcome!
61 use Math::GSL::Integration qw /:all/;
63 =head1 DESCRIPTION
65 Here is a list of all the functions in this module :
67 =over
69 =item * C<gsl_integration_workspace_alloc >
71 =item * C<gsl_integration_workspace_free >
73 =item * C<gsl_integration_qaws_table_alloc >
75 =item * C<gsl_integration_qaws_table_set >
77 =item * C<gsl_integration_qaws_table_free >
79 =item * C<gsl_integration_qawo_table_alloc >
81 =item * C<gsl_integration_qawo_table_set >
83 =item * C<gsl_integration_qawo_table_set_length >
85 =item * C<gsl_integration_qawo_table_free >
87 =item * C<gsl_integration_qk15 >
89 =item * C<gsl_integration_qk21 >
91 =item * C<gsl_integration_qk31 >
93 =item * C<gsl_integration_qk41 >
95 =item * C<gsl_integration_qk51 >
97 =item * C<gsl_integration_qk61 >
99 =item * C<gsl_integration_qcheb >
101 =item * C<gsl_integration_qk >
103 =item * C<gsl_integration_qng >
105 =item * C<gsl_integration_qag >
107 =item * C<gsl_integration_qagi >
109 =item * C<gsl_integration_qagiu >
111 =item * C<gsl_integration_qagil >
113 =item * C<gsl_integration_qags($func,$a,$b,$epsabs,$epsrel,$limit,$workspace)>
115 ($status, $result, $abserr) = gsl_integration_qags (
116 sub { 1/$_[0]} ,
117 1, 10, 0, 1e-7, 1000,
118 $workspace,
121 This function applies the Gauss-Kronrod 21-point integration rule
122 adaptively until an estimate of the integral of $func over ($a,$b) is
123 achieved within the desired absolute and relative error limits,
124 $epsabs and $epsrel.
127 =item * C<gsl_integration_qagp >
129 =item * C<gsl_integration_qawc >
131 =item * C<gsl_integration_qaws >
133 =item * C<gsl_integration_qawo >
135 =item * C<gsl_integration_qawf >
137 =back
139 This module also includes the following constants :
141 =over
143 =item * $GSL_INTEG_COSINE
145 =item * $GSL_INTEG_SINE
147 =item * $GSL_INTEG_GAUSS15
149 =item * $GSL_INTEG_GAUSS21
151 =item * $GSL_INTEG_GAUSS31
153 =item * $GSL_INTEG_GAUSS41
155 =item * $GSL_INTEG_GAUSS51
157 =item * $GSL_INTEG_GAUSS61
159 =back
161 For more informations on the functions, we refer you to the GSL offcial
162 documentation: L<http://www.gnu.org/software/gsl/manual/html_node/>
164 Tip : search on google: site:http://www.gnu.org/software/gsl/manual/html_node/ name_of_the_function_you_want
167 =head1 AUTHORS
169 Jonathan Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>
171 =head1 COPYRIGHT AND LICENSE
173 Copyright (C) 2008 Jonathan Leto and Thierry Moisan
175 This program is free software; you can redistribute it and/or modify it
176 under the same terms as Perl itself.
178 =cut