summaryrefslogtreecommitdiff
path: root/lib/GSL/Special/Hyperg.hs
blob: afe60e686ee5d10dd7780c4b87237d4ebf6a0fab (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
143
144
145
146
147
148
149
150
151
152
153
------------------------------------------------------------
{- |
Module      :  GSL.Special.Hyperg
Copyright   :  (c) Alberto Ruiz 2006
License     :  GPL-style
Maintainer  :  Alberto Ruiz (aruiz at um dot es)
Stability   :  provisional
Portability :  uses ffi

Wrappers for selected functions described at:

<http://www.gnu.org/software/gsl/manual/html_node/Hypergeometric-Functions.html>

-}
------------------------------------------------------------

module GSL.Special.Hyperg(
  hyperg_0F1_e
, hyperg_0F1
, hyperg_1F1_int_e
, hyperg_1F1_int
, hyperg_1F1_e
, hyperg_1F1
, hyperg_U_int_e
, hyperg_U_int
, hyperg_U_int_e10_e
, hyperg_U_e
, hyperg_U
, hyperg_U_e10_e
, hyperg_2F1_e
, hyperg_2F1
, hyperg_2F1_conj_e
, hyperg_2F1_conj
, hyperg_2F1_renorm_e
, hyperg_2F1_renorm
, hyperg_2F1_conj_renorm_e
, hyperg_2F1_conj_renorm
, hyperg_2F0_e
, hyperg_2F0
) where

import Foreign(Ptr)
import GSL.Special.Internal

-- | wrapper for int gsl_sf_hyperg_0F1_e(double c,double x,gsl_sf_result* result);
hyperg_0F1_e :: Double -> Double -> (Double,Double)
hyperg_0F1_e c x = createSFR "hyperg_0F1_e" $ gsl_sf_hyperg_0F1_e c x
foreign import ccall "hyperg.h gsl_sf_hyperg_0F1_e" gsl_sf_hyperg_0F1_e :: Double -> Double -> Ptr Double -> IO(Int)

-- | wrapper for double gsl_sf_hyperg_0F1(double c,double x);
hyperg_0F1 :: Double -> Double -> Double
hyperg_0F1 = gsl_sf_hyperg_0F1
foreign import ccall "hyperg.h gsl_sf_hyperg_0F1" gsl_sf_hyperg_0F1 :: Double -> Double -> Double

-- | wrapper for int gsl_sf_hyperg_1F1_int_e(int m,int n,double x,gsl_sf_result* result);
hyperg_1F1_int_e :: Int -> Int -> Double -> (Double,Double)
hyperg_1F1_int_e m n x = createSFR "hyperg_1F1_int_e" $ gsl_sf_hyperg_1F1_int_e m n x
foreign import ccall "hyperg.h gsl_sf_hyperg_1F1_int_e" gsl_sf_hyperg_1F1_int_e :: Int -> Int -> Double -> Ptr Double -> IO(Int)

-- | wrapper for double gsl_sf_hyperg_1F1_int(int m,int n,double x);
hyperg_1F1_int :: Int -> Int -> Double -> Double
hyperg_1F1_int = gsl_sf_hyperg_1F1_int
foreign import ccall "hyperg.h gsl_sf_hyperg_1F1_int" gsl_sf_hyperg_1F1_int :: Int -> Int -> Double -> Double

-- | wrapper for int gsl_sf_hyperg_1F1_e(double a,double b,double x,gsl_sf_result* result);
hyperg_1F1_e :: Double -> Double -> Double -> (Double,Double)
hyperg_1F1_e a b x = createSFR "hyperg_1F1_e" $ gsl_sf_hyperg_1F1_e a b x
foreign import ccall "hyperg.h gsl_sf_hyperg_1F1_e" gsl_sf_hyperg_1F1_e :: Double -> Double -> Double -> Ptr Double -> IO(Int)

-- | wrapper for double gsl_sf_hyperg_1F1(double a,double b,double x);
hyperg_1F1 :: Double -> Double -> Double -> Double
hyperg_1F1 = gsl_sf_hyperg_1F1
foreign import ccall "hyperg.h gsl_sf_hyperg_1F1" gsl_sf_hyperg_1F1 :: Double -> Double -> Double -> Double

-- | wrapper for int gsl_sf_hyperg_U_int_e(int m,int n,double x,gsl_sf_result* result);
hyperg_U_int_e :: Int -> Int -> Double -> (Double,Double)
hyperg_U_int_e m n x = createSFR "hyperg_U_int_e" $ gsl_sf_hyperg_U_int_e m n x
foreign import ccall "hyperg.h gsl_sf_hyperg_U_int_e" gsl_sf_hyperg_U_int_e :: Int -> Int -> Double -> Ptr Double -> IO(Int)

-- | wrapper for double gsl_sf_hyperg_U_int(int m,int n,double x);
hyperg_U_int :: Int -> Int -> Double -> Double
hyperg_U_int = gsl_sf_hyperg_U_int
foreign import ccall "hyperg.h gsl_sf_hyperg_U_int" gsl_sf_hyperg_U_int :: Int -> Int -> Double -> Double

-- | wrapper for int gsl_sf_hyperg_U_int_e10_e(int m,int n,double x,gsl_sf_result_e10* result);
hyperg_U_int_e10_e :: Int -> Int -> Double -> (Double,Int,Double)
hyperg_U_int_e10_e m n x = createSFR_E10 "hyperg_U_int_e10_e" $ gsl_sf_hyperg_U_int_e10_e m n x
foreign import ccall "hyperg.h gsl_sf_hyperg_U_int_e10_e" gsl_sf_hyperg_U_int_e10_e :: Int -> Int -> Double -> Ptr () -> IO(Int)

-- | wrapper for int gsl_sf_hyperg_U_e(double a,double b,double x,gsl_sf_result* result);
hyperg_U_e :: Double -> Double -> Double -> (Double,Double)
hyperg_U_e a b x = createSFR "hyperg_U_e" $ gsl_sf_hyperg_U_e a b x
foreign import ccall "hyperg.h gsl_sf_hyperg_U_e" gsl_sf_hyperg_U_e :: Double -> Double -> Double -> Ptr Double -> IO(Int)

-- | wrapper for double gsl_sf_hyperg_U(double a,double b,double x);
hyperg_U :: Double -> Double -> Double -> Double
hyperg_U = gsl_sf_hyperg_U
foreign import ccall "hyperg.h gsl_sf_hyperg_U" gsl_sf_hyperg_U :: Double -> Double -> Double -> Double

-- | wrapper for int gsl_sf_hyperg_U_e10_e(double a,double b,double x,gsl_sf_result_e10* result);
hyperg_U_e10_e :: Double -> Double -> Double -> (Double,Int,Double)
hyperg_U_e10_e a b x = createSFR_E10 "hyperg_U_e10_e" $ gsl_sf_hyperg_U_e10_e a b x
foreign import ccall "hyperg.h gsl_sf_hyperg_U_e10_e" gsl_sf_hyperg_U_e10_e :: Double -> Double -> Double -> Ptr () -> IO(Int)

-- | wrapper for int gsl_sf_hyperg_2F1_e(double a,double b,double c,double x,gsl_sf_result* result);
hyperg_2F1_e :: Double -> Double -> Double -> Double -> (Double,Double)
hyperg_2F1_e a b c x = createSFR "hyperg_2F1_e" $ gsl_sf_hyperg_2F1_e a b c x
foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_e" gsl_sf_hyperg_2F1_e :: Double -> Double -> Double -> Double -> Ptr Double -> IO(Int)

-- | wrapper for double gsl_sf_hyperg_2F1(double a,double b,double c,double x);
hyperg_2F1 :: Double -> Double -> Double -> Double -> Double
hyperg_2F1 = gsl_sf_hyperg_2F1
foreign import ccall "hyperg.h gsl_sf_hyperg_2F1" gsl_sf_hyperg_2F1 :: Double -> Double -> Double -> Double -> Double

-- | wrapper for int gsl_sf_hyperg_2F1_conj_e(double aR,double aI,double c,double x,gsl_sf_result* result);
hyperg_2F1_conj_e :: Double -> Double -> Double -> Double -> (Double,Double)
hyperg_2F1_conj_e aR aI c x = createSFR "hyperg_2F1_conj_e" $ gsl_sf_hyperg_2F1_conj_e aR aI c x
foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_conj_e" gsl_sf_hyperg_2F1_conj_e :: Double -> Double -> Double -> Double -> Ptr Double -> IO(Int)

-- | wrapper for double gsl_sf_hyperg_2F1_conj(double aR,double aI,double c,double x);
hyperg_2F1_conj :: Double -> Double -> Double -> Double -> Double
hyperg_2F1_conj = gsl_sf_hyperg_2F1_conj
foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_conj" gsl_sf_hyperg_2F1_conj :: Double -> Double -> Double -> Double -> Double

-- | wrapper for int gsl_sf_hyperg_2F1_renorm_e(double a,double b,double c,double x,gsl_sf_result* result);
hyperg_2F1_renorm_e :: Double -> Double -> Double -> Double -> (Double,Double)
hyperg_2F1_renorm_e a b c x = createSFR "hyperg_2F1_renorm_e" $ gsl_sf_hyperg_2F1_renorm_e a b c x
foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_renorm_e" gsl_sf_hyperg_2F1_renorm_e :: Double -> Double -> Double -> Double -> Ptr Double -> IO(Int)

-- | wrapper for double gsl_sf_hyperg_2F1_renorm(double a,double b,double c,double x);
hyperg_2F1_renorm :: Double -> Double -> Double -> Double -> Double
hyperg_2F1_renorm = gsl_sf_hyperg_2F1_renorm
foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_renorm" gsl_sf_hyperg_2F1_renorm :: Double -> Double -> Double -> Double -> Double

-- | wrapper for int gsl_sf_hyperg_2F1_conj_renorm_e(double aR,double aI,double c,double x,gsl_sf_result* result);
hyperg_2F1_conj_renorm_e :: Double -> Double -> Double -> Double -> (Double,Double)
hyperg_2F1_conj_renorm_e aR aI c x = createSFR "hyperg_2F1_conj_renorm_e" $ gsl_sf_hyperg_2F1_conj_renorm_e aR aI c x
foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_conj_renorm_e" gsl_sf_hyperg_2F1_conj_renorm_e :: Double -> Double -> Double -> Double -> Ptr Double -> IO(Int)

-- | wrapper for double gsl_sf_hyperg_2F1_conj_renorm(double aR,double aI,double c,double x);
hyperg_2F1_conj_renorm :: Double -> Double -> Double -> Double -> Double
hyperg_2F1_conj_renorm = gsl_sf_hyperg_2F1_conj_renorm
foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_conj_renorm" gsl_sf_hyperg_2F1_conj_renorm :: Double -> Double -> Double -> Double -> Double

-- | wrapper for int gsl_sf_hyperg_2F0_e(double a,double b,double x,gsl_sf_result* result);
hyperg_2F0_e :: Double -> Double -> Double -> (Double,Double)
hyperg_2F0_e a b x = createSFR "hyperg_2F0_e" $ gsl_sf_hyperg_2F0_e a b x
foreign import ccall "hyperg.h gsl_sf_hyperg_2F0_e" gsl_sf_hyperg_2F0_e :: Double -> Double -> Double -> Ptr Double -> IO(Int)

-- | wrapper for double gsl_sf_hyperg_2F0(double a,double b,double x);
hyperg_2F0 :: Double -> Double -> Double -> Double
hyperg_2F0 = gsl_sf_hyperg_2F0
foreign import ccall "hyperg.h gsl_sf_hyperg_2F0" gsl_sf_hyperg_2F0 :: Double -> Double -> Double -> Double