summaryrefslogtreecommitdiff
path: root/packages/special/lib/Numeric/GSL/Special/Ellint.hs
blob: a2800cdb79c821fdfe1c05730e8ce25ff7accf7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
{-# LANGUAGE CPP #-}
------------------------------------------------------------
-- |
-- Module      :  Numeric.GSL.Special.Ellint
-- Copyright   :  (c) Alberto Ruiz 2006-11
-- License     :  GPL
-- Maintainer  :  Alberto Ruiz (aruiz at um dot es)
-- Stability   :  provisional
-- Portability :  uses ffi
--
-- Wrappers for selected functions described at:
--
-- <http://www.google.com/search?q=gsl_sf_ellint.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
------------------------------------------------------------

module Numeric.GSL.Special.Ellint(
  ellint_Kcomp_e
, ellint_Kcomp
, ellint_Ecomp_e
, ellint_Ecomp
, ellint_Pcomp_e
, ellint_Pcomp
, ellint_Dcomp_e
, ellint_Dcomp
, ellint_F_e
, ellint_F
, ellint_E_e
, ellint_E
, ellint_P_e
, ellint_P
, ellint_D_e
, ellint_D
, ellint_RC_e
, ellint_RC
, ellint_RD_e
, ellint_RD
, ellint_RF_e
, ellint_RF
, ellint_RJ_e
, ellint_RJ
, Precision(..)
) where

import Foreign(Ptr)
import Foreign.C.Types
import Numeric.GSL.Special.Internal

ellint_Kcomp_e :: Double -> Precision -> (Double,Double)
ellint_Kcomp_e k mode = createSFR "ellint_Kcomp_e" $ gsl_sf_ellint_Kcomp_e k  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_Kcomp_e" gsl_sf_ellint_Kcomp_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_Kcomp :: Double -> Precision -> Double
ellint_Kcomp k mode = gsl_sf_ellint_Kcomp k  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_Kcomp" gsl_sf_ellint_Kcomp :: Double -> Gsl_mode_t -> Double

ellint_Ecomp_e :: Double -> Precision -> (Double,Double)
ellint_Ecomp_e k mode = createSFR "ellint_Ecomp_e" $ gsl_sf_ellint_Ecomp_e k  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_Ecomp_e" gsl_sf_ellint_Ecomp_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_Ecomp :: Double -> Precision -> Double
ellint_Ecomp k mode = gsl_sf_ellint_Ecomp k  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_Ecomp" gsl_sf_ellint_Ecomp :: Double -> Gsl_mode_t -> Double

ellint_Pcomp_e :: Double -> Double -> Precision -> (Double,Double)
ellint_Pcomp_e k n mode = createSFR "ellint_Pcomp_e" $ gsl_sf_ellint_Pcomp_e k n  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_Pcomp_e" gsl_sf_ellint_Pcomp_e :: Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_Pcomp :: Double -> Double -> Precision -> Double
ellint_Pcomp k n mode = gsl_sf_ellint_Pcomp k n  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_Pcomp" gsl_sf_ellint_Pcomp :: Double -> Double -> Gsl_mode_t -> Double

ellint_Dcomp_e :: Double -> Precision -> (Double,Double)
ellint_Dcomp_e k mode = createSFR "ellint_Dcomp_e" $ gsl_sf_ellint_Dcomp_e k  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_Dcomp_e" gsl_sf_ellint_Dcomp_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_Dcomp :: Double -> Precision -> Double
ellint_Dcomp k mode = gsl_sf_ellint_Dcomp k  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_Dcomp" gsl_sf_ellint_Dcomp :: Double -> Gsl_mode_t -> Double

ellint_F_e :: Double -> Double -> Precision -> (Double,Double)
ellint_F_e phi k mode = createSFR "ellint_F_e" $ gsl_sf_ellint_F_e phi k  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_F_e" gsl_sf_ellint_F_e :: Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_F :: Double -> Double -> Precision -> Double
ellint_F phi k mode = gsl_sf_ellint_F phi k  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_F" gsl_sf_ellint_F :: Double -> Double -> Gsl_mode_t -> Double

ellint_E_e :: Double -> Double -> Precision -> (Double,Double)
ellint_E_e phi k mode = createSFR "ellint_E_e" $ gsl_sf_ellint_E_e phi k  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_E_e" gsl_sf_ellint_E_e :: Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_E :: Double -> Double -> Precision -> Double
ellint_E phi k mode = gsl_sf_ellint_E phi k  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_E" gsl_sf_ellint_E :: Double -> Double -> Gsl_mode_t -> Double

ellint_P_e :: Double -> Double -> Double -> Precision -> (Double,Double)
ellint_P_e phi k n mode = createSFR "ellint_P_e" $ gsl_sf_ellint_P_e phi k n  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_P_e" gsl_sf_ellint_P_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_P :: Double -> Double -> Double -> Precision -> Double
ellint_P phi k n mode = gsl_sf_ellint_P phi k n  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_P" gsl_sf_ellint_P :: Double -> Double -> Double -> Gsl_mode_t -> Double

ellint_D_e :: Double -> Double -> Double -> Precision -> (Double,Double)
ellint_D_e phi k n mode = createSFR "ellint_D_e" $ gsl_sf_ellint_D_e phi k n  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_D_e" gsl_sf_ellint_D_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_D :: Double -> Double -> Double -> Precision -> Double
ellint_D phi k n mode = gsl_sf_ellint_D phi k n  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_D" gsl_sf_ellint_D :: Double -> Double -> Double -> Gsl_mode_t -> Double

ellint_RC_e :: Double -> Double -> Precision -> (Double,Double)
ellint_RC_e x y mode = createSFR "ellint_RC_e" $ gsl_sf_ellint_RC_e x y  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_RC_e" gsl_sf_ellint_RC_e :: Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_RC :: Double -> Double -> Precision -> Double
ellint_RC x y mode = gsl_sf_ellint_RC x y  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_RC" gsl_sf_ellint_RC :: Double -> Double -> Gsl_mode_t -> Double

ellint_RD_e :: Double -> Double -> Double -> Precision -> (Double,Double)
ellint_RD_e x y z mode = createSFR "ellint_RD_e" $ gsl_sf_ellint_RD_e x y z  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_RD_e" gsl_sf_ellint_RD_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_RD :: Double -> Double -> Double -> Precision -> Double
ellint_RD x y z mode = gsl_sf_ellint_RD x y z  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_RD" gsl_sf_ellint_RD :: Double -> Double -> Double -> Gsl_mode_t -> Double

ellint_RF_e :: Double -> Double -> Double -> Precision -> (Double,Double)
ellint_RF_e x y z mode = createSFR "ellint_RF_e" $ gsl_sf_ellint_RF_e x y z  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_RF_e" gsl_sf_ellint_RF_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_RF :: Double -> Double -> Double -> Precision -> Double
ellint_RF x y z mode = gsl_sf_ellint_RF x y z  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_RF" gsl_sf_ellint_RF :: Double -> Double -> Double -> Gsl_mode_t -> Double

ellint_RJ_e :: Double -> Double -> Double -> Double -> Precision -> (Double,Double)
ellint_RJ_e x y z p mode = createSFR "ellint_RJ_e" $ gsl_sf_ellint_RJ_e x y z p  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_RJ_e" gsl_sf_ellint_RJ_e :: Double -> Double -> Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt

ellint_RJ :: Double -> Double -> Double -> Double -> Precision -> Double
ellint_RJ x y z p mode = gsl_sf_ellint_RJ x y z p  (precCode mode)
foreign import ccall SAFE_CHEAP "gsl_sf_ellint_RJ" gsl_sf_ellint_RJ :: Double -> Double -> Double -> Double -> Gsl_mode_t -> Double