summaryrefslogtreecommitdiff
path: root/packages/special/lib/Numeric/GSL/Special/Coulomb.hs
diff options
context:
space:
mode:
Diffstat (limited to 'packages/special/lib/Numeric/GSL/Special/Coulomb.hs')
-rw-r--r--packages/special/lib/Numeric/GSL/Special/Coulomb.hs69
1 files changed, 69 insertions, 0 deletions
diff --git a/packages/special/lib/Numeric/GSL/Special/Coulomb.hs b/packages/special/lib/Numeric/GSL/Special/Coulomb.hs
new file mode 100644
index 0000000..7253972
--- /dev/null
+++ b/packages/special/lib/Numeric/GSL/Special/Coulomb.hs
@@ -0,0 +1,69 @@
1------------------------------------------------------------
2-- |
3-- Module : Numeric.GSL.Special.Coulomb
4-- Copyright : (c) Alberto Ruiz 2006
5-- License : GPL
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
15module Numeric.GSL.Special.Coulomb(
16 hydrogenicR_1_e
17, hydrogenicR_1
18, hydrogenicR_e
19, hydrogenicR
20, coulomb_CL_e
21) where
22
23import Foreign(Ptr)
24import Foreign.C.Types(CInt)
25import Numeric.GSL.Special.Internal
26
27hydrogenicR_1_e :: Double -> Double -> (Double,Double)
28hydrogenicR_1_e zZ r = createSFR "hydrogenicR_1_e" $ gsl_sf_hydrogenicR_1_e zZ r
29foreign import ccall SAFE_CHEAP "gsl_sf_hydrogenicR_1_e" gsl_sf_hydrogenicR_1_e :: Double -> Double -> Ptr () -> IO CInt
30
31hydrogenicR_1 :: Double -> Double -> Double
32hydrogenicR_1 = gsl_sf_hydrogenicR_1
33foreign import ccall SAFE_CHEAP "gsl_sf_hydrogenicR_1" gsl_sf_hydrogenicR_1 :: Double -> Double -> Double
34
35hydrogenicR_e :: CInt -> CInt -> Double -> Double -> (Double,Double)
36hydrogenicR_e n l zZ r = createSFR "hydrogenicR_e" $ gsl_sf_hydrogenicR_e n l zZ r
37foreign import ccall SAFE_CHEAP "gsl_sf_hydrogenicR_e" gsl_sf_hydrogenicR_e :: CInt -> CInt -> Double -> Double -> Ptr () -> IO CInt
38
39hydrogenicR :: CInt -> CInt -> Double -> Double -> Double
40hydrogenicR = gsl_sf_hydrogenicR
41foreign import ccall SAFE_CHEAP "gsl_sf_hydrogenicR" gsl_sf_hydrogenicR :: CInt -> CInt -> Double -> Double -> Double
42
43coulomb_wave_FG_e :: Double -> Double -> Double -> CInt -> Ptr () -> Ptr () -> Ptr () -> Ptr () -> Ptr Double -> Ptr Double -> CInt
44coulomb_wave_FG_e = gsl_sf_coulomb_wave_FG_e
45foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_wave_FG_e" gsl_sf_coulomb_wave_FG_e :: Double -> Double -> Double -> CInt -> Ptr () -> Ptr () -> Ptr () -> Ptr () -> Ptr Double -> Ptr Double -> CInt
46
47coulomb_wave_F_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt
48coulomb_wave_F_array = gsl_sf_coulomb_wave_F_array
49foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_wave_F_array" gsl_sf_coulomb_wave_F_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt
50
51coulomb_wave_FG_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt
52coulomb_wave_FG_array = gsl_sf_coulomb_wave_FG_array
53foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_wave_FG_array" gsl_sf_coulomb_wave_FG_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt
54
55coulomb_wave_FGp_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt
56coulomb_wave_FGp_array = gsl_sf_coulomb_wave_FGp_array
57foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_wave_FGp_array" gsl_sf_coulomb_wave_FGp_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt
58
59coulomb_wave_sphF_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt
60coulomb_wave_sphF_array = gsl_sf_coulomb_wave_sphF_array
61foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_wave_sphF_array" gsl_sf_coulomb_wave_sphF_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt
62
63coulomb_CL_e :: Double -> Double -> (Double,Double)
64coulomb_CL_e lL eta = createSFR "coulomb_CL_e" $ gsl_sf_coulomb_CL_e lL eta
65foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_CL_e" gsl_sf_coulomb_CL_e :: Double -> Double -> Ptr () -> IO CInt
66
67coulomb_CL_array :: Double -> CInt -> Double -> Ptr Double -> CInt
68coulomb_CL_array = gsl_sf_coulomb_CL_array
69foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_CL_array" gsl_sf_coulomb_CL_array :: Double -> CInt -> Double -> Ptr Double -> CInt