summaryrefslogtreecommitdiff
path: root/lib/Numeric/GSL/Special/Legendre.hs
diff options
context:
space:
mode:
authorAlberto Ruiz <aruiz@um.es>2007-10-01 15:04:16 +0000
committerAlberto Ruiz <aruiz@um.es>2007-10-01 15:04:16 +0000
commitc99b8fd6e3f8a2fb365ec12baf838f864b118ece (patch)
tree11b5b8515861fe88d547253ae10c2182d5fadaf2 /lib/Numeric/GSL/Special/Legendre.hs
parent768f08d4134a066d773d56a9c03ae688e3850352 (diff)
LinearAlgebra and GSL moved to Numeric
Diffstat (limited to 'lib/Numeric/GSL/Special/Legendre.hs')
-rw-r--r--lib/Numeric/GSL/Special/Legendre.hs278
1 files changed, 278 insertions, 0 deletions
diff --git a/lib/Numeric/GSL/Special/Legendre.hs b/lib/Numeric/GSL/Special/Legendre.hs
new file mode 100644
index 0000000..0ea7557
--- /dev/null
+++ b/lib/Numeric/GSL/Special/Legendre.hs
@@ -0,0 +1,278 @@
1------------------------------------------------------------
2{- |
3Module : Numeric.GSL.Special.Legendre
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10Wrappers for selected functions described at:
11
12<http://www.gnu.org/software/gsl/manual/html_node/Legendre-Functions-and-Spherical-Harmonics.html>
13
14-}
15------------------------------------------------------------
16
17module Numeric.GSL.Special.Legendre(
18 legendre_Pl_e
19, legendre_Pl
20, legendre_P1_e
21, legendre_P2_e
22, legendre_P3_e
23, legendre_P1
24, legendre_P2
25, legendre_P3
26, legendre_Q0_e
27, legendre_Q0
28, legendre_Q1_e
29, legendre_Q1
30, legendre_Ql_e
31, legendre_Ql
32, legendre_Plm_e
33, legendre_Plm
34, legendre_sphPlm_e
35, legendre_sphPlm
36, legendre_array_size
37, conicalP_half_e
38, conicalP_half
39, conicalP_mhalf_e
40, conicalP_mhalf
41, conicalP_0_e
42, conicalP_0
43, conicalP_1_e
44, conicalP_1
45, conicalP_sph_reg_e
46, conicalP_sph_reg
47, conicalP_cyl_reg_e
48, conicalP_cyl_reg
49, legendre_H3d_0_e
50, legendre_H3d_0
51, legendre_H3d_1_e
52, legendre_H3d_1
53, legendre_H3d_e
54, legendre_H3d
55) where
56
57import Foreign(Ptr)
58import Numeric.GSL.Special.Internal
59
60-- | wrapper for int gsl_sf_legendre_Pl_e(int l,double x,gsl_sf_result* result);
61legendre_Pl_e :: Int -> Double -> (Double,Double)
62legendre_Pl_e l x = createSFR "legendre_Pl_e" $ gsl_sf_legendre_Pl_e l x
63foreign import ccall "legendre.h gsl_sf_legendre_Pl_e" gsl_sf_legendre_Pl_e :: Int -> Double -> Ptr Double -> IO(Int)
64
65-- | wrapper for double gsl_sf_legendre_Pl(int l,double x);
66legendre_Pl :: Int -> Double -> Double
67legendre_Pl = gsl_sf_legendre_Pl
68foreign import ccall "legendre.h gsl_sf_legendre_Pl" gsl_sf_legendre_Pl :: Int -> Double -> Double
69
70-- | wrapper for int gsl_sf_legendre_Pl_array(int lmax,double x,double* result_array);
71legendre_Pl_array :: Int -> Double -> Ptr Double -> Int
72legendre_Pl_array = gsl_sf_legendre_Pl_array
73foreign import ccall "legendre.h gsl_sf_legendre_Pl_array" gsl_sf_legendre_Pl_array :: Int -> Double -> Ptr Double -> Int
74
75-- | wrapper for int gsl_sf_legendre_Pl_deriv_array(int lmax,double x,double* result_array,double* result_deriv_array);
76legendre_Pl_deriv_array :: Int -> Double -> Ptr Double -> Ptr Double -> Int
77legendre_Pl_deriv_array = gsl_sf_legendre_Pl_deriv_array
78foreign import ccall "legendre.h gsl_sf_legendre_Pl_deriv_array" gsl_sf_legendre_Pl_deriv_array :: Int -> Double -> Ptr Double -> Ptr Double -> Int
79
80-- | wrapper for int gsl_sf_legendre_P1_e(double x,gsl_sf_result* result);
81legendre_P1_e :: Double -> (Double,Double)
82legendre_P1_e x = createSFR "legendre_P1_e" $ gsl_sf_legendre_P1_e x
83foreign import ccall "legendre.h gsl_sf_legendre_P1_e" gsl_sf_legendre_P1_e :: Double -> Ptr Double -> IO(Int)
84
85-- | wrapper for int gsl_sf_legendre_P2_e(double x,gsl_sf_result* result);
86legendre_P2_e :: Double -> (Double,Double)
87legendre_P2_e x = createSFR "legendre_P2_e" $ gsl_sf_legendre_P2_e x
88foreign import ccall "legendre.h gsl_sf_legendre_P2_e" gsl_sf_legendre_P2_e :: Double -> Ptr Double -> IO(Int)
89
90-- | wrapper for int gsl_sf_legendre_P3_e(double x,gsl_sf_result* result);
91legendre_P3_e :: Double -> (Double,Double)
92legendre_P3_e x = createSFR "legendre_P3_e" $ gsl_sf_legendre_P3_e x
93foreign import ccall "legendre.h gsl_sf_legendre_P3_e" gsl_sf_legendre_P3_e :: Double -> Ptr Double -> IO(Int)
94
95-- | wrapper for double gsl_sf_legendre_P1(double x);
96legendre_P1 :: Double -> Double
97legendre_P1 = gsl_sf_legendre_P1
98foreign import ccall "legendre.h gsl_sf_legendre_P1" gsl_sf_legendre_P1 :: Double -> Double
99
100-- | wrapper for double gsl_sf_legendre_P2(double x);
101legendre_P2 :: Double -> Double
102legendre_P2 = gsl_sf_legendre_P2
103foreign import ccall "legendre.h gsl_sf_legendre_P2" gsl_sf_legendre_P2 :: Double -> Double
104
105-- | wrapper for double gsl_sf_legendre_P3(double x);
106legendre_P3 :: Double -> Double
107legendre_P3 = gsl_sf_legendre_P3
108foreign import ccall "legendre.h gsl_sf_legendre_P3" gsl_sf_legendre_P3 :: Double -> Double
109
110-- | wrapper for int gsl_sf_legendre_Q0_e(double x,gsl_sf_result* result);
111legendre_Q0_e :: Double -> (Double,Double)
112legendre_Q0_e x = createSFR "legendre_Q0_e" $ gsl_sf_legendre_Q0_e x
113foreign import ccall "legendre.h gsl_sf_legendre_Q0_e" gsl_sf_legendre_Q0_e :: Double -> Ptr Double -> IO(Int)
114
115-- | wrapper for double gsl_sf_legendre_Q0(double x);
116legendre_Q0 :: Double -> Double
117legendre_Q0 = gsl_sf_legendre_Q0
118foreign import ccall "legendre.h gsl_sf_legendre_Q0" gsl_sf_legendre_Q0 :: Double -> Double
119
120-- | wrapper for int gsl_sf_legendre_Q1_e(double x,gsl_sf_result* result);
121legendre_Q1_e :: Double -> (Double,Double)
122legendre_Q1_e x = createSFR "legendre_Q1_e" $ gsl_sf_legendre_Q1_e x
123foreign import ccall "legendre.h gsl_sf_legendre_Q1_e" gsl_sf_legendre_Q1_e :: Double -> Ptr Double -> IO(Int)
124
125-- | wrapper for double gsl_sf_legendre_Q1(double x);
126legendre_Q1 :: Double -> Double
127legendre_Q1 = gsl_sf_legendre_Q1
128foreign import ccall "legendre.h gsl_sf_legendre_Q1" gsl_sf_legendre_Q1 :: Double -> Double
129
130-- | wrapper for int gsl_sf_legendre_Ql_e(int l,double x,gsl_sf_result* result);
131legendre_Ql_e :: Int -> Double -> (Double,Double)
132legendre_Ql_e l x = createSFR "legendre_Ql_e" $ gsl_sf_legendre_Ql_e l x
133foreign import ccall "legendre.h gsl_sf_legendre_Ql_e" gsl_sf_legendre_Ql_e :: Int -> Double -> Ptr Double -> IO(Int)
134
135-- | wrapper for double gsl_sf_legendre_Ql(int l,double x);
136legendre_Ql :: Int -> Double -> Double
137legendre_Ql = gsl_sf_legendre_Ql
138foreign import ccall "legendre.h gsl_sf_legendre_Ql" gsl_sf_legendre_Ql :: Int -> Double -> Double
139
140-- | wrapper for int gsl_sf_legendre_Plm_e(int l,int m,double x,gsl_sf_result* result);
141legendre_Plm_e :: Int -> Int -> Double -> (Double,Double)
142legendre_Plm_e l m x = createSFR "legendre_Plm_e" $ gsl_sf_legendre_Plm_e l m x
143foreign import ccall "legendre.h gsl_sf_legendre_Plm_e" gsl_sf_legendre_Plm_e :: Int -> Int -> Double -> Ptr Double -> IO(Int)
144
145-- | wrapper for double gsl_sf_legendre_Plm(int l,int m,double x);
146legendre_Plm :: Int -> Int -> Double -> Double
147legendre_Plm = gsl_sf_legendre_Plm
148foreign import ccall "legendre.h gsl_sf_legendre_Plm" gsl_sf_legendre_Plm :: Int -> Int -> Double -> Double
149
150-- | wrapper for int gsl_sf_legendre_Plm_array(int lmax,int m,double x,double* result_array);
151legendre_Plm_array :: Int -> Int -> Double -> Ptr Double -> Int
152legendre_Plm_array = gsl_sf_legendre_Plm_array
153foreign import ccall "legendre.h gsl_sf_legendre_Plm_array" gsl_sf_legendre_Plm_array :: Int -> Int -> Double -> Ptr Double -> Int
154
155-- | wrapper for int gsl_sf_legendre_Plm_deriv_array(int lmax,int m,double x,double* result_array,double* result_deriv_array);
156legendre_Plm_deriv_array :: Int -> Int -> Double -> Ptr Double -> Ptr Double -> Int
157legendre_Plm_deriv_array = gsl_sf_legendre_Plm_deriv_array
158foreign import ccall "legendre.h gsl_sf_legendre_Plm_deriv_array" gsl_sf_legendre_Plm_deriv_array :: Int -> Int -> Double -> Ptr Double -> Ptr Double -> Int
159
160-- | wrapper for int gsl_sf_legendre_sphPlm_e(int l,int m,double x,gsl_sf_result* result);
161legendre_sphPlm_e :: Int -> Int -> Double -> (Double,Double)
162legendre_sphPlm_e l m x = createSFR "legendre_sphPlm_e" $ gsl_sf_legendre_sphPlm_e l m x
163foreign import ccall "legendre.h gsl_sf_legendre_sphPlm_e" gsl_sf_legendre_sphPlm_e :: Int -> Int -> Double -> Ptr Double -> IO(Int)
164
165-- | wrapper for double gsl_sf_legendre_sphPlm(int l,int m,double x);
166legendre_sphPlm :: Int -> Int -> Double -> Double
167legendre_sphPlm = gsl_sf_legendre_sphPlm
168foreign import ccall "legendre.h gsl_sf_legendre_sphPlm" gsl_sf_legendre_sphPlm :: Int -> Int -> Double -> Double
169
170-- | wrapper for int gsl_sf_legendre_sphPlm_array(int lmax,int m,double x,double* result_array);
171legendre_sphPlm_array :: Int -> Int -> Double -> Ptr Double -> Int
172legendre_sphPlm_array = gsl_sf_legendre_sphPlm_array
173foreign import ccall "legendre.h gsl_sf_legendre_sphPlm_array" gsl_sf_legendre_sphPlm_array :: Int -> Int -> Double -> Ptr Double -> Int
174
175-- | wrapper for int gsl_sf_legendre_sphPlm_deriv_array(int lmax,int m,double x,double* result_array,double* result_deriv_array);
176legendre_sphPlm_deriv_array :: Int -> Int -> Double -> Ptr Double -> Ptr Double -> Int
177legendre_sphPlm_deriv_array = gsl_sf_legendre_sphPlm_deriv_array
178foreign import ccall "legendre.h gsl_sf_legendre_sphPlm_deriv_array" gsl_sf_legendre_sphPlm_deriv_array :: Int -> Int -> Double -> Ptr Double -> Ptr Double -> Int
179
180-- | wrapper for int gsl_sf_legendre_array_size(int lmax,int m);
181legendre_array_size :: Int -> Int -> Int
182legendre_array_size = gsl_sf_legendre_array_size
183foreign import ccall "legendre.h gsl_sf_legendre_array_size" gsl_sf_legendre_array_size :: Int -> Int -> Int
184
185-- | wrapper for int gsl_sf_conicalP_half_e(double lambda,double x,gsl_sf_result* result);
186conicalP_half_e :: Double -> Double -> (Double,Double)
187conicalP_half_e lambda x = createSFR "conicalP_half_e" $ gsl_sf_conicalP_half_e lambda x
188foreign import ccall "legendre.h gsl_sf_conicalP_half_e" gsl_sf_conicalP_half_e :: Double -> Double -> Ptr Double -> IO(Int)
189
190-- | wrapper for double gsl_sf_conicalP_half(double lambda,double x);
191conicalP_half :: Double -> Double -> Double
192conicalP_half = gsl_sf_conicalP_half
193foreign import ccall "legendre.h gsl_sf_conicalP_half" gsl_sf_conicalP_half :: Double -> Double -> Double
194
195-- | wrapper for int gsl_sf_conicalP_mhalf_e(double lambda,double x,gsl_sf_result* result);
196conicalP_mhalf_e :: Double -> Double -> (Double,Double)
197conicalP_mhalf_e lambda x = createSFR "conicalP_mhalf_e" $ gsl_sf_conicalP_mhalf_e lambda x
198foreign import ccall "legendre.h gsl_sf_conicalP_mhalf_e" gsl_sf_conicalP_mhalf_e :: Double -> Double -> Ptr Double -> IO(Int)
199
200-- | wrapper for double gsl_sf_conicalP_mhalf(double lambda,double x);
201conicalP_mhalf :: Double -> Double -> Double
202conicalP_mhalf = gsl_sf_conicalP_mhalf
203foreign import ccall "legendre.h gsl_sf_conicalP_mhalf" gsl_sf_conicalP_mhalf :: Double -> Double -> Double
204
205-- | wrapper for int gsl_sf_conicalP_0_e(double lambda,double x,gsl_sf_result* result);
206conicalP_0_e :: Double -> Double -> (Double,Double)
207conicalP_0_e lambda x = createSFR "conicalP_0_e" $ gsl_sf_conicalP_0_e lambda x
208foreign import ccall "legendre.h gsl_sf_conicalP_0_e" gsl_sf_conicalP_0_e :: Double -> Double -> Ptr Double -> IO(Int)
209
210-- | wrapper for double gsl_sf_conicalP_0(double lambda,double x);
211conicalP_0 :: Double -> Double -> Double
212conicalP_0 = gsl_sf_conicalP_0
213foreign import ccall "legendre.h gsl_sf_conicalP_0" gsl_sf_conicalP_0 :: Double -> Double -> Double
214
215-- | wrapper for int gsl_sf_conicalP_1_e(double lambda,double x,gsl_sf_result* result);
216conicalP_1_e :: Double -> Double -> (Double,Double)
217conicalP_1_e lambda x = createSFR "conicalP_1_e" $ gsl_sf_conicalP_1_e lambda x
218foreign import ccall "legendre.h gsl_sf_conicalP_1_e" gsl_sf_conicalP_1_e :: Double -> Double -> Ptr Double -> IO(Int)
219
220-- | wrapper for double gsl_sf_conicalP_1(double lambda,double x);
221conicalP_1 :: Double -> Double -> Double
222conicalP_1 = gsl_sf_conicalP_1
223foreign import ccall "legendre.h gsl_sf_conicalP_1" gsl_sf_conicalP_1 :: Double -> Double -> Double
224
225-- | wrapper for int gsl_sf_conicalP_sph_reg_e(int l,double lambda,double x,gsl_sf_result* result);
226conicalP_sph_reg_e :: Int -> Double -> Double -> (Double,Double)
227conicalP_sph_reg_e l lambda x = createSFR "conicalP_sph_reg_e" $ gsl_sf_conicalP_sph_reg_e l lambda x
228foreign import ccall "legendre.h gsl_sf_conicalP_sph_reg_e" gsl_sf_conicalP_sph_reg_e :: Int -> Double -> Double -> Ptr Double -> IO(Int)
229
230-- | wrapper for double gsl_sf_conicalP_sph_reg(int l,double lambda,double x);
231conicalP_sph_reg :: Int -> Double -> Double -> Double
232conicalP_sph_reg = gsl_sf_conicalP_sph_reg
233foreign import ccall "legendre.h gsl_sf_conicalP_sph_reg" gsl_sf_conicalP_sph_reg :: Int -> Double -> Double -> Double
234
235-- | wrapper for int gsl_sf_conicalP_cyl_reg_e(int m,double lambda,double x,gsl_sf_result* result);
236conicalP_cyl_reg_e :: Int -> Double -> Double -> (Double,Double)
237conicalP_cyl_reg_e m lambda x = createSFR "conicalP_cyl_reg_e" $ gsl_sf_conicalP_cyl_reg_e m lambda x
238foreign import ccall "legendre.h gsl_sf_conicalP_cyl_reg_e" gsl_sf_conicalP_cyl_reg_e :: Int -> Double -> Double -> Ptr Double -> IO(Int)
239
240-- | wrapper for double gsl_sf_conicalP_cyl_reg(int m,double lambda,double x);
241conicalP_cyl_reg :: Int -> Double -> Double -> Double
242conicalP_cyl_reg = gsl_sf_conicalP_cyl_reg
243foreign import ccall "legendre.h gsl_sf_conicalP_cyl_reg" gsl_sf_conicalP_cyl_reg :: Int -> Double -> Double -> Double
244
245-- | wrapper for int gsl_sf_legendre_H3d_0_e(double lambda,double eta,gsl_sf_result* result);
246legendre_H3d_0_e :: Double -> Double -> (Double,Double)
247legendre_H3d_0_e lambda eta = createSFR "legendre_H3d_0_e" $ gsl_sf_legendre_H3d_0_e lambda eta
248foreign import ccall "legendre.h gsl_sf_legendre_H3d_0_e" gsl_sf_legendre_H3d_0_e :: Double -> Double -> Ptr Double -> IO(Int)
249
250-- | wrapper for double gsl_sf_legendre_H3d_0(double lambda,double eta);
251legendre_H3d_0 :: Double -> Double -> Double
252legendre_H3d_0 = gsl_sf_legendre_H3d_0
253foreign import ccall "legendre.h gsl_sf_legendre_H3d_0" gsl_sf_legendre_H3d_0 :: Double -> Double -> Double
254
255-- | wrapper for int gsl_sf_legendre_H3d_1_e(double lambda,double eta,gsl_sf_result* result);
256legendre_H3d_1_e :: Double -> Double -> (Double,Double)
257legendre_H3d_1_e lambda eta = createSFR "legendre_H3d_1_e" $ gsl_sf_legendre_H3d_1_e lambda eta
258foreign import ccall "legendre.h gsl_sf_legendre_H3d_1_e" gsl_sf_legendre_H3d_1_e :: Double -> Double -> Ptr Double -> IO(Int)
259
260-- | wrapper for double gsl_sf_legendre_H3d_1(double lambda,double eta);
261legendre_H3d_1 :: Double -> Double -> Double
262legendre_H3d_1 = gsl_sf_legendre_H3d_1
263foreign import ccall "legendre.h gsl_sf_legendre_H3d_1" gsl_sf_legendre_H3d_1 :: Double -> Double -> Double
264
265-- | wrapper for int gsl_sf_legendre_H3d_e(int l,double lambda,double eta,gsl_sf_result* result);
266legendre_H3d_e :: Int -> Double -> Double -> (Double,Double)
267legendre_H3d_e l lambda eta = createSFR "legendre_H3d_e" $ gsl_sf_legendre_H3d_e l lambda eta
268foreign import ccall "legendre.h gsl_sf_legendre_H3d_e" gsl_sf_legendre_H3d_e :: Int -> Double -> Double -> Ptr Double -> IO(Int)
269
270-- | wrapper for double gsl_sf_legendre_H3d(int l,double lambda,double eta);
271legendre_H3d :: Int -> Double -> Double -> Double
272legendre_H3d = gsl_sf_legendre_H3d
273foreign import ccall "legendre.h gsl_sf_legendre_H3d" gsl_sf_legendre_H3d :: Int -> Double -> Double -> Double
274
275-- | wrapper for int gsl_sf_legendre_H3d_array(int lmax,double lambda,double eta,double* result_array);
276legendre_H3d_array :: Int -> Double -> Double -> Ptr Double -> Int
277legendre_H3d_array = gsl_sf_legendre_H3d_array
278foreign import ccall "legendre.h gsl_sf_legendre_H3d_array" gsl_sf_legendre_H3d_array :: Int -> Double -> Double -> Ptr Double -> Int