~ubuntu-branches/ubuntu/lucid/pdl/lucid

« back to all changes in this revision

Viewing changes to Lib/GSL/SF/ellint/gsl_sf_ellint.pd

  • Committer: Bazaar Package Importer
  • Author(s): Henning Glawe
  • Date: 2003-12-13 22:25:41 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20031213222541-m2sq55fevk74h93c
Tags: 1:2.4.0-1
* new maintainer (Closes: #215543)
* acknowlege NMU (Closes: #141117, #104630, #140104, #170182)
* new upstream release.
* enable plplot support (Closes: #196185)
* enable gsl support
* enable fftw support
* swap out m51.fits and COPYING, taken from PDL CVS HEAD (Closes: #223793)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
pp_addpm({At=>Top},<<'EOD');
 
2
=head1 NAME
 
3
 
 
4
PDL::GSLSF::ELLINT - PDL interface to GSL Special Functions
 
5
 
 
6
=head1 DESCRIPTION
 
7
 
 
8
This is an interface to the Special Function package present in the GNU Scientific Library. 
 
9
 
 
10
=head1 SYNOPSIS
 
11
 
 
12
=head1 Functions
 
13
 
 
14
=cut
 
15
EOD
 
16
 
 
17
# PP interface to GSL
 
18
 
 
19
pp_addhdr('
 
20
#include <gsl/gsl_sf.h>
 
21
#include "../gslerr.h"
 
22
');
 
23
 
 
24
pp_def('gsl_sf_ellint_Kcomp',
 
25
       GenericTypes => [D],
 
26
       Pars=>'double k(); double [o]y(); double [o]e()',
 
27
       Code =>'
 
28
gsl_sf_result r;
 
29
GSLERR(gsl_sf_ellint_Kcomp_e,($k(),GSL_PREC_DOUBLE,&r))
 
30
$y() = r.val;
 
31
$e() = r.err; 
 
32
',
 
33
       Doc =>'Legendre form of complete elliptic integrals K(k) = Integral[1/Sqrt[1 - k^2 Sin[t]^2], {t, 0, Pi/2}].'
 
34
      );
 
35
 
 
36
pp_def('gsl_sf_ellint_Ecomp',
 
37
       GenericTypes => [D],
 
38
       Pars=>'double k(); double [o]y(); double [o]e()',
 
39
       Code =>'
 
40
gsl_sf_result r;
 
41
GSLERR(gsl_sf_ellint_Ecomp_e,($k(),GSL_PREC_DOUBLE,&r))
 
42
$y() = r.val;
 
43
$e() = r.err; 
 
44
',
 
45
       Doc =>'Legendre form of complete elliptic integrals E(k) = Integral[  Sqrt[1 - k^2 Sin[t]^2], {t, 0, Pi/2}]'
 
46
      );
 
47
 
 
48
pp_def('gsl_sf_ellint_F',
 
49
       GenericTypes => [D],
 
50
       Pars=>'double phi(); double k(); double [o]y(); double [o]e()',
 
51
       Code =>'
 
52
gsl_sf_result r;
 
53
GSLERR(gsl_sf_ellint_F_e,($phi(),$k(),GSL_PREC_DOUBLE,&r))
 
54
$y() = r.val;
 
55
$e() = r.err; 
 
56
',
 
57
       Doc =>'Legendre form of incomplete elliptic integrals F(phi,k)   = Integral[1/Sqrt[1 - k^2 Sin[t]^2], {t, 0, phi}]'
 
58
      );
 
59
 
 
60
pp_def('gsl_sf_ellint_E',
 
61
       GenericTypes => [D],
 
62
       Pars=>'double phi(); double k(); double [o]y(); double [o]e()',
 
63
       Code =>'
 
64
gsl_sf_result r;
 
65
GSLERR(gsl_sf_ellint_E_e,($phi(),$k(),GSL_PREC_DOUBLE,&r))
 
66
$y() = r.val;
 
67
$e() = r.err; 
 
68
',
 
69
       Doc =>'Legendre form of incomplete elliptic integrals E(phi,k)   = Integral[  Sqrt[1 - k^2 Sin[t]^2], {t, 0, phi}]'
 
70
      );
 
71
 
 
72
pp_def('gsl_sf_ellint_P',
 
73
       GenericTypes => [D],
 
74
       Pars=>'double phi(); double k(); double n();
 
75
              double [o]y(); double [o]e()',
 
76
       Code =>'
 
77
gsl_sf_result r;
 
78
GSLERR(gsl_sf_ellint_P_e,($phi(),$k(),$n(),GSL_PREC_DOUBLE,&r))
 
79
$y() = r.val;
 
80
$e() = r.err; 
 
81
',
 
82
       Doc =>'Legendre form of incomplete elliptic integrals P(phi,k,n) = Integral[(1 + n Sin[t]^2)^(-1)/Sqrt[1 - k^2 Sin[t]^2], {t, 0, phi}]'
 
83
      );
 
84
 
 
85
pp_def('gsl_sf_ellint_D',
 
86
       GenericTypes => [D],
 
87
       Pars=>'double phi(); double k(); double n();
 
88
              double [o]y(); double [o]e()',
 
89
       Code =>'
 
90
gsl_sf_result r;
 
91
GSLERR(gsl_sf_ellint_D_e,($phi(),$k(),$n(),GSL_PREC_DOUBLE,&r))
 
92
$y() = r.val;
 
93
$e() = r.err; 
 
94
',
 
95
       Doc =>'Legendre form of incomplete elliptic integrals D(phi,k,n)'
 
96
      );
 
97
 
 
98
pp_def('gsl_sf_ellint_RC',
 
99
       GenericTypes => [D],
 
100
       Pars=>'double x(); double yy(); double [o]y(); double [o]e()',
 
101
       Code =>'
 
102
gsl_sf_result r;
 
103
GSLERR(gsl_sf_ellint_RC_e,($x(),$yy(),GSL_PREC_DOUBLE,&r))
 
104
$y() = r.val;
 
105
$e() = r.err; 
 
106
',
 
107
       Doc =>'Carlsons symmetric basis of functions RC(x,y)   = 1/2 Integral[(t+x)^(-1/2) (t+y)^(-1)], {t,0,Inf}'
 
108
      );
 
109
 
 
110
pp_def('gsl_sf_ellint_RD',
 
111
       GenericTypes => [D],
 
112
       Pars=>'double x(); double yy(); double z(); double [o]y(); double [o]e()',
 
113
       Code =>'
 
114
gsl_sf_result r;
 
115
GSLERR(gsl_sf_ellint_RD_e,($x(),$yy(),$z(),GSL_PREC_DOUBLE,&r))
 
116
$y() = r.val;
 
117
$e() = r.err; 
 
118
',
 
119
       Doc =>'Carlsons symmetric basis of functions RD(x,y,z) = 3/2 Integral[(t+x)^(-1/2) (t+y)^(-1/2) (t+z)^(-3/2), {t,0,Inf}]'
 
120
      );
 
121
 
 
122
pp_def('gsl_sf_ellint_RF',
 
123
       GenericTypes => [D],
 
124
       Pars=>'double x(); double yy(); double z(); double [o]y(); double [o]e()',
 
125
       Code =>'
 
126
gsl_sf_result r;
 
127
GSLERR(gsl_sf_ellint_RF_e,($x(),$yy(),$z(),GSL_PREC_DOUBLE,&r))
 
128
$y() = r.val;
 
129
$e() = r.err; 
 
130
',
 
131
       Doc =>'Carlsons symmetric basis of functions RF(x,y,z) = 1/2 Integral[(t+x)^(-1/2) (t+y)^(-1/2) (t+z)^(-1/2), {t,0,Inf}]'
 
132
      );
 
133
 
 
134
pp_def('gsl_sf_ellint_RJ',
 
135
       GenericTypes => [D],
 
136
       Pars=>'double x(); double yy(); double z(); double p(); double [o]y(); double [o]e()',
 
137
       Code =>'
 
138
gsl_sf_result r;
 
139
GSLERR(gsl_sf_ellint_RJ_e,($x(),$yy(),$z(),$p(),GSL_PREC_DOUBLE,&r))
 
140
$y() = r.val;
 
141
$e() = r.err; 
 
142
',
 
143
       Doc =>'Carlsons symmetric basis of functions RJ(x,y,z,p) = 3/2 Integral[(t+x)^(-1/2) (t+y)^(-1/2) (t+z)^(-1/2) (t+p)^(-1), {t,0,Inf}]'
 
144
      );
 
145
 
 
146
pp_addpm({At=>Bot},<<'EOD');
 
147
=head1 AUTHOR
 
148
 
 
149
This file copyright (C) 1999 Christian Pellegrin <chri@infis.univ.trieste.it>,
 
150
2002 Christian Soeller.
 
151
All rights reserved. There
 
152
is no warranty. You are allowed to redistribute this software /
 
153
documentation under certain conditions. For details, see the file
 
154
COPYING in the PDL distribution. If this file is separated from the
 
155
PDL distribution, the copyright notice should be included in the file.
 
156
 
 
157
The GSL SF modules were written by G. Jungman.
 
158
 
 
159
=cut
 
160
EOD
 
161
 
 
162
pp_done();