summaryrefslogtreecommitdiff
path: root/packages/special/lib/Numeric/GSL/Special/Psi.hs
diff options
context:
space:
mode:
Diffstat (limited to 'packages/special/lib/Numeric/GSL/Special/Psi.hs')
-rw-r--r--packages/special/lib/Numeric/GSL/Special/Psi.hs84
1 files changed, 84 insertions, 0 deletions
diff --git a/packages/special/lib/Numeric/GSL/Special/Psi.hs b/packages/special/lib/Numeric/GSL/Special/Psi.hs
new file mode 100644
index 0000000..4655b8c
--- /dev/null
+++ b/packages/special/lib/Numeric/GSL/Special/Psi.hs
@@ -0,0 +1,84 @@
1------------------------------------------------------------
2-- |
3-- Module : Numeric.GSL.Special.Psi
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_psi.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
13------------------------------------------------------------
14
15module Numeric.GSL.Special.Psi(
16 psi_int_e
17, psi_int
18, psi_e
19, psi
20, psi_1piy_e
21, psi_1piy
22, psi_1_int_e
23, psi_1_int
24, psi_1_e
25, psi_1
26, psi_n_e
27, psi_n
28) where
29
30import Foreign(Ptr)
31import Foreign.C.Types(CInt)
32import Numeric.GSL.Special.Internal
33
34psi_int_e :: CInt -> (Double,Double)
35psi_int_e n = createSFR "psi_int_e" $ gsl_sf_psi_int_e n
36foreign import ccall SAFE_CHEAP "gsl_sf_psi_int_e" gsl_sf_psi_int_e :: CInt -> Ptr () -> IO CInt
37
38psi_int :: CInt -> Double
39psi_int = gsl_sf_psi_int
40foreign import ccall SAFE_CHEAP "gsl_sf_psi_int" gsl_sf_psi_int :: CInt -> Double
41
42psi_e :: Double -> (Double,Double)
43psi_e x = createSFR "psi_e" $ gsl_sf_psi_e x
44foreign import ccall SAFE_CHEAP "gsl_sf_psi_e" gsl_sf_psi_e :: Double -> Ptr () -> IO CInt
45
46psi :: Double -> Double
47psi = gsl_sf_psi
48foreign import ccall SAFE_CHEAP "gsl_sf_psi" gsl_sf_psi :: Double -> Double
49
50psi_1piy_e :: Double -> (Double,Double)
51psi_1piy_e y = createSFR "psi_1piy_e" $ gsl_sf_psi_1piy_e y
52foreign import ccall SAFE_CHEAP "gsl_sf_psi_1piy_e" gsl_sf_psi_1piy_e :: Double -> Ptr () -> IO CInt
53
54psi_1piy :: Double -> Double
55psi_1piy = gsl_sf_psi_1piy
56foreign import ccall SAFE_CHEAP "gsl_sf_psi_1piy" gsl_sf_psi_1piy :: Double -> Double
57
58complex_psi_e :: Double -> Double -> Ptr () -> (Double,Double)
59complex_psi_e x y result_re = createSFR "complex_psi_e" $ gsl_sf_complex_psi_e x y result_re
60foreign import ccall SAFE_CHEAP "gsl_sf_complex_psi_e" gsl_sf_complex_psi_e :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
61
62psi_1_int_e :: CInt -> (Double,Double)
63psi_1_int_e n = createSFR "psi_1_int_e" $ gsl_sf_psi_1_int_e n
64foreign import ccall SAFE_CHEAP "gsl_sf_psi_1_int_e" gsl_sf_psi_1_int_e :: CInt -> Ptr () -> IO CInt
65
66psi_1_int :: CInt -> Double
67psi_1_int = gsl_sf_psi_1_int
68foreign import ccall SAFE_CHEAP "gsl_sf_psi_1_int" gsl_sf_psi_1_int :: CInt -> Double
69
70psi_1_e :: Double -> (Double,Double)
71psi_1_e x = createSFR "psi_1_e" $ gsl_sf_psi_1_e x
72foreign import ccall SAFE_CHEAP "gsl_sf_psi_1_e" gsl_sf_psi_1_e :: Double -> Ptr () -> IO CInt
73
74psi_1 :: Double -> Double
75psi_1 = gsl_sf_psi_1
76foreign import ccall SAFE_CHEAP "gsl_sf_psi_1" gsl_sf_psi_1 :: Double -> Double
77
78psi_n_e :: CInt -> Double -> (Double,Double)
79psi_n_e n x = createSFR "psi_n_e" $ gsl_sf_psi_n_e n x
80foreign import ccall SAFE_CHEAP "gsl_sf_psi_n_e" gsl_sf_psi_n_e :: CInt -> Double -> Ptr () -> IO CInt
81
82psi_n :: CInt -> Double -> Double
83psi_n = gsl_sf_psi_n
84foreign import ccall SAFE_CHEAP "gsl_sf_psi_n" gsl_sf_psi_n :: CInt -> Double -> Double