diff options
Diffstat (limited to 'lib/Numeric/GSL/Special/Coulomb.hs')
-rw-r--r-- | lib/Numeric/GSL/Special/Coulomb.hs | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/lib/Numeric/GSL/Special/Coulomb.hs b/lib/Numeric/GSL/Special/Coulomb.hs new file mode 100644 index 0000000..06848cb --- /dev/null +++ b/lib/Numeric/GSL/Special/Coulomb.hs | |||
@@ -0,0 +1,103 @@ | |||
1 | ------------------------------------------------------------ | ||
2 | {- | | ||
3 | Module : Numeric.GSL.Special.Coulomb | ||
4 | Copyright : (c) Alberto Ruiz 2006 | ||
5 | License : GPL-style | ||
6 | Maintainer : Alberto Ruiz (aruiz at um dot es) | ||
7 | Stability : provisional | ||
8 | Portability : uses ffi | ||
9 | |||
10 | Wrappers for selected functions described at: | ||
11 | |||
12 | <http://www.google.com/search?q=gsl_sf_coulomb.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
13 | |||
14 | -} | ||
15 | ------------------------------------------------------------ | ||
16 | |||
17 | module Numeric.GSL.Special.Coulomb( | ||
18 | hydrogenicR_1_e | ||
19 | , hydrogenicR_1 | ||
20 | , hydrogenicR_e | ||
21 | , hydrogenicR | ||
22 | , coulomb_CL_e | ||
23 | ) where | ||
24 | |||
25 | import Foreign(Ptr) | ||
26 | import Numeric.GSL.Special.Internal | ||
27 | |||
28 | -- | wrapper for int gsl_sf_hydrogenicR_1_e(double Z,double r,gsl_sf_result* result); | ||
29 | -- | ||
30 | -- <http://www.google.com/search?q=gsl_sf_hydrogenicR_1_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
31 | hydrogenicR_1_e :: Double -> Double -> (Double,Double) | ||
32 | hydrogenicR_1_e zZ r = createSFR "hydrogenicR_1_e" $ gsl_sf_hydrogenicR_1_e zZ r | ||
33 | foreign import ccall "coulomb.h gsl_sf_hydrogenicR_1_e" gsl_sf_hydrogenicR_1_e :: Double -> Double -> Ptr Double -> IO(Int) | ||
34 | |||
35 | -- | wrapper for double gsl_sf_hydrogenicR_1(double Z,double r); | ||
36 | -- | ||
37 | -- <http://www.google.com/search?q=gsl_sf_hydrogenicR_1&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
38 | hydrogenicR_1 :: Double -> Double -> Double | ||
39 | hydrogenicR_1 = gsl_sf_hydrogenicR_1 | ||
40 | foreign import ccall "coulomb.h gsl_sf_hydrogenicR_1" gsl_sf_hydrogenicR_1 :: Double -> Double -> Double | ||
41 | |||
42 | -- | wrapper for int gsl_sf_hydrogenicR_e(int n,int l,double Z,double r,gsl_sf_result* result); | ||
43 | -- | ||
44 | -- <http://www.google.com/search?q=gsl_sf_hydrogenicR_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
45 | hydrogenicR_e :: Int -> Int -> Double -> Double -> (Double,Double) | ||
46 | hydrogenicR_e n l zZ r = createSFR "hydrogenicR_e" $ gsl_sf_hydrogenicR_e n l zZ r | ||
47 | foreign import ccall "coulomb.h gsl_sf_hydrogenicR_e" gsl_sf_hydrogenicR_e :: Int -> Int -> Double -> Double -> Ptr Double -> IO(Int) | ||
48 | |||
49 | -- | wrapper for double gsl_sf_hydrogenicR(int n,int l,double Z,double r); | ||
50 | -- | ||
51 | -- <http://www.google.com/search?q=gsl_sf_hydrogenicR&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
52 | hydrogenicR :: Int -> Int -> Double -> Double -> Double | ||
53 | hydrogenicR = gsl_sf_hydrogenicR | ||
54 | foreign import ccall "coulomb.h gsl_sf_hydrogenicR" gsl_sf_hydrogenicR :: Int -> Int -> Double -> Double -> Double | ||
55 | |||
56 | -- | wrapper for int gsl_sf_coulomb_wave_FG_e(double eta,double x,double lam_F,int k_lam_G,gsl_sf_result* F,gsl_sf_result* Fp,gsl_sf_result* G,gsl_sf_result* Gp,double* exp_F,double* exp_G); | ||
57 | -- | ||
58 | -- <http://www.google.com/search?q=gsl_sf_coulomb_wave_FG_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
59 | coulomb_wave_FG_e :: Double -> Double -> Double -> Int -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int | ||
60 | coulomb_wave_FG_e = gsl_sf_coulomb_wave_FG_e | ||
61 | foreign import ccall "coulomb.h gsl_sf_coulomb_wave_FG_e" gsl_sf_coulomb_wave_FG_e :: Double -> Double -> Double -> Int -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int | ||
62 | |||
63 | -- | wrapper for int gsl_sf_coulomb_wave_F_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* F_exponent); | ||
64 | -- | ||
65 | -- <http://www.google.com/search?q=gsl_sf_coulomb_wave_F_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
66 | coulomb_wave_F_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Int | ||
67 | coulomb_wave_F_array = gsl_sf_coulomb_wave_F_array | ||
68 | foreign import ccall "coulomb.h gsl_sf_coulomb_wave_F_array" gsl_sf_coulomb_wave_F_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Int | ||
69 | |||
70 | -- | wrapper for int gsl_sf_coulomb_wave_FG_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* gc_array,double* F_exponent,double* G_exponent); | ||
71 | -- | ||
72 | -- <http://www.google.com/search?q=gsl_sf_coulomb_wave_FG_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
73 | coulomb_wave_FG_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int | ||
74 | coulomb_wave_FG_array = gsl_sf_coulomb_wave_FG_array | ||
75 | foreign import ccall "coulomb.h gsl_sf_coulomb_wave_FG_array" gsl_sf_coulomb_wave_FG_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int | ||
76 | |||
77 | -- | wrapper for int gsl_sf_coulomb_wave_FGp_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* fcp_array,double* gc_array,double* gcp_array,double* F_exponent,double* G_exponent); | ||
78 | -- | ||
79 | -- <http://www.google.com/search?q=gsl_sf_coulomb_wave_FGp_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
80 | coulomb_wave_FGp_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int | ||
81 | coulomb_wave_FGp_array = gsl_sf_coulomb_wave_FGp_array | ||
82 | foreign import ccall "coulomb.h gsl_sf_coulomb_wave_FGp_array" gsl_sf_coulomb_wave_FGp_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int | ||
83 | |||
84 | -- | wrapper for int gsl_sf_coulomb_wave_sphF_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* F_exponent); | ||
85 | -- | ||
86 | -- <http://www.google.com/search?q=gsl_sf_coulomb_wave_sphF_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
87 | coulomb_wave_sphF_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Int | ||
88 | coulomb_wave_sphF_array = gsl_sf_coulomb_wave_sphF_array | ||
89 | foreign import ccall "coulomb.h gsl_sf_coulomb_wave_sphF_array" gsl_sf_coulomb_wave_sphF_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Int | ||
90 | |||
91 | -- | wrapper for int gsl_sf_coulomb_CL_e(double L,double eta,gsl_sf_result* result); | ||
92 | -- | ||
93 | -- <http://www.google.com/search?q=gsl_sf_coulomb_CL_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
94 | coulomb_CL_e :: Double -> Double -> (Double,Double) | ||
95 | coulomb_CL_e lL eta = createSFR "coulomb_CL_e" $ gsl_sf_coulomb_CL_e lL eta | ||
96 | foreign import ccall "coulomb.h gsl_sf_coulomb_CL_e" gsl_sf_coulomb_CL_e :: Double -> Double -> Ptr Double -> IO(Int) | ||
97 | |||
98 | -- | wrapper for int gsl_sf_coulomb_CL_array(double Lmin,int kmax,double eta,double* cl); | ||
99 | -- | ||
100 | -- <http://www.google.com/search?q=gsl_sf_coulomb_CL_array&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> | ||
101 | coulomb_CL_array :: Double -> Int -> Double -> Ptr Double -> Int | ||
102 | coulomb_CL_array = gsl_sf_coulomb_CL_array | ||
103 | foreign import ccall "coulomb.h gsl_sf_coulomb_CL_array" gsl_sf_coulomb_CL_array :: Double -> Int -> Double -> Ptr Double -> Int | ||