summaryrefslogtreecommitdiff
path: root/packages/special/lib/Numeric/GSL/Special/Gamma.hs
diff options
context:
space:
mode:
Diffstat (limited to 'packages/special/lib/Numeric/GSL/Special/Gamma.hs')
-rw-r--r--packages/special/lib/Numeric/GSL/Special/Gamma.hs236
1 files changed, 236 insertions, 0 deletions
diff --git a/packages/special/lib/Numeric/GSL/Special/Gamma.hs b/packages/special/lib/Numeric/GSL/Special/Gamma.hs
new file mode 100644
index 0000000..03b39c4
--- /dev/null
+++ b/packages/special/lib/Numeric/GSL/Special/Gamma.hs
@@ -0,0 +1,236 @@
1------------------------------------------------------------
2-- |
3-- Module : Numeric.GSL.Special.Gamma
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_gamma.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
13------------------------------------------------------------
14
15module Numeric.GSL.Special.Gamma(
16 lngamma_e
17, lngamma
18, gamma_e
19, gamma
20, gammastar_e
21, gammastar
22, gammainv_e
23, gammainv
24, taylorcoeff_e
25, taylorcoeff
26, fact_e
27, fact
28, doublefact_e
29, doublefact
30, lnfact_e
31, lnfact
32, lndoublefact_e
33, lndoublefact
34, lnchoose_e
35, lnchoose
36, choose_e
37, choose
38, lnpoch_e
39, lnpoch
40, poch_e
41, poch
42, pochrel_e
43, pochrel
44, gamma_inc_Q_e
45, gamma_inc_Q
46, gamma_inc_P_e
47, gamma_inc_P
48, gamma_inc_e
49, gamma_inc
50, lnbeta_e
51, lnbeta
52, beta_e
53, beta
54, beta_inc_e
55, beta_inc
56) where
57
58import Foreign(Ptr)
59import Foreign.C.Types(CInt)
60import Numeric.GSL.Special.Internal
61
62lngamma_e :: Double -> (Double,Double)
63lngamma_e x = createSFR "lngamma_e" $ gsl_sf_lngamma_e x
64foreign import ccall SAFE_CHEAP "gsl_sf_lngamma_e" gsl_sf_lngamma_e :: Double -> Ptr () -> IO CInt
65
66lngamma :: Double -> Double
67lngamma = gsl_sf_lngamma
68foreign import ccall SAFE_CHEAP "gsl_sf_lngamma" gsl_sf_lngamma :: Double -> Double
69
70lngamma_sgn_e :: Double -> Ptr () -> Ptr Double -> CInt
71lngamma_sgn_e = gsl_sf_lngamma_sgn_e
72foreign import ccall SAFE_CHEAP "gsl_sf_lngamma_sgn_e" gsl_sf_lngamma_sgn_e :: Double -> Ptr () -> Ptr Double -> CInt
73
74gamma_e :: Double -> (Double,Double)
75gamma_e x = createSFR "gamma_e" $ gsl_sf_gamma_e x
76foreign import ccall SAFE_CHEAP "gsl_sf_gamma_e" gsl_sf_gamma_e :: Double -> Ptr () -> IO CInt
77
78gamma :: Double -> Double
79gamma = gsl_sf_gamma
80foreign import ccall SAFE_CHEAP "gsl_sf_gamma" gsl_sf_gamma :: Double -> Double
81
82gammastar_e :: Double -> (Double,Double)
83gammastar_e x = createSFR "gammastar_e" $ gsl_sf_gammastar_e x
84foreign import ccall SAFE_CHEAP "gsl_sf_gammastar_e" gsl_sf_gammastar_e :: Double -> Ptr () -> IO CInt
85
86gammastar :: Double -> Double
87gammastar = gsl_sf_gammastar
88foreign import ccall SAFE_CHEAP "gsl_sf_gammastar" gsl_sf_gammastar :: Double -> Double
89
90gammainv_e :: Double -> (Double,Double)
91gammainv_e x = createSFR "gammainv_e" $ gsl_sf_gammainv_e x
92foreign import ccall SAFE_CHEAP "gsl_sf_gammainv_e" gsl_sf_gammainv_e :: Double -> Ptr () -> IO CInt
93
94gammainv :: Double -> Double
95gammainv = gsl_sf_gammainv
96foreign import ccall SAFE_CHEAP "gsl_sf_gammainv" gsl_sf_gammainv :: Double -> Double
97
98lngamma_complex_e :: Double -> Double -> Ptr () -> (Double,Double)
99lngamma_complex_e zr zi lnr = createSFR "lngamma_complex_e" $ gsl_sf_lngamma_complex_e zr zi lnr
100foreign import ccall SAFE_CHEAP "gsl_sf_lngamma_complex_e" gsl_sf_lngamma_complex_e :: Double -> Double -> Ptr () -> Ptr () -> IO CInt
101
102taylorcoeff_e :: CInt -> Double -> (Double,Double)
103taylorcoeff_e n x = createSFR "taylorcoeff_e" $ gsl_sf_taylorcoeff_e n x
104foreign import ccall SAFE_CHEAP "gsl_sf_taylorcoeff_e" gsl_sf_taylorcoeff_e :: CInt -> Double -> Ptr () -> IO CInt
105
106taylorcoeff :: CInt -> Double -> Double
107taylorcoeff = gsl_sf_taylorcoeff
108foreign import ccall SAFE_CHEAP "gsl_sf_taylorcoeff" gsl_sf_taylorcoeff :: CInt -> Double -> Double
109
110fact_e :: CInt -> (Double,Double)
111fact_e n = createSFR "fact_e" $ gsl_sf_fact_e n
112foreign import ccall SAFE_CHEAP "gsl_sf_fact_e" gsl_sf_fact_e :: CInt -> Ptr () -> IO CInt
113
114fact :: CInt -> Double
115fact = gsl_sf_fact
116foreign import ccall SAFE_CHEAP "gsl_sf_fact" gsl_sf_fact :: CInt -> Double
117
118doublefact_e :: CInt -> (Double,Double)
119doublefact_e n = createSFR "doublefact_e" $ gsl_sf_doublefact_e n
120foreign import ccall SAFE_CHEAP "gsl_sf_doublefact_e" gsl_sf_doublefact_e :: CInt -> Ptr () -> IO CInt
121
122doublefact :: CInt -> Double
123doublefact = gsl_sf_doublefact
124foreign import ccall SAFE_CHEAP "gsl_sf_doublefact" gsl_sf_doublefact :: CInt -> Double
125
126lnfact_e :: CInt -> (Double,Double)
127lnfact_e n = createSFR "lnfact_e" $ gsl_sf_lnfact_e n
128foreign import ccall SAFE_CHEAP "gsl_sf_lnfact_e" gsl_sf_lnfact_e :: CInt -> Ptr () -> IO CInt
129
130lnfact :: CInt -> Double
131lnfact = gsl_sf_lnfact
132foreign import ccall SAFE_CHEAP "gsl_sf_lnfact" gsl_sf_lnfact :: CInt -> Double
133
134lndoublefact_e :: CInt -> (Double,Double)
135lndoublefact_e n = createSFR "lndoublefact_e" $ gsl_sf_lndoublefact_e n
136foreign import ccall SAFE_CHEAP "gsl_sf_lndoublefact_e" gsl_sf_lndoublefact_e :: CInt -> Ptr () -> IO CInt
137
138lndoublefact :: CInt -> Double
139lndoublefact = gsl_sf_lndoublefact
140foreign import ccall SAFE_CHEAP "gsl_sf_lndoublefact" gsl_sf_lndoublefact :: CInt -> Double
141
142lnchoose_e :: CInt -> CInt -> (Double,Double)
143lnchoose_e n m = createSFR "lnchoose_e" $ gsl_sf_lnchoose_e n m
144foreign import ccall SAFE_CHEAP "gsl_sf_lnchoose_e" gsl_sf_lnchoose_e :: CInt -> CInt -> Ptr () -> IO CInt
145
146lnchoose :: CInt -> CInt -> Double
147lnchoose = gsl_sf_lnchoose
148foreign import ccall SAFE_CHEAP "gsl_sf_lnchoose" gsl_sf_lnchoose :: CInt -> CInt -> Double
149
150choose_e :: CInt -> CInt -> (Double,Double)
151choose_e n m = createSFR "choose_e" $ gsl_sf_choose_e n m
152foreign import ccall SAFE_CHEAP "gsl_sf_choose_e" gsl_sf_choose_e :: CInt -> CInt -> Ptr () -> IO CInt
153
154choose :: CInt -> CInt -> Double
155choose = gsl_sf_choose
156foreign import ccall SAFE_CHEAP "gsl_sf_choose" gsl_sf_choose :: CInt -> CInt -> Double
157
158lnpoch_e :: Double -> Double -> (Double,Double)
159lnpoch_e a x = createSFR "lnpoch_e" $ gsl_sf_lnpoch_e a x
160foreign import ccall SAFE_CHEAP "gsl_sf_lnpoch_e" gsl_sf_lnpoch_e :: Double -> Double -> Ptr () -> IO CInt
161
162lnpoch :: Double -> Double -> Double
163lnpoch = gsl_sf_lnpoch
164foreign import ccall SAFE_CHEAP "gsl_sf_lnpoch" gsl_sf_lnpoch :: Double -> Double -> Double
165
166lnpoch_sgn_e :: Double -> Double -> Ptr () -> Ptr Double -> CInt
167lnpoch_sgn_e = gsl_sf_lnpoch_sgn_e
168foreign import ccall SAFE_CHEAP "gsl_sf_lnpoch_sgn_e" gsl_sf_lnpoch_sgn_e :: Double -> Double -> Ptr () -> Ptr Double -> CInt
169
170poch_e :: Double -> Double -> (Double,Double)
171poch_e a x = createSFR "poch_e" $ gsl_sf_poch_e a x
172foreign import ccall SAFE_CHEAP "gsl_sf_poch_e" gsl_sf_poch_e :: Double -> Double -> Ptr () -> IO CInt
173
174poch :: Double -> Double -> Double
175poch = gsl_sf_poch
176foreign import ccall SAFE_CHEAP "gsl_sf_poch" gsl_sf_poch :: Double -> Double -> Double
177
178pochrel_e :: Double -> Double -> (Double,Double)
179pochrel_e a x = createSFR "pochrel_e" $ gsl_sf_pochrel_e a x
180foreign import ccall SAFE_CHEAP "gsl_sf_pochrel_e" gsl_sf_pochrel_e :: Double -> Double -> Ptr () -> IO CInt
181
182pochrel :: Double -> Double -> Double
183pochrel = gsl_sf_pochrel
184foreign import ccall SAFE_CHEAP "gsl_sf_pochrel" gsl_sf_pochrel :: Double -> Double -> Double
185
186gamma_inc_Q_e :: Double -> Double -> (Double,Double)
187gamma_inc_Q_e a x = createSFR "gamma_inc_Q_e" $ gsl_sf_gamma_inc_Q_e a x
188foreign import ccall SAFE_CHEAP "gsl_sf_gamma_inc_Q_e" gsl_sf_gamma_inc_Q_e :: Double -> Double -> Ptr () -> IO CInt
189
190gamma_inc_Q :: Double -> Double -> Double
191gamma_inc_Q = gsl_sf_gamma_inc_Q
192foreign import ccall SAFE_CHEAP "gsl_sf_gamma_inc_Q" gsl_sf_gamma_inc_Q :: Double -> Double -> Double
193
194gamma_inc_P_e :: Double -> Double -> (Double,Double)
195gamma_inc_P_e a x = createSFR "gamma_inc_P_e" $ gsl_sf_gamma_inc_P_e a x
196foreign import ccall SAFE_CHEAP "gsl_sf_gamma_inc_P_e" gsl_sf_gamma_inc_P_e :: Double -> Double -> Ptr () -> IO CInt
197
198gamma_inc_P :: Double -> Double -> Double
199gamma_inc_P = gsl_sf_gamma_inc_P
200foreign import ccall SAFE_CHEAP "gsl_sf_gamma_inc_P" gsl_sf_gamma_inc_P :: Double -> Double -> Double
201
202gamma_inc_e :: Double -> Double -> (Double,Double)
203gamma_inc_e a x = createSFR "gamma_inc_e" $ gsl_sf_gamma_inc_e a x
204foreign import ccall SAFE_CHEAP "gsl_sf_gamma_inc_e" gsl_sf_gamma_inc_e :: Double -> Double -> Ptr () -> IO CInt
205
206gamma_inc :: Double -> Double -> Double
207gamma_inc = gsl_sf_gamma_inc
208foreign import ccall SAFE_CHEAP "gsl_sf_gamma_inc" gsl_sf_gamma_inc :: Double -> Double -> Double
209
210lnbeta_e :: Double -> Double -> (Double,Double)
211lnbeta_e a b = createSFR "lnbeta_e" $ gsl_sf_lnbeta_e a b
212foreign import ccall SAFE_CHEAP "gsl_sf_lnbeta_e" gsl_sf_lnbeta_e :: Double -> Double -> Ptr () -> IO CInt
213
214lnbeta :: Double -> Double -> Double
215lnbeta = gsl_sf_lnbeta
216foreign import ccall SAFE_CHEAP "gsl_sf_lnbeta" gsl_sf_lnbeta :: Double -> Double -> Double
217
218lnbeta_sgn_e :: Double -> Double -> Ptr () -> Ptr Double -> CInt
219lnbeta_sgn_e = gsl_sf_lnbeta_sgn_e
220foreign import ccall SAFE_CHEAP "gsl_sf_lnbeta_sgn_e" gsl_sf_lnbeta_sgn_e :: Double -> Double -> Ptr () -> Ptr Double -> CInt
221
222beta_e :: Double -> Double -> (Double,Double)
223beta_e a b = createSFR "beta_e" $ gsl_sf_beta_e a b
224foreign import ccall SAFE_CHEAP "gsl_sf_beta_e" gsl_sf_beta_e :: Double -> Double -> Ptr () -> IO CInt
225
226beta :: Double -> Double -> Double
227beta = gsl_sf_beta
228foreign import ccall SAFE_CHEAP "gsl_sf_beta" gsl_sf_beta :: Double -> Double -> Double
229
230beta_inc_e :: Double -> Double -> Double -> (Double,Double)
231beta_inc_e a b x = createSFR "beta_inc_e" $ gsl_sf_beta_inc_e a b x
232foreign import ccall SAFE_CHEAP "gsl_sf_beta_inc_e" gsl_sf_beta_inc_e :: Double -> Double -> Double -> Ptr () -> IO CInt
233
234beta_inc :: Double -> Double -> Double -> Double
235beta_inc = gsl_sf_beta_inc
236foreign import ccall SAFE_CHEAP "gsl_sf_beta_inc" gsl_sf_beta_inc :: Double -> Double -> Double -> Double