summaryrefslogtreecommitdiff
path: root/lib/GSL/Special
diff options
context:
space:
mode:
Diffstat (limited to 'lib/GSL/Special')
-rw-r--r--lib/GSL/Special/Clausen.hs31
-rw-r--r--lib/GSL/Special/Coulomb.hs79
-rw-r--r--lib/GSL/Special/Coupling.hs79
-rw-r--r--lib/GSL/Special/Dawson.hs31
-rw-r--r--lib/GSL/Special/Debye.hs67
-rw-r--r--lib/GSL/Special/Dilog.hs46
-rw-r--r--lib/GSL/Special/Elementary.hs37
-rw-r--r--lib/GSL/Special/Ellint.hs139
-rw-r--r--lib/GSL/Special/Expint.hs163
-rw-r--r--lib/GSL/Special/Fermi_dirac.hs127
-rw-r--r--lib/GSL/Special/Gegenbauer.hs72
-rw-r--r--lib/GSL/Special/Hyperg.hs151
-rw-r--r--lib/GSL/Special/Laguerre.hs67
-rw-r--r--lib/GSL/Special/Lambert.hs43
-rw-r--r--lib/GSL/Special/Log.hs72
-rw-r--r--lib/GSL/Special/Pow_int.hs31
-rw-r--r--lib/GSL/Special/Psi.hs91
-rw-r--r--lib/GSL/Special/Synchrotron.hs43
-rw-r--r--lib/GSL/Special/Trig.hs162
-rw-r--r--lib/GSL/Special/Zeta.hs103
-rw-r--r--lib/GSL/Special/auto.hs35
-rw-r--r--lib/GSL/Special/clausen.h2
-rw-r--r--lib/GSL/Special/coulomb.h11
-rw-r--r--lib/GSL/Special/coupling.h10
-rw-r--r--lib/GSL/Special/dawson.h2
-rw-r--r--lib/GSL/Special/debye.h8
-rw-r--r--lib/GSL/Special/dilog.h5
-rw-r--r--lib/GSL/Special/elementary.h3
-rw-r--r--lib/GSL/Special/ellint.h20
-rw-r--r--lib/GSL/Special/expint.h24
-rw-r--r--lib/GSL/Special/fermi_dirac.h18
-rw-r--r--lib/GSL/Special/gegenbauer.h9
-rw-r--r--lib/GSL/Special/gsl_sf_exp.h146
-rw-r--r--lib/GSL/Special/gsl_sf_log.h90
-rw-r--r--lib/GSL/Special/hyperg.h22
-rw-r--r--lib/GSL/Special/laguerre.h8
-rw-r--r--lib/GSL/Special/lambert.h4
-rw-r--r--lib/GSL/Special/log.h9
-rw-r--r--lib/GSL/Special/manual.txt10
-rw-r--r--lib/GSL/Special/pow_int.h2
-rw-r--r--lib/GSL/Special/psi.h12
-rw-r--r--lib/GSL/Special/synchrotron.h4
-rw-r--r--lib/GSL/Special/trig.h25
-rw-r--r--lib/GSL/Special/zeta.h14
44 files changed, 2114 insertions, 13 deletions
diff --git a/lib/GSL/Special/Clausen.hs b/lib/GSL/Special/Clausen.hs
new file mode 100644
index 0000000..9089499
--- /dev/null
+++ b/lib/GSL/Special/Clausen.hs
@@ -0,0 +1,31 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Clausen
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Clausen(
16 clausen_e
17, clausen
18) where
19
20import Foreign(Ptr)
21import GSL.Special.Internal
22
23-- | wrapper for int gsl_sf_clausen_e(double x,gsl_sf_result* result);
24clausen_e :: Double -> (Double,Double)
25clausen_e x = createSFR "clausen_e" $ gsl_sf_clausen_e x
26foreign import ccall "clausen.h gsl_sf_clausen_e" gsl_sf_clausen_e :: Double -> Ptr Double -> IO(Int)
27
28-- | wrapper for double gsl_sf_clausen(double x);
29clausen :: Double -> Double
30clausen = gsl_sf_clausen
31foreign import ccall "clausen.h gsl_sf_clausen" gsl_sf_clausen :: Double -> Double
diff --git a/lib/GSL/Special/Coulomb.hs b/lib/GSL/Special/Coulomb.hs
new file mode 100644
index 0000000..df3b8a4
--- /dev/null
+++ b/lib/GSL/Special/Coulomb.hs
@@ -0,0 +1,79 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Coulomb
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module 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 GSL.Special.Internal
25
26-- | wrapper for int gsl_sf_hydrogenicR_1_e(double Z,double r,gsl_sf_result* result);
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 "coulomb.h gsl_sf_hydrogenicR_1_e" gsl_sf_hydrogenicR_1_e :: Double -> Double -> Ptr Double -> IO(Int)
30
31-- | wrapper for double gsl_sf_hydrogenicR_1(double Z,double r);
32hydrogenicR_1 :: Double -> Double -> Double
33hydrogenicR_1 = gsl_sf_hydrogenicR_1
34foreign import ccall "coulomb.h gsl_sf_hydrogenicR_1" gsl_sf_hydrogenicR_1 :: Double -> Double -> Double
35
36-- | wrapper for int gsl_sf_hydrogenicR_e(int n,int l,double Z,double r,gsl_sf_result* result);
37hydrogenicR_e :: Int -> Int -> Double -> Double -> (Double,Double)
38hydrogenicR_e n l zZ r = createSFR "hydrogenicR_e" $ gsl_sf_hydrogenicR_e n l zZ r
39foreign import ccall "coulomb.h gsl_sf_hydrogenicR_e" gsl_sf_hydrogenicR_e :: Int -> Int -> Double -> Double -> Ptr Double -> IO(Int)
40
41-- | wrapper for double gsl_sf_hydrogenicR(int n,int l,double Z,double r);
42hydrogenicR :: Int -> Int -> Double -> Double -> Double
43hydrogenicR = gsl_sf_hydrogenicR
44foreign import ccall "coulomb.h gsl_sf_hydrogenicR" gsl_sf_hydrogenicR :: Int -> Int -> Double -> Double -> Double
45
46-- | wrapper for int gsl_sf_coulomb_wave_FG_e(double eta,double x,double lam_F,int k_lam_G,gsl_sf_result* F,gsl_sf_result* Fp,gsl_sf_result* G,gsl_sf_result* Gp,double* exp_F,double* exp_G);
47coulomb_wave_FG_e :: Double -> Double -> Double -> Int -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int
48coulomb_wave_FG_e = gsl_sf_coulomb_wave_FG_e
49foreign import ccall "coulomb.h gsl_sf_coulomb_wave_FG_e" gsl_sf_coulomb_wave_FG_e :: Double -> Double -> Double -> Int -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int
50
51-- | wrapper for int gsl_sf_coulomb_wave_F_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* F_exponent);
52coulomb_wave_F_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Int
53coulomb_wave_F_array = gsl_sf_coulomb_wave_F_array
54foreign import ccall "coulomb.h gsl_sf_coulomb_wave_F_array" gsl_sf_coulomb_wave_F_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Int
55
56-- | wrapper for int gsl_sf_coulomb_wave_FG_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* gc_array,double* F_exponent,double* G_exponent);
57coulomb_wave_FG_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int
58coulomb_wave_FG_array = gsl_sf_coulomb_wave_FG_array
59foreign import ccall "coulomb.h gsl_sf_coulomb_wave_FG_array" gsl_sf_coulomb_wave_FG_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int
60
61-- | wrapper for int gsl_sf_coulomb_wave_FGp_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* fcp_array,double* gc_array,double* gcp_array,double* F_exponent,double* G_exponent);
62coulomb_wave_FGp_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int
63coulomb_wave_FGp_array = gsl_sf_coulomb_wave_FGp_array
64foreign import ccall "coulomb.h gsl_sf_coulomb_wave_FGp_array" gsl_sf_coulomb_wave_FGp_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Int
65
66-- | wrapper for int gsl_sf_coulomb_wave_sphF_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* F_exponent);
67coulomb_wave_sphF_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Int
68coulomb_wave_sphF_array = gsl_sf_coulomb_wave_sphF_array
69foreign import ccall "coulomb.h gsl_sf_coulomb_wave_sphF_array" gsl_sf_coulomb_wave_sphF_array :: Double -> Int -> Double -> Double -> Ptr Double -> Ptr Double -> Int
70
71-- | wrapper for int gsl_sf_coulomb_CL_e(double L,double eta,gsl_sf_result* result);
72coulomb_CL_e :: Double -> Double -> (Double,Double)
73coulomb_CL_e lL eta = createSFR "coulomb_CL_e" $ gsl_sf_coulomb_CL_e lL eta
74foreign import ccall "coulomb.h gsl_sf_coulomb_CL_e" gsl_sf_coulomb_CL_e :: Double -> Double -> Ptr Double -> IO(Int)
75
76-- | wrapper for int gsl_sf_coulomb_CL_array(double Lmin,int kmax,double eta,double* cl);
77coulomb_CL_array :: Double -> Int -> Double -> Ptr Double -> Int
78coulomb_CL_array = gsl_sf_coulomb_CL_array
79foreign import ccall "coulomb.h gsl_sf_coulomb_CL_array" gsl_sf_coulomb_CL_array :: Double -> Int -> Double -> Ptr Double -> Int
diff --git a/lib/GSL/Special/Coupling.hs b/lib/GSL/Special/Coupling.hs
new file mode 100644
index 0000000..e57108b
--- /dev/null
+++ b/lib/GSL/Special/Coupling.hs
@@ -0,0 +1,79 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Coupling
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Coupling(
16 coupling_3j_e
17, coupling_3j
18, coupling_6j_e
19, coupling_6j
20, coupling_RacahW_e
21, coupling_RacahW
22, coupling_9j_e
23, coupling_9j
24-- , coupling_6j_INCORRECT_e
25-- , coupling_6j_INCORRECT
26) where
27
28import Foreign(Ptr)
29import GSL.Special.Internal
30
31-- | wrapper for int gsl_sf_coupling_3j_e(int two_ja,int two_jb,int two_jc,int two_ma,int two_mb,int two_mc,gsl_sf_result* result);
32coupling_3j_e :: Int -> Int -> Int -> Int -> Int -> Int -> (Double,Double)
33coupling_3j_e two_ja two_jb two_jc two_ma two_mb two_mc = createSFR "coupling_3j_e" $ gsl_sf_coupling_3j_e two_ja two_jb two_jc two_ma two_mb two_mc
34foreign import ccall "coupling.h gsl_sf_coupling_3j_e" gsl_sf_coupling_3j_e :: Int -> Int -> Int -> Int -> Int -> Int -> Ptr Double -> IO(Int)
35
36-- | wrapper for double gsl_sf_coupling_3j(int two_ja,int two_jb,int two_jc,int two_ma,int two_mb,int two_mc);
37coupling_3j :: Int -> Int -> Int -> Int -> Int -> Int -> Double
38coupling_3j = gsl_sf_coupling_3j
39foreign import ccall "coupling.h gsl_sf_coupling_3j" gsl_sf_coupling_3j :: Int -> Int -> Int -> Int -> Int -> Int -> Double
40
41-- | wrapper for int gsl_sf_coupling_6j_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,gsl_sf_result* result);
42coupling_6j_e :: Int -> Int -> Int -> Int -> Int -> Int -> (Double,Double)
43coupling_6j_e two_ja two_jb two_jc two_jd two_je two_jf = createSFR "coupling_6j_e" $ gsl_sf_coupling_6j_e two_ja two_jb two_jc two_jd two_je two_jf
44foreign import ccall "coupling.h gsl_sf_coupling_6j_e" gsl_sf_coupling_6j_e :: Int -> Int -> Int -> Int -> Int -> Int -> Ptr Double -> IO(Int)
45
46-- | wrapper for double gsl_sf_coupling_6j(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);
47coupling_6j :: Int -> Int -> Int -> Int -> Int -> Int -> Double
48coupling_6j = gsl_sf_coupling_6j
49foreign import ccall "coupling.h gsl_sf_coupling_6j" gsl_sf_coupling_6j :: Int -> Int -> Int -> Int -> Int -> Int -> Double
50
51-- | wrapper for int gsl_sf_coupling_RacahW_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,gsl_sf_result* result);
52coupling_RacahW_e :: Int -> Int -> Int -> Int -> Int -> Int -> (Double,Double)
53coupling_RacahW_e two_ja two_jb two_jc two_jd two_je two_jf = createSFR "coupling_RacahW_e" $ gsl_sf_coupling_RacahW_e two_ja two_jb two_jc two_jd two_je two_jf
54foreign import ccall "coupling.h gsl_sf_coupling_RacahW_e" gsl_sf_coupling_RacahW_e :: Int -> Int -> Int -> Int -> Int -> Int -> Ptr Double -> IO(Int)
55
56-- | wrapper for double gsl_sf_coupling_RacahW(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);
57coupling_RacahW :: Int -> Int -> Int -> Int -> Int -> Int -> Double
58coupling_RacahW = gsl_sf_coupling_RacahW
59foreign import ccall "coupling.h gsl_sf_coupling_RacahW" gsl_sf_coupling_RacahW :: Int -> Int -> Int -> Int -> Int -> Int -> Double
60
61-- | wrapper for int gsl_sf_coupling_9j_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,int two_jg,int two_jh,int two_ji,gsl_sf_result* result);
62coupling_9j_e :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> (Double,Double)
63coupling_9j_e two_ja two_jb two_jc two_jd two_je two_jf two_jg two_jh two_ji = createSFR "coupling_9j_e" $ gsl_sf_coupling_9j_e two_ja two_jb two_jc two_jd two_je two_jf two_jg two_jh two_ji
64foreign import ccall "coupling.h gsl_sf_coupling_9j_e" gsl_sf_coupling_9j_e :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Ptr Double -> IO(Int)
65
66-- | wrapper for double gsl_sf_coupling_9j(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,int two_jg,int two_jh,int two_ji);
67coupling_9j :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Double
68coupling_9j = gsl_sf_coupling_9j
69foreign import ccall "coupling.h gsl_sf_coupling_9j" gsl_sf_coupling_9j :: Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Double
70
71-- | wrapper for int gsl_sf_coupling_6j_INCORRECT_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,gsl_sf_result* result);
72coupling_6j_INCORRECT_e :: Int -> Int -> Int -> Int -> Int -> Int -> (Double,Double)
73coupling_6j_INCORRECT_e two_ja two_jb two_jc two_jd two_je two_jf = createSFR "coupling_6j_INCORRECT_e" $ gsl_sf_coupling_6j_INCORRECT_e two_ja two_jb two_jc two_jd two_je two_jf
74foreign import ccall "coupling.h gsl_sf_coupling_6j_INCORRECT_e" gsl_sf_coupling_6j_INCORRECT_e :: Int -> Int -> Int -> Int -> Int -> Int -> Ptr Double -> IO(Int)
75
76-- | wrapper for double gsl_sf_coupling_6j_INCORRECT(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);
77coupling_6j_INCORRECT :: Int -> Int -> Int -> Int -> Int -> Int -> Double
78coupling_6j_INCORRECT = gsl_sf_coupling_6j_INCORRECT
79foreign import ccall "coupling.h gsl_sf_coupling_6j_INCORRECT" gsl_sf_coupling_6j_INCORRECT :: Int -> Int -> Int -> Int -> Int -> Int -> Double
diff --git a/lib/GSL/Special/Dawson.hs b/lib/GSL/Special/Dawson.hs
new file mode 100644
index 0000000..62d0baf
--- /dev/null
+++ b/lib/GSL/Special/Dawson.hs
@@ -0,0 +1,31 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Dawson
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Dawson(
16 dawson_e
17, dawson
18) where
19
20import Foreign(Ptr)
21import GSL.Special.Internal
22
23-- | wrapper for int gsl_sf_dawson_e(double x,gsl_sf_result* result);
24dawson_e :: Double -> (Double,Double)
25dawson_e x = createSFR "dawson_e" $ gsl_sf_dawson_e x
26foreign import ccall "dawson.h gsl_sf_dawson_e" gsl_sf_dawson_e :: Double -> Ptr Double -> IO(Int)
27
28-- | wrapper for double gsl_sf_dawson(double x);
29dawson :: Double -> Double
30dawson = gsl_sf_dawson
31foreign import ccall "dawson.h gsl_sf_dawson" gsl_sf_dawson :: Double -> Double
diff --git a/lib/GSL/Special/Debye.hs b/lib/GSL/Special/Debye.hs
new file mode 100644
index 0000000..aa0bd89
--- /dev/null
+++ b/lib/GSL/Special/Debye.hs
@@ -0,0 +1,67 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Debye
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Debye(
16 debye_1_e
17, debye_1
18, debye_2_e
19, debye_2
20, debye_3_e
21, debye_3
22, debye_4_e
23, debye_4
24) where
25
26import Foreign(Ptr)
27import GSL.Special.Internal
28
29-- | wrapper for int gsl_sf_debye_1_e(double x,gsl_sf_result* result);
30debye_1_e :: Double -> (Double,Double)
31debye_1_e x = createSFR "debye_1_e" $ gsl_sf_debye_1_e x
32foreign import ccall "debye.h gsl_sf_debye_1_e" gsl_sf_debye_1_e :: Double -> Ptr Double -> IO(Int)
33
34-- | wrapper for double gsl_sf_debye_1(double x);
35debye_1 :: Double -> Double
36debye_1 = gsl_sf_debye_1
37foreign import ccall "debye.h gsl_sf_debye_1" gsl_sf_debye_1 :: Double -> Double
38
39-- | wrapper for int gsl_sf_debye_2_e(double x,gsl_sf_result* result);
40debye_2_e :: Double -> (Double,Double)
41debye_2_e x = createSFR "debye_2_e" $ gsl_sf_debye_2_e x
42foreign import ccall "debye.h gsl_sf_debye_2_e" gsl_sf_debye_2_e :: Double -> Ptr Double -> IO(Int)
43
44-- | wrapper for double gsl_sf_debye_2(double x);
45debye_2 :: Double -> Double
46debye_2 = gsl_sf_debye_2
47foreign import ccall "debye.h gsl_sf_debye_2" gsl_sf_debye_2 :: Double -> Double
48
49-- | wrapper for int gsl_sf_debye_3_e(double x,gsl_sf_result* result);
50debye_3_e :: Double -> (Double,Double)
51debye_3_e x = createSFR "debye_3_e" $ gsl_sf_debye_3_e x
52foreign import ccall "debye.h gsl_sf_debye_3_e" gsl_sf_debye_3_e :: Double -> Ptr Double -> IO(Int)
53
54-- | wrapper for double gsl_sf_debye_3(double x);
55debye_3 :: Double -> Double
56debye_3 = gsl_sf_debye_3
57foreign import ccall "debye.h gsl_sf_debye_3" gsl_sf_debye_3 :: Double -> Double
58
59-- | wrapper for int gsl_sf_debye_4_e(double x,gsl_sf_result* result);
60debye_4_e :: Double -> (Double,Double)
61debye_4_e x = createSFR "debye_4_e" $ gsl_sf_debye_4_e x
62foreign import ccall "debye.h gsl_sf_debye_4_e" gsl_sf_debye_4_e :: Double -> Ptr Double -> IO(Int)
63
64-- | wrapper for double gsl_sf_debye_4(double x);
65debye_4 :: Double -> Double
66debye_4 = gsl_sf_debye_4
67foreign import ccall "debye.h gsl_sf_debye_4" gsl_sf_debye_4 :: Double -> Double
diff --git a/lib/GSL/Special/Dilog.hs b/lib/GSL/Special/Dilog.hs
new file mode 100644
index 0000000..199095a
--- /dev/null
+++ b/lib/GSL/Special/Dilog.hs
@@ -0,0 +1,46 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Dilog
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Dilog(
16 dilog_e
17, dilog
18) where
19
20import Foreign(Ptr)
21import GSL.Special.Internal
22
23-- | wrapper for int gsl_sf_dilog_e(double x,gsl_sf_result* result);
24dilog_e :: Double -> (Double,Double)
25dilog_e x = createSFR "dilog_e" $ gsl_sf_dilog_e x
26foreign import ccall "dilog.h gsl_sf_dilog_e" gsl_sf_dilog_e :: Double -> Ptr Double -> IO(Int)
27
28-- | wrapper for double gsl_sf_dilog(double x);
29dilog :: Double -> Double
30dilog = gsl_sf_dilog
31foreign import ccall "dilog.h gsl_sf_dilog" gsl_sf_dilog :: Double -> Double
32
33-- | wrapper for int gsl_sf_complex_dilog_xy_e(double x,double y,gsl_sf_result* result_re,gsl_sf_result* result_im);
34complex_dilog_xy_e :: Double -> Double -> Ptr Double -> (Double,Double)
35complex_dilog_xy_e x y result_re = createSFR "complex_dilog_xy_e" $ gsl_sf_complex_dilog_xy_e x y result_re
36foreign import ccall "dilog.h gsl_sf_complex_dilog_xy_e" gsl_sf_complex_dilog_xy_e :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int)
37
38-- | wrapper for int gsl_sf_complex_dilog_e(double r,double theta,gsl_sf_result* result_re,gsl_sf_result* result_im);
39complex_dilog_e :: Double -> Double -> Ptr Double -> (Double,Double)
40complex_dilog_e r theta result_re = createSFR "complex_dilog_e" $ gsl_sf_complex_dilog_e r theta result_re
41foreign import ccall "dilog.h gsl_sf_complex_dilog_e" gsl_sf_complex_dilog_e :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int)
42
43-- | wrapper for int gsl_sf_complex_spence_xy_e(double x,double y,gsl_sf_result* real_sp,gsl_sf_result* imag_sp);
44complex_spence_xy_e :: Double -> Double -> Ptr Double -> (Double,Double)
45complex_spence_xy_e x y real_sp = createSFR "complex_spence_xy_e" $ gsl_sf_complex_spence_xy_e x y real_sp
46foreign import ccall "dilog.h gsl_sf_complex_spence_xy_e" gsl_sf_complex_spence_xy_e :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int)
diff --git a/lib/GSL/Special/Elementary.hs b/lib/GSL/Special/Elementary.hs
new file mode 100644
index 0000000..5da89ca
--- /dev/null
+++ b/lib/GSL/Special/Elementary.hs
@@ -0,0 +1,37 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Elementary
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Elementary(
16 multiply_e
17, multiply
18, multiply_err_e
19) where
20
21import Foreign(Ptr)
22import GSL.Special.Internal
23
24-- | wrapper for int gsl_sf_multiply_e(double x,double y,gsl_sf_result* result);
25multiply_e :: Double -> Double -> (Double,Double)
26multiply_e x y = createSFR "multiply_e" $ gsl_sf_multiply_e x y
27foreign import ccall "elementary.h gsl_sf_multiply_e" gsl_sf_multiply_e :: Double -> Double -> Ptr Double -> IO(Int)
28
29-- | wrapper for double gsl_sf_multiply(double x,double y);
30multiply :: Double -> Double -> Double
31multiply = gsl_sf_multiply
32foreign import ccall "elementary.h gsl_sf_multiply" gsl_sf_multiply :: Double -> Double -> Double
33
34-- | wrapper for int gsl_sf_multiply_err_e(double x,double dx,double y,double dy,gsl_sf_result* result);
35multiply_err_e :: Double -> Double -> Double -> Double -> (Double,Double)
36multiply_err_e x dx y dy = createSFR "multiply_err_e" $ gsl_sf_multiply_err_e x dx y dy
37foreign import ccall "elementary.h gsl_sf_multiply_err_e" gsl_sf_multiply_err_e :: Double -> Double -> Double -> Double -> Ptr Double -> IO(Int)
diff --git a/lib/GSL/Special/Ellint.hs b/lib/GSL/Special/Ellint.hs
new file mode 100644
index 0000000..f79c702
--- /dev/null
+++ b/lib/GSL/Special/Ellint.hs
@@ -0,0 +1,139 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Ellint
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Ellint(
16 ellint_Kcomp_e
17, ellint_Kcomp
18, ellint_Ecomp_e
19, ellint_Ecomp
20, ellint_F_e
21, ellint_F
22, ellint_E_e
23, ellint_E
24, ellint_P_e
25, ellint_P
26, ellint_D_e
27, ellint_D
28, ellint_RC_e
29, ellint_RC
30, ellint_RD_e
31, ellint_RD
32, ellint_RF_e
33, ellint_RF
34, ellint_RJ_e
35, ellint_RJ
36) where
37
38import Foreign(Ptr)
39import GSL.Special.Internal
40
41-- | wrapper for int gsl_sf_ellint_Kcomp_e(double k,gsl_mode_t mode,gsl_sf_result* result);
42ellint_Kcomp_e :: Double -> Precision -> (Double,Double)
43ellint_Kcomp_e k mode = createSFR "ellint_Kcomp_e" $ gsl_sf_ellint_Kcomp_e k (precCode mode)
44foreign import ccall "ellint.h gsl_sf_ellint_Kcomp_e" gsl_sf_ellint_Kcomp_e :: Double -> Gsl_mode_t -> Ptr Double -> IO(Int)
45
46-- | wrapper for double gsl_sf_ellint_Kcomp(double k,gsl_mode_t mode);
47ellint_Kcomp :: Double -> Precision -> Double
48ellint_Kcomp k mode = gsl_sf_ellint_Kcomp k (precCode mode)
49foreign import ccall "ellint.h gsl_sf_ellint_Kcomp" gsl_sf_ellint_Kcomp :: Double -> Gsl_mode_t -> Double
50
51-- | wrapper for int gsl_sf_ellint_Ecomp_e(double k,gsl_mode_t mode,gsl_sf_result* result);
52ellint_Ecomp_e :: Double -> Precision -> (Double,Double)
53ellint_Ecomp_e k mode = createSFR "ellint_Ecomp_e" $ gsl_sf_ellint_Ecomp_e k (precCode mode)
54foreign import ccall "ellint.h gsl_sf_ellint_Ecomp_e" gsl_sf_ellint_Ecomp_e :: Double -> Gsl_mode_t -> Ptr Double -> IO(Int)
55
56-- | wrapper for double gsl_sf_ellint_Ecomp(double k,gsl_mode_t mode);
57ellint_Ecomp :: Double -> Precision -> Double
58ellint_Ecomp k mode = gsl_sf_ellint_Ecomp k (precCode mode)
59foreign import ccall "ellint.h gsl_sf_ellint_Ecomp" gsl_sf_ellint_Ecomp :: Double -> Gsl_mode_t -> Double
60
61-- | wrapper for int gsl_sf_ellint_F_e(double phi,double k,gsl_mode_t mode,gsl_sf_result* result);
62ellint_F_e :: Double -> Double -> Precision -> (Double,Double)
63ellint_F_e phi k mode = createSFR "ellint_F_e" $ gsl_sf_ellint_F_e phi k (precCode mode)
64foreign import ccall "ellint.h gsl_sf_ellint_F_e" gsl_sf_ellint_F_e :: Double -> Double -> Gsl_mode_t -> Ptr Double -> IO(Int)
65
66-- | wrapper for double gsl_sf_ellint_F(double phi,double k,gsl_mode_t mode);
67ellint_F :: Double -> Double -> Precision -> Double
68ellint_F phi k mode = gsl_sf_ellint_F phi k (precCode mode)
69foreign import ccall "ellint.h gsl_sf_ellint_F" gsl_sf_ellint_F :: Double -> Double -> Gsl_mode_t -> Double
70
71-- | wrapper for int gsl_sf_ellint_E_e(double phi,double k,gsl_mode_t mode,gsl_sf_result* result);
72ellint_E_e :: Double -> Double -> Precision -> (Double,Double)
73ellint_E_e phi k mode = createSFR "ellint_E_e" $ gsl_sf_ellint_E_e phi k (precCode mode)
74foreign import ccall "ellint.h gsl_sf_ellint_E_e" gsl_sf_ellint_E_e :: Double -> Double -> Gsl_mode_t -> Ptr Double -> IO(Int)
75
76-- | wrapper for double gsl_sf_ellint_E(double phi,double k,gsl_mode_t mode);
77ellint_E :: Double -> Double -> Precision -> Double
78ellint_E phi k mode = gsl_sf_ellint_E phi k (precCode mode)
79foreign import ccall "ellint.h gsl_sf_ellint_E" gsl_sf_ellint_E :: Double -> Double -> Gsl_mode_t -> Double
80
81-- | wrapper for int gsl_sf_ellint_P_e(double phi,double k,double n,gsl_mode_t mode,gsl_sf_result* result);
82ellint_P_e :: Double -> Double -> Double -> Precision -> (Double,Double)
83ellint_P_e phi k n mode = createSFR "ellint_P_e" $ gsl_sf_ellint_P_e phi k n (precCode mode)
84foreign import ccall "ellint.h gsl_sf_ellint_P_e" gsl_sf_ellint_P_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr Double -> IO(Int)
85
86-- | wrapper for double gsl_sf_ellint_P(double phi,double k,double n,gsl_mode_t mode);
87ellint_P :: Double -> Double -> Double -> Precision -> Double
88ellint_P phi k n mode = gsl_sf_ellint_P phi k n (precCode mode)
89foreign import ccall "ellint.h gsl_sf_ellint_P" gsl_sf_ellint_P :: Double -> Double -> Double -> Gsl_mode_t -> Double
90
91-- | wrapper for int gsl_sf_ellint_D_e(double phi,double k,double n,gsl_mode_t mode,gsl_sf_result* result);
92ellint_D_e :: Double -> Double -> Double -> Precision -> (Double,Double)
93ellint_D_e phi k n mode = createSFR "ellint_D_e" $ gsl_sf_ellint_D_e phi k n (precCode mode)
94foreign import ccall "ellint.h gsl_sf_ellint_D_e" gsl_sf_ellint_D_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr Double -> IO(Int)
95
96-- | wrapper for double gsl_sf_ellint_D(double phi,double k,double n,gsl_mode_t mode);
97ellint_D :: Double -> Double -> Double -> Precision -> Double
98ellint_D phi k n mode = gsl_sf_ellint_D phi k n (precCode mode)
99foreign import ccall "ellint.h gsl_sf_ellint_D" gsl_sf_ellint_D :: Double -> Double -> Double -> Gsl_mode_t -> Double
100
101-- | wrapper for int gsl_sf_ellint_RC_e(double x,double y,gsl_mode_t mode,gsl_sf_result* result);
102ellint_RC_e :: Double -> Double -> Precision -> (Double,Double)
103ellint_RC_e x y mode = createSFR "ellint_RC_e" $ gsl_sf_ellint_RC_e x y (precCode mode)
104foreign import ccall "ellint.h gsl_sf_ellint_RC_e" gsl_sf_ellint_RC_e :: Double -> Double -> Gsl_mode_t -> Ptr Double -> IO(Int)
105
106-- | wrapper for double gsl_sf_ellint_RC(double x,double y,gsl_mode_t mode);
107ellint_RC :: Double -> Double -> Precision -> Double
108ellint_RC x y mode = gsl_sf_ellint_RC x y (precCode mode)
109foreign import ccall "ellint.h gsl_sf_ellint_RC" gsl_sf_ellint_RC :: Double -> Double -> Gsl_mode_t -> Double
110
111-- | wrapper for int gsl_sf_ellint_RD_e(double x,double y,double z,gsl_mode_t mode,gsl_sf_result* result);
112ellint_RD_e :: Double -> Double -> Double -> Precision -> (Double,Double)
113ellint_RD_e x y z mode = createSFR "ellint_RD_e" $ gsl_sf_ellint_RD_e x y z (precCode mode)
114foreign import ccall "ellint.h gsl_sf_ellint_RD_e" gsl_sf_ellint_RD_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr Double -> IO(Int)
115
116-- | wrapper for double gsl_sf_ellint_RD(double x,double y,double z,gsl_mode_t mode);
117ellint_RD :: Double -> Double -> Double -> Precision -> Double
118ellint_RD x y z mode = gsl_sf_ellint_RD x y z (precCode mode)
119foreign import ccall "ellint.h gsl_sf_ellint_RD" gsl_sf_ellint_RD :: Double -> Double -> Double -> Gsl_mode_t -> Double
120
121-- | wrapper for int gsl_sf_ellint_RF_e(double x,double y,double z,gsl_mode_t mode,gsl_sf_result* result);
122ellint_RF_e :: Double -> Double -> Double -> Precision -> (Double,Double)
123ellint_RF_e x y z mode = createSFR "ellint_RF_e" $ gsl_sf_ellint_RF_e x y z (precCode mode)
124foreign import ccall "ellint.h gsl_sf_ellint_RF_e" gsl_sf_ellint_RF_e :: Double -> Double -> Double -> Gsl_mode_t -> Ptr Double -> IO(Int)
125
126-- | wrapper for double gsl_sf_ellint_RF(double x,double y,double z,gsl_mode_t mode);
127ellint_RF :: Double -> Double -> Double -> Precision -> Double
128ellint_RF x y z mode = gsl_sf_ellint_RF x y z (precCode mode)
129foreign import ccall "ellint.h gsl_sf_ellint_RF" gsl_sf_ellint_RF :: Double -> Double -> Double -> Gsl_mode_t -> Double
130
131-- | wrapper for int gsl_sf_ellint_RJ_e(double x,double y,double z,double p,gsl_mode_t mode,gsl_sf_result* result);
132ellint_RJ_e :: Double -> Double -> Double -> Double -> Precision -> (Double,Double)
133ellint_RJ_e x y z p mode = createSFR "ellint_RJ_e" $ gsl_sf_ellint_RJ_e x y z p (precCode mode)
134foreign import ccall "ellint.h gsl_sf_ellint_RJ_e" gsl_sf_ellint_RJ_e :: Double -> Double -> Double -> Double -> Gsl_mode_t -> Ptr Double -> IO(Int)
135
136-- | wrapper for double gsl_sf_ellint_RJ(double x,double y,double z,double p,gsl_mode_t mode);
137ellint_RJ :: Double -> Double -> Double -> Double -> Precision -> Double
138ellint_RJ x y z p mode = gsl_sf_ellint_RJ x y z p (precCode mode)
139foreign import ccall "ellint.h gsl_sf_ellint_RJ" gsl_sf_ellint_RJ :: Double -> Double -> Double -> Double -> Gsl_mode_t -> Double
diff --git a/lib/GSL/Special/Expint.hs b/lib/GSL/Special/Expint.hs
new file mode 100644
index 0000000..f761966
--- /dev/null
+++ b/lib/GSL/Special/Expint.hs
@@ -0,0 +1,163 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Expint
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Expint(
16 expint_E1_e
17, expint_E1
18, expint_E2_e
19, expint_E2
20, expint_E1_scaled_e
21, expint_E1_scaled
22, expint_E2_scaled_e
23, expint_E2_scaled
24, expint_Ei_e
25, expint_Ei
26, expint_Ei_scaled_e
27, expint_Ei_scaled
28, shi_e
29, shi
30, chi_e
31, chi
32, expint_3_e
33, expint_3
34, si_e
35, si
36, ci_e
37, ci
38, atanint_e
39, atanint
40) where
41
42import Foreign(Ptr)
43import GSL.Special.Internal
44
45-- | wrapper for int gsl_sf_expint_E1_e(double x,gsl_sf_result* result);
46expint_E1_e :: Double -> (Double,Double)
47expint_E1_e x = createSFR "expint_E1_e" $ gsl_sf_expint_E1_e x
48foreign import ccall "expint.h gsl_sf_expint_E1_e" gsl_sf_expint_E1_e :: Double -> Ptr Double -> IO(Int)
49
50-- | wrapper for double gsl_sf_expint_E1(double x);
51expint_E1 :: Double -> Double
52expint_E1 = gsl_sf_expint_E1
53foreign import ccall "expint.h gsl_sf_expint_E1" gsl_sf_expint_E1 :: Double -> Double
54
55-- | wrapper for int gsl_sf_expint_E2_e(double x,gsl_sf_result* result);
56expint_E2_e :: Double -> (Double,Double)
57expint_E2_e x = createSFR "expint_E2_e" $ gsl_sf_expint_E2_e x
58foreign import ccall "expint.h gsl_sf_expint_E2_e" gsl_sf_expint_E2_e :: Double -> Ptr Double -> IO(Int)
59
60-- | wrapper for double gsl_sf_expint_E2(double x);
61expint_E2 :: Double -> Double
62expint_E2 = gsl_sf_expint_E2
63foreign import ccall "expint.h gsl_sf_expint_E2" gsl_sf_expint_E2 :: Double -> Double
64
65-- | wrapper for int gsl_sf_expint_E1_scaled_e(double x,gsl_sf_result* result);
66expint_E1_scaled_e :: Double -> (Double,Double)
67expint_E1_scaled_e x = createSFR "expint_E1_scaled_e" $ gsl_sf_expint_E1_scaled_e x
68foreign import ccall "expint.h gsl_sf_expint_E1_scaled_e" gsl_sf_expint_E1_scaled_e :: Double -> Ptr Double -> IO(Int)
69
70-- | wrapper for double gsl_sf_expint_E1_scaled(double x);
71expint_E1_scaled :: Double -> Double
72expint_E1_scaled = gsl_sf_expint_E1_scaled
73foreign import ccall "expint.h gsl_sf_expint_E1_scaled" gsl_sf_expint_E1_scaled :: Double -> Double
74
75-- | wrapper for int gsl_sf_expint_E2_scaled_e(double x,gsl_sf_result* result);
76expint_E2_scaled_e :: Double -> (Double,Double)
77expint_E2_scaled_e x = createSFR "expint_E2_scaled_e" $ gsl_sf_expint_E2_scaled_e x
78foreign import ccall "expint.h gsl_sf_expint_E2_scaled_e" gsl_sf_expint_E2_scaled_e :: Double -> Ptr Double -> IO(Int)
79
80-- | wrapper for double gsl_sf_expint_E2_scaled(double x);
81expint_E2_scaled :: Double -> Double
82expint_E2_scaled = gsl_sf_expint_E2_scaled
83foreign import ccall "expint.h gsl_sf_expint_E2_scaled" gsl_sf_expint_E2_scaled :: Double -> Double
84
85-- | wrapper for int gsl_sf_expint_Ei_e(double x,gsl_sf_result* result);
86expint_Ei_e :: Double -> (Double,Double)
87expint_Ei_e x = createSFR "expint_Ei_e" $ gsl_sf_expint_Ei_e x
88foreign import ccall "expint.h gsl_sf_expint_Ei_e" gsl_sf_expint_Ei_e :: Double -> Ptr Double -> IO(Int)
89
90-- | wrapper for double gsl_sf_expint_Ei(double x);
91expint_Ei :: Double -> Double
92expint_Ei = gsl_sf_expint_Ei
93foreign import ccall "expint.h gsl_sf_expint_Ei" gsl_sf_expint_Ei :: Double -> Double
94
95-- | wrapper for int gsl_sf_expint_Ei_scaled_e(double x,gsl_sf_result* result);
96expint_Ei_scaled_e :: Double -> (Double,Double)
97expint_Ei_scaled_e x = createSFR "expint_Ei_scaled_e" $ gsl_sf_expint_Ei_scaled_e x
98foreign import ccall "expint.h gsl_sf_expint_Ei_scaled_e" gsl_sf_expint_Ei_scaled_e :: Double -> Ptr Double -> IO(Int)
99
100-- | wrapper for double gsl_sf_expint_Ei_scaled(double x);
101expint_Ei_scaled :: Double -> Double
102expint_Ei_scaled = gsl_sf_expint_Ei_scaled
103foreign import ccall "expint.h gsl_sf_expint_Ei_scaled" gsl_sf_expint_Ei_scaled :: Double -> Double
104
105-- | wrapper for int gsl_sf_Shi_e(double x,gsl_sf_result* result);
106shi_e :: Double -> (Double,Double)
107shi_e x = createSFR "shi_e" $ gsl_sf_Shi_e x
108foreign import ccall "expint.h gsl_sf_Shi_e" gsl_sf_Shi_e :: Double -> Ptr Double -> IO(Int)
109
110-- | wrapper for double gsl_sf_Shi(double x);
111shi :: Double -> Double
112shi = gsl_sf_Shi
113foreign import ccall "expint.h gsl_sf_Shi" gsl_sf_Shi :: Double -> Double
114
115-- | wrapper for int gsl_sf_Chi_e(double x,gsl_sf_result* result);
116chi_e :: Double -> (Double,Double)
117chi_e x = createSFR "chi_e" $ gsl_sf_Chi_e x
118foreign import ccall "expint.h gsl_sf_Chi_e" gsl_sf_Chi_e :: Double -> Ptr Double -> IO(Int)
119
120-- | wrapper for double gsl_sf_Chi(double x);
121chi :: Double -> Double
122chi = gsl_sf_Chi
123foreign import ccall "expint.h gsl_sf_Chi" gsl_sf_Chi :: Double -> Double
124
125-- | wrapper for int gsl_sf_expint_3_e(double x,gsl_sf_result* result);
126expint_3_e :: Double -> (Double,Double)
127expint_3_e x = createSFR "expint_3_e" $ gsl_sf_expint_3_e x
128foreign import ccall "expint.h gsl_sf_expint_3_e" gsl_sf_expint_3_e :: Double -> Ptr Double -> IO(Int)
129
130-- | wrapper for double gsl_sf_expint_3(double x);
131expint_3 :: Double -> Double
132expint_3 = gsl_sf_expint_3
133foreign import ccall "expint.h gsl_sf_expint_3" gsl_sf_expint_3 :: Double -> Double
134
135-- | wrapper for int gsl_sf_Si_e(double x,gsl_sf_result* result);
136si_e :: Double -> (Double,Double)
137si_e x = createSFR "si_e" $ gsl_sf_Si_e x
138foreign import ccall "expint.h gsl_sf_Si_e" gsl_sf_Si_e :: Double -> Ptr Double -> IO(Int)
139
140-- | wrapper for double gsl_sf_Si(double x);
141si :: Double -> Double
142si = gsl_sf_Si
143foreign import ccall "expint.h gsl_sf_Si" gsl_sf_Si :: Double -> Double
144
145-- | wrapper for int gsl_sf_Ci_e(double x,gsl_sf_result* result);
146ci_e :: Double -> (Double,Double)
147ci_e x = createSFR "ci_e" $ gsl_sf_Ci_e x
148foreign import ccall "expint.h gsl_sf_Ci_e" gsl_sf_Ci_e :: Double -> Ptr Double -> IO(Int)
149
150-- | wrapper for double gsl_sf_Ci(double x);
151ci :: Double -> Double
152ci = gsl_sf_Ci
153foreign import ccall "expint.h gsl_sf_Ci" gsl_sf_Ci :: Double -> Double
154
155-- | wrapper for int gsl_sf_atanint_e(double x,gsl_sf_result* result);
156atanint_e :: Double -> (Double,Double)
157atanint_e x = createSFR "atanint_e" $ gsl_sf_atanint_e x
158foreign import ccall "expint.h gsl_sf_atanint_e" gsl_sf_atanint_e :: Double -> Ptr Double -> IO(Int)
159
160-- | wrapper for double gsl_sf_atanint(double x);
161atanint :: Double -> Double
162atanint = gsl_sf_atanint
163foreign import ccall "expint.h gsl_sf_atanint" gsl_sf_atanint :: Double -> Double
diff --git a/lib/GSL/Special/Fermi_dirac.hs b/lib/GSL/Special/Fermi_dirac.hs
new file mode 100644
index 0000000..26923d2
--- /dev/null
+++ b/lib/GSL/Special/Fermi_dirac.hs
@@ -0,0 +1,127 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Fermi_dirac
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Fermi_dirac(
16 fermi_dirac_m1_e
17, fermi_dirac_m1
18, fermi_dirac_0_e
19, fermi_dirac_0
20, fermi_dirac_1_e
21, fermi_dirac_1
22, fermi_dirac_2_e
23, fermi_dirac_2
24, fermi_dirac_int_e
25, fermi_dirac_int
26, fermi_dirac_mhalf_e
27, fermi_dirac_mhalf
28, fermi_dirac_half_e
29, fermi_dirac_half
30, fermi_dirac_3half_e
31, fermi_dirac_3half
32, fermi_dirac_inc_0_e
33, fermi_dirac_inc_0
34) where
35
36import Foreign(Ptr)
37import GSL.Special.Internal
38
39-- | wrapper for int gsl_sf_fermi_dirac_m1_e(double x,gsl_sf_result* result);
40fermi_dirac_m1_e :: Double -> (Double,Double)
41fermi_dirac_m1_e x = createSFR "fermi_dirac_m1_e" $ gsl_sf_fermi_dirac_m1_e x
42foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_m1_e" gsl_sf_fermi_dirac_m1_e :: Double -> Ptr Double -> IO(Int)
43
44-- | wrapper for double gsl_sf_fermi_dirac_m1(double x);
45fermi_dirac_m1 :: Double -> Double
46fermi_dirac_m1 = gsl_sf_fermi_dirac_m1
47foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_m1" gsl_sf_fermi_dirac_m1 :: Double -> Double
48
49-- | wrapper for int gsl_sf_fermi_dirac_0_e(double x,gsl_sf_result* result);
50fermi_dirac_0_e :: Double -> (Double,Double)
51fermi_dirac_0_e x = createSFR "fermi_dirac_0_e" $ gsl_sf_fermi_dirac_0_e x
52foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_0_e" gsl_sf_fermi_dirac_0_e :: Double -> Ptr Double -> IO(Int)
53
54-- | wrapper for double gsl_sf_fermi_dirac_0(double x);
55fermi_dirac_0 :: Double -> Double
56fermi_dirac_0 = gsl_sf_fermi_dirac_0
57foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_0" gsl_sf_fermi_dirac_0 :: Double -> Double
58
59-- | wrapper for int gsl_sf_fermi_dirac_1_e(double x,gsl_sf_result* result);
60fermi_dirac_1_e :: Double -> (Double,Double)
61fermi_dirac_1_e x = createSFR "fermi_dirac_1_e" $ gsl_sf_fermi_dirac_1_e x
62foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_1_e" gsl_sf_fermi_dirac_1_e :: Double -> Ptr Double -> IO(Int)
63
64-- | wrapper for double gsl_sf_fermi_dirac_1(double x);
65fermi_dirac_1 :: Double -> Double
66fermi_dirac_1 = gsl_sf_fermi_dirac_1
67foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_1" gsl_sf_fermi_dirac_1 :: Double -> Double
68
69-- | wrapper for int gsl_sf_fermi_dirac_2_e(double x,gsl_sf_result* result);
70fermi_dirac_2_e :: Double -> (Double,Double)
71fermi_dirac_2_e x = createSFR "fermi_dirac_2_e" $ gsl_sf_fermi_dirac_2_e x
72foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_2_e" gsl_sf_fermi_dirac_2_e :: Double -> Ptr Double -> IO(Int)
73
74-- | wrapper for double gsl_sf_fermi_dirac_2(double x);
75fermi_dirac_2 :: Double -> Double
76fermi_dirac_2 = gsl_sf_fermi_dirac_2
77foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_2" gsl_sf_fermi_dirac_2 :: Double -> Double
78
79-- | wrapper for int gsl_sf_fermi_dirac_int_e(int j,double x,gsl_sf_result* result);
80fermi_dirac_int_e :: Int -> Double -> (Double,Double)
81fermi_dirac_int_e j x = createSFR "fermi_dirac_int_e" $ gsl_sf_fermi_dirac_int_e j x
82foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_int_e" gsl_sf_fermi_dirac_int_e :: Int -> Double -> Ptr Double -> IO(Int)
83
84-- | wrapper for double gsl_sf_fermi_dirac_int(int j,double x);
85fermi_dirac_int :: Int -> Double -> Double
86fermi_dirac_int = gsl_sf_fermi_dirac_int
87foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_int" gsl_sf_fermi_dirac_int :: Int -> Double -> Double
88
89-- | wrapper for int gsl_sf_fermi_dirac_mhalf_e(double x,gsl_sf_result* result);
90fermi_dirac_mhalf_e :: Double -> (Double,Double)
91fermi_dirac_mhalf_e x = createSFR "fermi_dirac_mhalf_e" $ gsl_sf_fermi_dirac_mhalf_e x
92foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_mhalf_e" gsl_sf_fermi_dirac_mhalf_e :: Double -> Ptr Double -> IO(Int)
93
94-- | wrapper for double gsl_sf_fermi_dirac_mhalf(double x);
95fermi_dirac_mhalf :: Double -> Double
96fermi_dirac_mhalf = gsl_sf_fermi_dirac_mhalf
97foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_mhalf" gsl_sf_fermi_dirac_mhalf :: Double -> Double
98
99-- | wrapper for int gsl_sf_fermi_dirac_half_e(double x,gsl_sf_result* result);
100fermi_dirac_half_e :: Double -> (Double,Double)
101fermi_dirac_half_e x = createSFR "fermi_dirac_half_e" $ gsl_sf_fermi_dirac_half_e x
102foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_half_e" gsl_sf_fermi_dirac_half_e :: Double -> Ptr Double -> IO(Int)
103
104-- | wrapper for double gsl_sf_fermi_dirac_half(double x);
105fermi_dirac_half :: Double -> Double
106fermi_dirac_half = gsl_sf_fermi_dirac_half
107foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_half" gsl_sf_fermi_dirac_half :: Double -> Double
108
109-- | wrapper for int gsl_sf_fermi_dirac_3half_e(double x,gsl_sf_result* result);
110fermi_dirac_3half_e :: Double -> (Double,Double)
111fermi_dirac_3half_e x = createSFR "fermi_dirac_3half_e" $ gsl_sf_fermi_dirac_3half_e x
112foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_3half_e" gsl_sf_fermi_dirac_3half_e :: Double -> Ptr Double -> IO(Int)
113
114-- | wrapper for double gsl_sf_fermi_dirac_3half(double x);
115fermi_dirac_3half :: Double -> Double
116fermi_dirac_3half = gsl_sf_fermi_dirac_3half
117foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_3half" gsl_sf_fermi_dirac_3half :: Double -> Double
118
119-- | wrapper for int gsl_sf_fermi_dirac_inc_0_e(double x,double b,gsl_sf_result* result);
120fermi_dirac_inc_0_e :: Double -> Double -> (Double,Double)
121fermi_dirac_inc_0_e x b = createSFR "fermi_dirac_inc_0_e" $ gsl_sf_fermi_dirac_inc_0_e x b
122foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_inc_0_e" gsl_sf_fermi_dirac_inc_0_e :: Double -> Double -> Ptr Double -> IO(Int)
123
124-- | wrapper for double gsl_sf_fermi_dirac_inc_0(double x,double b);
125fermi_dirac_inc_0 :: Double -> Double -> Double
126fermi_dirac_inc_0 = gsl_sf_fermi_dirac_inc_0
127foreign import ccall "fermi_dirac.h gsl_sf_fermi_dirac_inc_0" gsl_sf_fermi_dirac_inc_0 :: Double -> Double -> Double
diff --git a/lib/GSL/Special/Gegenbauer.hs b/lib/GSL/Special/Gegenbauer.hs
new file mode 100644
index 0000000..06f3628
--- /dev/null
+++ b/lib/GSL/Special/Gegenbauer.hs
@@ -0,0 +1,72 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Gegenbauer
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Gegenbauer(
16 gegenpoly_1_e
17, gegenpoly_2_e
18, gegenpoly_3_e
19, gegenpoly_1
20, gegenpoly_2
21, gegenpoly_3
22, gegenpoly_n_e
23, gegenpoly_n
24) where
25
26import Foreign(Ptr)
27import GSL.Special.Internal
28
29-- | wrapper for int gsl_sf_gegenpoly_1_e(double lambda,double x,gsl_sf_result* result);
30gegenpoly_1_e :: Double -> Double -> (Double,Double)
31gegenpoly_1_e lambda x = createSFR "gegenpoly_1_e" $ gsl_sf_gegenpoly_1_e lambda x
32foreign import ccall "gegenbauer.h gsl_sf_gegenpoly_1_e" gsl_sf_gegenpoly_1_e :: Double -> Double -> Ptr Double -> IO(Int)
33
34-- | wrapper for int gsl_sf_gegenpoly_2_e(double lambda,double x,gsl_sf_result* result);
35gegenpoly_2_e :: Double -> Double -> (Double,Double)
36gegenpoly_2_e lambda x = createSFR "gegenpoly_2_e" $ gsl_sf_gegenpoly_2_e lambda x
37foreign import ccall "gegenbauer.h gsl_sf_gegenpoly_2_e" gsl_sf_gegenpoly_2_e :: Double -> Double -> Ptr Double -> IO(Int)
38
39-- | wrapper for int gsl_sf_gegenpoly_3_e(double lambda,double x,gsl_sf_result* result);
40gegenpoly_3_e :: Double -> Double -> (Double,Double)
41gegenpoly_3_e lambda x = createSFR "gegenpoly_3_e" $ gsl_sf_gegenpoly_3_e lambda x
42foreign import ccall "gegenbauer.h gsl_sf_gegenpoly_3_e" gsl_sf_gegenpoly_3_e :: Double -> Double -> Ptr Double -> IO(Int)
43
44-- | wrapper for double gsl_sf_gegenpoly_1(double lambda,double x);
45gegenpoly_1 :: Double -> Double -> Double
46gegenpoly_1 = gsl_sf_gegenpoly_1
47foreign import ccall "gegenbauer.h gsl_sf_gegenpoly_1" gsl_sf_gegenpoly_1 :: Double -> Double -> Double
48
49-- | wrapper for double gsl_sf_gegenpoly_2(double lambda,double x);
50gegenpoly_2 :: Double -> Double -> Double
51gegenpoly_2 = gsl_sf_gegenpoly_2
52foreign import ccall "gegenbauer.h gsl_sf_gegenpoly_2" gsl_sf_gegenpoly_2 :: Double -> Double -> Double
53
54-- | wrapper for double gsl_sf_gegenpoly_3(double lambda,double x);
55gegenpoly_3 :: Double -> Double -> Double
56gegenpoly_3 = gsl_sf_gegenpoly_3
57foreign import ccall "gegenbauer.h gsl_sf_gegenpoly_3" gsl_sf_gegenpoly_3 :: Double -> Double -> Double
58
59-- | wrapper for int gsl_sf_gegenpoly_n_e(int n,double lambda,double x,gsl_sf_result* result);
60gegenpoly_n_e :: Int -> Double -> Double -> (Double,Double)
61gegenpoly_n_e n lambda x = createSFR "gegenpoly_n_e" $ gsl_sf_gegenpoly_n_e n lambda x
62foreign import ccall "gegenbauer.h gsl_sf_gegenpoly_n_e" gsl_sf_gegenpoly_n_e :: Int -> Double -> Double -> Ptr Double -> IO(Int)
63
64-- | wrapper for double gsl_sf_gegenpoly_n(int n,double lambda,double x);
65gegenpoly_n :: Int -> Double -> Double -> Double
66gegenpoly_n = gsl_sf_gegenpoly_n
67foreign import ccall "gegenbauer.h gsl_sf_gegenpoly_n" gsl_sf_gegenpoly_n :: Int -> Double -> Double -> Double
68
69-- | wrapper for int gsl_sf_gegenpoly_array(int nmax,double lambda,double x,double* result_array);
70gegenpoly_array :: Int -> Double -> Double -> Ptr Double -> Int
71gegenpoly_array = gsl_sf_gegenpoly_array
72foreign import ccall "gegenbauer.h gsl_sf_gegenpoly_array" gsl_sf_gegenpoly_array :: Int -> Double -> Double -> Ptr Double -> Int
diff --git a/lib/GSL/Special/Hyperg.hs b/lib/GSL/Special/Hyperg.hs
new file mode 100644
index 0000000..c84c32c
--- /dev/null
+++ b/lib/GSL/Special/Hyperg.hs
@@ -0,0 +1,151 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Hyperg
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Hyperg(
16 hyperg_0F1_e
17, hyperg_0F1
18, hyperg_1F1_int_e
19, hyperg_1F1_int
20, hyperg_1F1_e
21, hyperg_1F1
22, hyperg_U_int_e
23, hyperg_U_int
24, hyperg_U_int_e10_e
25, hyperg_U_e
26, hyperg_U
27, hyperg_U_e10_e
28, hyperg_2F1_e
29, hyperg_2F1
30, hyperg_2F1_conj_e
31, hyperg_2F1_conj
32, hyperg_2F1_renorm_e
33, hyperg_2F1_renorm
34, hyperg_2F1_conj_renorm_e
35, hyperg_2F1_conj_renorm
36, hyperg_2F0_e
37, hyperg_2F0
38) where
39
40import Foreign(Ptr)
41import GSL.Special.Internal
42
43-- | wrapper for int gsl_sf_hyperg_0F1_e(double c,double x,gsl_sf_result* result);
44hyperg_0F1_e :: Double -> Double -> (Double,Double)
45hyperg_0F1_e c x = createSFR "hyperg_0F1_e" $ gsl_sf_hyperg_0F1_e c x
46foreign import ccall "hyperg.h gsl_sf_hyperg_0F1_e" gsl_sf_hyperg_0F1_e :: Double -> Double -> Ptr Double -> IO(Int)
47
48-- | wrapper for double gsl_sf_hyperg_0F1(double c,double x);
49hyperg_0F1 :: Double -> Double -> Double
50hyperg_0F1 = gsl_sf_hyperg_0F1
51foreign import ccall "hyperg.h gsl_sf_hyperg_0F1" gsl_sf_hyperg_0F1 :: Double -> Double -> Double
52
53-- | wrapper for int gsl_sf_hyperg_1F1_int_e(int m,int n,double x,gsl_sf_result* result);
54hyperg_1F1_int_e :: Int -> Int -> Double -> (Double,Double)
55hyperg_1F1_int_e m n x = createSFR "hyperg_1F1_int_e" $ gsl_sf_hyperg_1F1_int_e m n x
56foreign import ccall "hyperg.h gsl_sf_hyperg_1F1_int_e" gsl_sf_hyperg_1F1_int_e :: Int -> Int -> Double -> Ptr Double -> IO(Int)
57
58-- | wrapper for double gsl_sf_hyperg_1F1_int(int m,int n,double x);
59hyperg_1F1_int :: Int -> Int -> Double -> Double
60hyperg_1F1_int = gsl_sf_hyperg_1F1_int
61foreign import ccall "hyperg.h gsl_sf_hyperg_1F1_int" gsl_sf_hyperg_1F1_int :: Int -> Int -> Double -> Double
62
63-- | wrapper for int gsl_sf_hyperg_1F1_e(double a,double b,double x,gsl_sf_result* result);
64hyperg_1F1_e :: Double -> Double -> Double -> (Double,Double)
65hyperg_1F1_e a b x = createSFR "hyperg_1F1_e" $ gsl_sf_hyperg_1F1_e a b x
66foreign import ccall "hyperg.h gsl_sf_hyperg_1F1_e" gsl_sf_hyperg_1F1_e :: Double -> Double -> Double -> Ptr Double -> IO(Int)
67
68-- | wrapper for double gsl_sf_hyperg_1F1(double a,double b,double x);
69hyperg_1F1 :: Double -> Double -> Double -> Double
70hyperg_1F1 = gsl_sf_hyperg_1F1
71foreign import ccall "hyperg.h gsl_sf_hyperg_1F1" gsl_sf_hyperg_1F1 :: Double -> Double -> Double -> Double
72
73-- | wrapper for int gsl_sf_hyperg_U_int_e(int m,int n,double x,gsl_sf_result* result);
74hyperg_U_int_e :: Int -> Int -> Double -> (Double,Double)
75hyperg_U_int_e m n x = createSFR "hyperg_U_int_e" $ gsl_sf_hyperg_U_int_e m n x
76foreign import ccall "hyperg.h gsl_sf_hyperg_U_int_e" gsl_sf_hyperg_U_int_e :: Int -> Int -> Double -> Ptr Double -> IO(Int)
77
78-- | wrapper for double gsl_sf_hyperg_U_int(int m,int n,double x);
79hyperg_U_int :: Int -> Int -> Double -> Double
80hyperg_U_int = gsl_sf_hyperg_U_int
81foreign import ccall "hyperg.h gsl_sf_hyperg_U_int" gsl_sf_hyperg_U_int :: Int -> Int -> Double -> Double
82
83-- | wrapper for int gsl_sf_hyperg_U_int_e10_e(int m,int n,double x,gsl_sf_result_e10* result);
84hyperg_U_int_e10_e :: Int -> Int -> Double -> (Double,Int,Double)
85hyperg_U_int_e10_e m n x = createSFR_E10 "hyperg_U_int_e10_e" $ gsl_sf_hyperg_U_int_e10_e m n x
86foreign import ccall "hyperg.h gsl_sf_hyperg_U_int_e10_e" gsl_sf_hyperg_U_int_e10_e :: Int -> Int -> Double -> Ptr () -> IO(Int)
87
88-- | wrapper for int gsl_sf_hyperg_U_e(double a,double b,double x,gsl_sf_result* result);
89hyperg_U_e :: Double -> Double -> Double -> (Double,Double)
90hyperg_U_e a b x = createSFR "hyperg_U_e" $ gsl_sf_hyperg_U_e a b x
91foreign import ccall "hyperg.h gsl_sf_hyperg_U_e" gsl_sf_hyperg_U_e :: Double -> Double -> Double -> Ptr Double -> IO(Int)
92
93-- | wrapper for double gsl_sf_hyperg_U(double a,double b,double x);
94hyperg_U :: Double -> Double -> Double -> Double
95hyperg_U = gsl_sf_hyperg_U
96foreign import ccall "hyperg.h gsl_sf_hyperg_U" gsl_sf_hyperg_U :: Double -> Double -> Double -> Double
97
98-- | wrapper for int gsl_sf_hyperg_U_e10_e(double a,double b,double x,gsl_sf_result_e10* result);
99hyperg_U_e10_e :: Double -> Double -> Double -> (Double,Int,Double)
100hyperg_U_e10_e a b x = createSFR_E10 "hyperg_U_e10_e" $ gsl_sf_hyperg_U_e10_e a b x
101foreign import ccall "hyperg.h gsl_sf_hyperg_U_e10_e" gsl_sf_hyperg_U_e10_e :: Double -> Double -> Double -> Ptr () -> IO(Int)
102
103-- | wrapper for int gsl_sf_hyperg_2F1_e(double a,double b,double c,double x,gsl_sf_result* result);
104hyperg_2F1_e :: Double -> Double -> Double -> Double -> (Double,Double)
105hyperg_2F1_e a b c x = createSFR "hyperg_2F1_e" $ gsl_sf_hyperg_2F1_e a b c x
106foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_e" gsl_sf_hyperg_2F1_e :: Double -> Double -> Double -> Double -> Ptr Double -> IO(Int)
107
108-- | wrapper for double gsl_sf_hyperg_2F1(double a,double b,double c,double x);
109hyperg_2F1 :: Double -> Double -> Double -> Double -> Double
110hyperg_2F1 = gsl_sf_hyperg_2F1
111foreign import ccall "hyperg.h gsl_sf_hyperg_2F1" gsl_sf_hyperg_2F1 :: Double -> Double -> Double -> Double -> Double
112
113-- | wrapper for int gsl_sf_hyperg_2F1_conj_e(double aR,double aI,double c,double x,gsl_sf_result* result);
114hyperg_2F1_conj_e :: Double -> Double -> Double -> Double -> (Double,Double)
115hyperg_2F1_conj_e aR aI c x = createSFR "hyperg_2F1_conj_e" $ gsl_sf_hyperg_2F1_conj_e aR aI c x
116foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_conj_e" gsl_sf_hyperg_2F1_conj_e :: Double -> Double -> Double -> Double -> Ptr Double -> IO(Int)
117
118-- | wrapper for double gsl_sf_hyperg_2F1_conj(double aR,double aI,double c,double x);
119hyperg_2F1_conj :: Double -> Double -> Double -> Double -> Double
120hyperg_2F1_conj = gsl_sf_hyperg_2F1_conj
121foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_conj" gsl_sf_hyperg_2F1_conj :: Double -> Double -> Double -> Double -> Double
122
123-- | wrapper for int gsl_sf_hyperg_2F1_renorm_e(double a,double b,double c,double x,gsl_sf_result* result);
124hyperg_2F1_renorm_e :: Double -> Double -> Double -> Double -> (Double,Double)
125hyperg_2F1_renorm_e a b c x = createSFR "hyperg_2F1_renorm_e" $ gsl_sf_hyperg_2F1_renorm_e a b c x
126foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_renorm_e" gsl_sf_hyperg_2F1_renorm_e :: Double -> Double -> Double -> Double -> Ptr Double -> IO(Int)
127
128-- | wrapper for double gsl_sf_hyperg_2F1_renorm(double a,double b,double c,double x);
129hyperg_2F1_renorm :: Double -> Double -> Double -> Double -> Double
130hyperg_2F1_renorm = gsl_sf_hyperg_2F1_renorm
131foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_renorm" gsl_sf_hyperg_2F1_renorm :: Double -> Double -> Double -> Double -> Double
132
133-- | wrapper for int gsl_sf_hyperg_2F1_conj_renorm_e(double aR,double aI,double c,double x,gsl_sf_result* result);
134hyperg_2F1_conj_renorm_e :: Double -> Double -> Double -> Double -> (Double,Double)
135hyperg_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
136foreign 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)
137
138-- | wrapper for double gsl_sf_hyperg_2F1_conj_renorm(double aR,double aI,double c,double x);
139hyperg_2F1_conj_renorm :: Double -> Double -> Double -> Double -> Double
140hyperg_2F1_conj_renorm = gsl_sf_hyperg_2F1_conj_renorm
141foreign import ccall "hyperg.h gsl_sf_hyperg_2F1_conj_renorm" gsl_sf_hyperg_2F1_conj_renorm :: Double -> Double -> Double -> Double -> Double
142
143-- | wrapper for int gsl_sf_hyperg_2F0_e(double a,double b,double x,gsl_sf_result* result);
144hyperg_2F0_e :: Double -> Double -> Double -> (Double,Double)
145hyperg_2F0_e a b x = createSFR "hyperg_2F0_e" $ gsl_sf_hyperg_2F0_e a b x
146foreign import ccall "hyperg.h gsl_sf_hyperg_2F0_e" gsl_sf_hyperg_2F0_e :: Double -> Double -> Double -> Ptr Double -> IO(Int)
147
148-- | wrapper for double gsl_sf_hyperg_2F0(double a,double b,double x);
149hyperg_2F0 :: Double -> Double -> Double -> Double
150hyperg_2F0 = gsl_sf_hyperg_2F0
151foreign import ccall "hyperg.h gsl_sf_hyperg_2F0" gsl_sf_hyperg_2F0 :: Double -> Double -> Double -> Double
diff --git a/lib/GSL/Special/Laguerre.hs b/lib/GSL/Special/Laguerre.hs
new file mode 100644
index 0000000..6fa4343
--- /dev/null
+++ b/lib/GSL/Special/Laguerre.hs
@@ -0,0 +1,67 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Laguerre
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Laguerre(
16 laguerre_1_e
17, laguerre_2_e
18, laguerre_3_e
19, laguerre_1
20, laguerre_2
21, laguerre_3
22, laguerre_n_e
23, laguerre_n
24) where
25
26import Foreign(Ptr)
27import GSL.Special.Internal
28
29-- | wrapper for int gsl_sf_laguerre_1_e(double a,double x,gsl_sf_result* result);
30laguerre_1_e :: Double -> Double -> (Double,Double)
31laguerre_1_e a x = createSFR "laguerre_1_e" $ gsl_sf_laguerre_1_e a x
32foreign import ccall "laguerre.h gsl_sf_laguerre_1_e" gsl_sf_laguerre_1_e :: Double -> Double -> Ptr Double -> IO(Int)
33
34-- | wrapper for int gsl_sf_laguerre_2_e(double a,double x,gsl_sf_result* result);
35laguerre_2_e :: Double -> Double -> (Double,Double)
36laguerre_2_e a x = createSFR "laguerre_2_e" $ gsl_sf_laguerre_2_e a x
37foreign import ccall "laguerre.h gsl_sf_laguerre_2_e" gsl_sf_laguerre_2_e :: Double -> Double -> Ptr Double -> IO(Int)
38
39-- | wrapper for int gsl_sf_laguerre_3_e(double a,double x,gsl_sf_result* result);
40laguerre_3_e :: Double -> Double -> (Double,Double)
41laguerre_3_e a x = createSFR "laguerre_3_e" $ gsl_sf_laguerre_3_e a x
42foreign import ccall "laguerre.h gsl_sf_laguerre_3_e" gsl_sf_laguerre_3_e :: Double -> Double -> Ptr Double -> IO(Int)
43
44-- | wrapper for double gsl_sf_laguerre_1(double a,double x);
45laguerre_1 :: Double -> Double -> Double
46laguerre_1 = gsl_sf_laguerre_1
47foreign import ccall "laguerre.h gsl_sf_laguerre_1" gsl_sf_laguerre_1 :: Double -> Double -> Double
48
49-- | wrapper for double gsl_sf_laguerre_2(double a,double x);
50laguerre_2 :: Double -> Double -> Double
51laguerre_2 = gsl_sf_laguerre_2
52foreign import ccall "laguerre.h gsl_sf_laguerre_2" gsl_sf_laguerre_2 :: Double -> Double -> Double
53
54-- | wrapper for double gsl_sf_laguerre_3(double a,double x);
55laguerre_3 :: Double -> Double -> Double
56laguerre_3 = gsl_sf_laguerre_3
57foreign import ccall "laguerre.h gsl_sf_laguerre_3" gsl_sf_laguerre_3 :: Double -> Double -> Double
58
59-- | wrapper for int gsl_sf_laguerre_n_e(int n,double a,double x,gsl_sf_result* result);
60laguerre_n_e :: Int -> Double -> Double -> (Double,Double)
61laguerre_n_e n a x = createSFR "laguerre_n_e" $ gsl_sf_laguerre_n_e n a x
62foreign import ccall "laguerre.h gsl_sf_laguerre_n_e" gsl_sf_laguerre_n_e :: Int -> Double -> Double -> Ptr Double -> IO(Int)
63
64-- | wrapper for double gsl_sf_laguerre_n(int n,double a,double x);
65laguerre_n :: Int -> Double -> Double -> Double
66laguerre_n = gsl_sf_laguerre_n
67foreign import ccall "laguerre.h gsl_sf_laguerre_n" gsl_sf_laguerre_n :: Int -> Double -> Double -> Double
diff --git a/lib/GSL/Special/Lambert.hs b/lib/GSL/Special/Lambert.hs
new file mode 100644
index 0000000..ff4c75c
--- /dev/null
+++ b/lib/GSL/Special/Lambert.hs
@@ -0,0 +1,43 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Lambert
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Lambert(
16 lambert_W0_e
17, lambert_W0
18, lambert_Wm1_e
19, lambert_Wm1
20) where
21
22import Foreign(Ptr)
23import GSL.Special.Internal
24
25-- | wrapper for int gsl_sf_lambert_W0_e(double x,gsl_sf_result* result);
26lambert_W0_e :: Double -> (Double,Double)
27lambert_W0_e x = createSFR "lambert_W0_e" $ gsl_sf_lambert_W0_e x
28foreign import ccall "lambert.h gsl_sf_lambert_W0_e" gsl_sf_lambert_W0_e :: Double -> Ptr Double -> IO(Int)
29
30-- | wrapper for double gsl_sf_lambert_W0(double x);
31lambert_W0 :: Double -> Double
32lambert_W0 = gsl_sf_lambert_W0
33foreign import ccall "lambert.h gsl_sf_lambert_W0" gsl_sf_lambert_W0 :: Double -> Double
34
35-- | wrapper for int gsl_sf_lambert_Wm1_e(double x,gsl_sf_result* result);
36lambert_Wm1_e :: Double -> (Double,Double)
37lambert_Wm1_e x = createSFR "lambert_Wm1_e" $ gsl_sf_lambert_Wm1_e x
38foreign import ccall "lambert.h gsl_sf_lambert_Wm1_e" gsl_sf_lambert_Wm1_e :: Double -> Ptr Double -> IO(Int)
39
40-- | wrapper for double gsl_sf_lambert_Wm1(double x);
41lambert_Wm1 :: Double -> Double
42lambert_Wm1 = gsl_sf_lambert_Wm1
43foreign import ccall "lambert.h gsl_sf_lambert_Wm1" gsl_sf_lambert_Wm1 :: Double -> Double
diff --git a/lib/GSL/Special/Log.hs b/lib/GSL/Special/Log.hs
new file mode 100644
index 0000000..9fd51a8
--- /dev/null
+++ b/lib/GSL/Special/Log.hs
@@ -0,0 +1,72 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Log
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Log(
16 log_e
17, GSL.Special.Log.log
18, log_abs_e
19, log_abs
20, log_1plusx_e
21, log_1plusx
22, log_1plusx_mx_e
23, log_1plusx_mx
24) where
25
26import Foreign(Ptr)
27import GSL.Special.Internal
28
29-- | wrapper for int gsl_sf_log_e(double x,gsl_sf_result* result);
30log_e :: Double -> (Double,Double)
31log_e x = createSFR "log_e" $ gsl_sf_log_e x
32foreign import ccall "log.h gsl_sf_log_e" gsl_sf_log_e :: Double -> Ptr Double -> IO(Int)
33
34-- | wrapper for double gsl_sf_log(double x);
35log :: Double -> Double
36log = gsl_sf_log
37foreign import ccall "log.h gsl_sf_log" gsl_sf_log :: Double -> Double
38
39-- | wrapper for int gsl_sf_log_abs_e(double x,gsl_sf_result* result);
40log_abs_e :: Double -> (Double,Double)
41log_abs_e x = createSFR "log_abs_e" $ gsl_sf_log_abs_e x
42foreign import ccall "log.h gsl_sf_log_abs_e" gsl_sf_log_abs_e :: Double -> Ptr Double -> IO(Int)
43
44-- | wrapper for double gsl_sf_log_abs(double x);
45log_abs :: Double -> Double
46log_abs = gsl_sf_log_abs
47foreign import ccall "log.h gsl_sf_log_abs" gsl_sf_log_abs :: Double -> Double
48
49-- | wrapper for int gsl_sf_complex_log_e(double zr,double zi,gsl_sf_result* lnr,gsl_sf_result* theta);
50complex_log_e :: Double -> Double -> Ptr Double -> (Double,Double)
51complex_log_e zr zi lnr = createSFR "complex_log_e" $ gsl_sf_complex_log_e zr zi lnr
52foreign import ccall "log.h gsl_sf_complex_log_e" gsl_sf_complex_log_e :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int)
53
54-- | wrapper for int gsl_sf_log_1plusx_e(double x,gsl_sf_result* result);
55log_1plusx_e :: Double -> (Double,Double)
56log_1plusx_e x = createSFR "log_1plusx_e" $ gsl_sf_log_1plusx_e x
57foreign import ccall "log.h gsl_sf_log_1plusx_e" gsl_sf_log_1plusx_e :: Double -> Ptr Double -> IO(Int)
58
59-- | wrapper for double gsl_sf_log_1plusx(double x);
60log_1plusx :: Double -> Double
61log_1plusx = gsl_sf_log_1plusx
62foreign import ccall "log.h gsl_sf_log_1plusx" gsl_sf_log_1plusx :: Double -> Double
63
64-- | wrapper for int gsl_sf_log_1plusx_mx_e(double x,gsl_sf_result* result);
65log_1plusx_mx_e :: Double -> (Double,Double)
66log_1plusx_mx_e x = createSFR "log_1plusx_mx_e" $ gsl_sf_log_1plusx_mx_e x
67foreign import ccall "log.h gsl_sf_log_1plusx_mx_e" gsl_sf_log_1plusx_mx_e :: Double -> Ptr Double -> IO(Int)
68
69-- | wrapper for double gsl_sf_log_1plusx_mx(double x);
70log_1plusx_mx :: Double -> Double
71log_1plusx_mx = gsl_sf_log_1plusx_mx
72foreign import ccall "log.h gsl_sf_log_1plusx_mx" gsl_sf_log_1plusx_mx :: Double -> Double
diff --git a/lib/GSL/Special/Pow_int.hs b/lib/GSL/Special/Pow_int.hs
new file mode 100644
index 0000000..3585db4
--- /dev/null
+++ b/lib/GSL/Special/Pow_int.hs
@@ -0,0 +1,31 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Pow_int
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Pow_int(
16 pow_int_e
17, pow_int
18) where
19
20import Foreign(Ptr)
21import GSL.Special.Internal
22
23-- | wrapper for int gsl_sf_pow_int_e(double x,int n,gsl_sf_result* result);
24pow_int_e :: Double -> Int -> (Double,Double)
25pow_int_e x n = createSFR "pow_int_e" $ gsl_sf_pow_int_e x n
26foreign import ccall "pow_int.h gsl_sf_pow_int_e" gsl_sf_pow_int_e :: Double -> Int -> Ptr Double -> IO(Int)
27
28-- | wrapper for double gsl_sf_pow_int(double x,int n);
29pow_int :: Double -> Int -> Double
30pow_int = gsl_sf_pow_int
31foreign import ccall "pow_int.h gsl_sf_pow_int" gsl_sf_pow_int :: Double -> Int -> Double
diff --git a/lib/GSL/Special/Psi.hs b/lib/GSL/Special/Psi.hs
new file mode 100644
index 0000000..59c9495
--- /dev/null
+++ b/lib/GSL/Special/Psi.hs
@@ -0,0 +1,91 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Psi
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module 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 GSL.Special.Internal
32
33-- | wrapper for int gsl_sf_psi_int_e(int n,gsl_sf_result* result);
34psi_int_e :: Int -> (Double,Double)
35psi_int_e n = createSFR "psi_int_e" $ gsl_sf_psi_int_e n
36foreign import ccall "psi.h gsl_sf_psi_int_e" gsl_sf_psi_int_e :: Int -> Ptr Double -> IO(Int)
37
38-- | wrapper for double gsl_sf_psi_int(int n);
39psi_int :: Int -> Double
40psi_int = gsl_sf_psi_int
41foreign import ccall "psi.h gsl_sf_psi_int" gsl_sf_psi_int :: Int -> Double
42
43-- | wrapper for int gsl_sf_psi_e(double x,gsl_sf_result* result);
44psi_e :: Double -> (Double,Double)
45psi_e x = createSFR "psi_e" $ gsl_sf_psi_e x
46foreign import ccall "psi.h gsl_sf_psi_e" gsl_sf_psi_e :: Double -> Ptr Double -> IO(Int)
47
48-- | wrapper for double gsl_sf_psi(double x);
49psi :: Double -> Double
50psi = gsl_sf_psi
51foreign import ccall "psi.h gsl_sf_psi" gsl_sf_psi :: Double -> Double
52
53-- | wrapper for int gsl_sf_psi_1piy_e(double y,gsl_sf_result* result);
54psi_1piy_e :: Double -> (Double,Double)
55psi_1piy_e y = createSFR "psi_1piy_e" $ gsl_sf_psi_1piy_e y
56foreign import ccall "psi.h gsl_sf_psi_1piy_e" gsl_sf_psi_1piy_e :: Double -> Ptr Double -> IO(Int)
57
58-- | wrapper for double gsl_sf_psi_1piy(double y);
59psi_1piy :: Double -> Double
60psi_1piy = gsl_sf_psi_1piy
61foreign import ccall "psi.h gsl_sf_psi_1piy" gsl_sf_psi_1piy :: Double -> Double
62
63-- | wrapper for int gsl_sf_psi_1_int_e(int n,gsl_sf_result* result);
64psi_1_int_e :: Int -> (Double,Double)
65psi_1_int_e n = createSFR "psi_1_int_e" $ gsl_sf_psi_1_int_e n
66foreign import ccall "psi.h gsl_sf_psi_1_int_e" gsl_sf_psi_1_int_e :: Int -> Ptr Double -> IO(Int)
67
68-- | wrapper for double gsl_sf_psi_1_int(int n);
69psi_1_int :: Int -> Double
70psi_1_int = gsl_sf_psi_1_int
71foreign import ccall "psi.h gsl_sf_psi_1_int" gsl_sf_psi_1_int :: Int -> Double
72
73-- | wrapper for int gsl_sf_psi_1_e(double x,gsl_sf_result* result);
74psi_1_e :: Double -> (Double,Double)
75psi_1_e x = createSFR "psi_1_e" $ gsl_sf_psi_1_e x
76foreign import ccall "psi.h gsl_sf_psi_1_e" gsl_sf_psi_1_e :: Double -> Ptr Double -> IO(Int)
77
78-- | wrapper for double gsl_sf_psi_1(double x);
79psi_1 :: Double -> Double
80psi_1 = gsl_sf_psi_1
81foreign import ccall "psi.h gsl_sf_psi_1" gsl_sf_psi_1 :: Double -> Double
82
83-- | wrapper for int gsl_sf_psi_n_e(int n,double x,gsl_sf_result* result);
84psi_n_e :: Int -> Double -> (Double,Double)
85psi_n_e n x = createSFR "psi_n_e" $ gsl_sf_psi_n_e n x
86foreign import ccall "psi.h gsl_sf_psi_n_e" gsl_sf_psi_n_e :: Int -> Double -> Ptr Double -> IO(Int)
87
88-- | wrapper for double gsl_sf_psi_n(int n,double x);
89psi_n :: Int -> Double -> Double
90psi_n = gsl_sf_psi_n
91foreign import ccall "psi.h gsl_sf_psi_n" gsl_sf_psi_n :: Int -> Double -> Double
diff --git a/lib/GSL/Special/Synchrotron.hs b/lib/GSL/Special/Synchrotron.hs
new file mode 100644
index 0000000..da49c34
--- /dev/null
+++ b/lib/GSL/Special/Synchrotron.hs
@@ -0,0 +1,43 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Synchrotron
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Synchrotron(
16 synchrotron_1_e
17, synchrotron_1
18, synchrotron_2_e
19, synchrotron_2
20) where
21
22import Foreign(Ptr)
23import GSL.Special.Internal
24
25-- | wrapper for int gsl_sf_synchrotron_1_e(double x,gsl_sf_result* result);
26synchrotron_1_e :: Double -> (Double,Double)
27synchrotron_1_e x = createSFR "synchrotron_1_e" $ gsl_sf_synchrotron_1_e x
28foreign import ccall "synchrotron.h gsl_sf_synchrotron_1_e" gsl_sf_synchrotron_1_e :: Double -> Ptr Double -> IO(Int)
29
30-- | wrapper for double gsl_sf_synchrotron_1(double x);
31synchrotron_1 :: Double -> Double
32synchrotron_1 = gsl_sf_synchrotron_1
33foreign import ccall "synchrotron.h gsl_sf_synchrotron_1" gsl_sf_synchrotron_1 :: Double -> Double
34
35-- | wrapper for int gsl_sf_synchrotron_2_e(double x,gsl_sf_result* result);
36synchrotron_2_e :: Double -> (Double,Double)
37synchrotron_2_e x = createSFR "synchrotron_2_e" $ gsl_sf_synchrotron_2_e x
38foreign import ccall "synchrotron.h gsl_sf_synchrotron_2_e" gsl_sf_synchrotron_2_e :: Double -> Ptr Double -> IO(Int)
39
40-- | wrapper for double gsl_sf_synchrotron_2(double x);
41synchrotron_2 :: Double -> Double
42synchrotron_2 = gsl_sf_synchrotron_2
43foreign import ccall "synchrotron.h gsl_sf_synchrotron_2" gsl_sf_synchrotron_2 :: Double -> Double
diff --git a/lib/GSL/Special/Trig.hs b/lib/GSL/Special/Trig.hs
new file mode 100644
index 0000000..56d3933
--- /dev/null
+++ b/lib/GSL/Special/Trig.hs
@@ -0,0 +1,162 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Trig
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Trig(
16 sin_e
17, GSL.Special.Trig.sin
18, cos_e
19, GSL.Special.Trig.cos
20, hypot_e
21, hypot
22, sinc_e
23, sinc
24, lnsinh_e
25, lnsinh
26, lncosh_e
27, lncosh
28, sin_err_e
29, cos_err_e
30, angle_restrict_symm
31, angle_restrict_pos
32, angle_restrict_symm_err_e
33, angle_restrict_pos_err_e
34) where
35
36import Foreign(Ptr)
37import GSL.Special.Internal
38
39-- | wrapper for int gsl_sf_sin_e(double x,gsl_sf_result* result);
40sin_e :: Double -> (Double,Double)
41sin_e x = createSFR "sin_e" $ gsl_sf_sin_e x
42foreign import ccall "trig.h gsl_sf_sin_e" gsl_sf_sin_e :: Double -> Ptr Double -> IO(Int)
43
44-- | wrapper for double gsl_sf_sin(double x);
45sin :: Double -> Double
46sin = gsl_sf_sin
47foreign import ccall "trig.h gsl_sf_sin" gsl_sf_sin :: Double -> Double
48
49-- | wrapper for int gsl_sf_cos_e(double x,gsl_sf_result* result);
50cos_e :: Double -> (Double,Double)
51cos_e x = createSFR "cos_e" $ gsl_sf_cos_e x
52foreign import ccall "trig.h gsl_sf_cos_e" gsl_sf_cos_e :: Double -> Ptr Double -> IO(Int)
53
54-- | wrapper for double gsl_sf_cos(double x);
55cos :: Double -> Double
56cos = gsl_sf_cos
57foreign import ccall "trig.h gsl_sf_cos" gsl_sf_cos :: Double -> Double
58
59-- | wrapper for int gsl_sf_hypot_e(double x,double y,gsl_sf_result* result);
60hypot_e :: Double -> Double -> (Double,Double)
61hypot_e x y = createSFR "hypot_e" $ gsl_sf_hypot_e x y
62foreign import ccall "trig.h gsl_sf_hypot_e" gsl_sf_hypot_e :: Double -> Double -> Ptr Double -> IO(Int)
63
64-- | wrapper for double gsl_sf_hypot(double x,double y);
65hypot :: Double -> Double -> Double
66hypot = gsl_sf_hypot
67foreign import ccall "trig.h gsl_sf_hypot" gsl_sf_hypot :: Double -> Double -> Double
68
69-- | wrapper for int gsl_sf_complex_sin_e(double zr,double zi,gsl_sf_result* szr,gsl_sf_result* szi);
70complex_sin_e :: Double -> Double -> Ptr Double -> (Double,Double)
71complex_sin_e zr zi szr = createSFR "complex_sin_e" $ gsl_sf_complex_sin_e zr zi szr
72foreign import ccall "trig.h gsl_sf_complex_sin_e" gsl_sf_complex_sin_e :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int)
73
74-- | wrapper for int gsl_sf_complex_cos_e(double zr,double zi,gsl_sf_result* czr,gsl_sf_result* czi);
75complex_cos_e :: Double -> Double -> Ptr Double -> (Double,Double)
76complex_cos_e zr zi czr = createSFR "complex_cos_e" $ gsl_sf_complex_cos_e zr zi czr
77foreign import ccall "trig.h gsl_sf_complex_cos_e" gsl_sf_complex_cos_e :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int)
78
79-- | wrapper for int gsl_sf_complex_logsin_e(double zr,double zi,gsl_sf_result* lszr,gsl_sf_result* lszi);
80complex_logsin_e :: Double -> Double -> Ptr Double -> (Double,Double)
81complex_logsin_e zr zi lszr = createSFR "complex_logsin_e" $ gsl_sf_complex_logsin_e zr zi lszr
82foreign import ccall "trig.h gsl_sf_complex_logsin_e" gsl_sf_complex_logsin_e :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int)
83
84-- | wrapper for int gsl_sf_sinc_e(double x,gsl_sf_result* result);
85sinc_e :: Double -> (Double,Double)
86sinc_e x = createSFR "sinc_e" $ gsl_sf_sinc_e x
87foreign import ccall "trig.h gsl_sf_sinc_e" gsl_sf_sinc_e :: Double -> Ptr Double -> IO(Int)
88
89-- | wrapper for double gsl_sf_sinc(double x);
90sinc :: Double -> Double
91sinc = gsl_sf_sinc
92foreign import ccall "trig.h gsl_sf_sinc" gsl_sf_sinc :: Double -> Double
93
94-- | wrapper for int gsl_sf_lnsinh_e(double x,gsl_sf_result* result);
95lnsinh_e :: Double -> (Double,Double)
96lnsinh_e x = createSFR "lnsinh_e" $ gsl_sf_lnsinh_e x
97foreign import ccall "trig.h gsl_sf_lnsinh_e" gsl_sf_lnsinh_e :: Double -> Ptr Double -> IO(Int)
98
99-- | wrapper for double gsl_sf_lnsinh(double x);
100lnsinh :: Double -> Double
101lnsinh = gsl_sf_lnsinh
102foreign import ccall "trig.h gsl_sf_lnsinh" gsl_sf_lnsinh :: Double -> Double
103
104-- | wrapper for int gsl_sf_lncosh_e(double x,gsl_sf_result* result);
105lncosh_e :: Double -> (Double,Double)
106lncosh_e x = createSFR "lncosh_e" $ gsl_sf_lncosh_e x
107foreign import ccall "trig.h gsl_sf_lncosh_e" gsl_sf_lncosh_e :: Double -> Ptr Double -> IO(Int)
108
109-- | wrapper for double gsl_sf_lncosh(double x);
110lncosh :: Double -> Double
111lncosh = gsl_sf_lncosh
112foreign import ccall "trig.h gsl_sf_lncosh" gsl_sf_lncosh :: Double -> Double
113
114-- | wrapper for int gsl_sf_polar_to_rect(double r,double theta,gsl_sf_result* x,gsl_sf_result* y);
115polar_to_rect :: Double -> Double -> Ptr Double -> (Double,Double)
116polar_to_rect r theta x = createSFR "polar_to_rect" $ gsl_sf_polar_to_rect r theta x
117foreign import ccall "trig.h gsl_sf_polar_to_rect" gsl_sf_polar_to_rect :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int)
118
119-- | wrapper for int gsl_sf_rect_to_polar(double x,double y,gsl_sf_result* r,gsl_sf_result* theta);
120rect_to_polar :: Double -> Double -> Ptr Double -> (Double,Double)
121rect_to_polar x y r = createSFR "rect_to_polar" $ gsl_sf_rect_to_polar x y r
122foreign import ccall "trig.h gsl_sf_rect_to_polar" gsl_sf_rect_to_polar :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int)
123
124-- | wrapper for int gsl_sf_sin_err_e(double x,double dx,gsl_sf_result* result);
125sin_err_e :: Double -> Double -> (Double,Double)
126sin_err_e x dx = createSFR "sin_err_e" $ gsl_sf_sin_err_e x dx
127foreign import ccall "trig.h gsl_sf_sin_err_e" gsl_sf_sin_err_e :: Double -> Double -> Ptr Double -> IO(Int)
128
129-- | wrapper for int gsl_sf_cos_err_e(double x,double dx,gsl_sf_result* result);
130cos_err_e :: Double -> Double -> (Double,Double)
131cos_err_e x dx = createSFR "cos_err_e" $ gsl_sf_cos_err_e x dx
132foreign import ccall "trig.h gsl_sf_cos_err_e" gsl_sf_cos_err_e :: Double -> Double -> Ptr Double -> IO(Int)
133
134-- | wrapper for int gsl_sf_angle_restrict_symm_e(double* theta);
135angle_restrict_symm_e :: Ptr Double -> Int
136angle_restrict_symm_e = gsl_sf_angle_restrict_symm_e
137foreign import ccall "trig.h gsl_sf_angle_restrict_symm_e" gsl_sf_angle_restrict_symm_e :: Ptr Double -> Int
138
139-- | wrapper for double gsl_sf_angle_restrict_symm(double theta);
140angle_restrict_symm :: Double -> Double
141angle_restrict_symm = gsl_sf_angle_restrict_symm
142foreign import ccall "trig.h gsl_sf_angle_restrict_symm" gsl_sf_angle_restrict_symm :: Double -> Double
143
144-- | wrapper for int gsl_sf_angle_restrict_pos_e(double* theta);
145angle_restrict_pos_e :: Ptr Double -> Int
146angle_restrict_pos_e = gsl_sf_angle_restrict_pos_e
147foreign import ccall "trig.h gsl_sf_angle_restrict_pos_e" gsl_sf_angle_restrict_pos_e :: Ptr Double -> Int
148
149-- | wrapper for double gsl_sf_angle_restrict_pos(double theta);
150angle_restrict_pos :: Double -> Double
151angle_restrict_pos = gsl_sf_angle_restrict_pos
152foreign import ccall "trig.h gsl_sf_angle_restrict_pos" gsl_sf_angle_restrict_pos :: Double -> Double
153
154-- | wrapper for int gsl_sf_angle_restrict_symm_err_e(double theta,gsl_sf_result* result);
155angle_restrict_symm_err_e :: Double -> (Double,Double)
156angle_restrict_symm_err_e theta = createSFR "angle_restrict_symm_err_e" $ gsl_sf_angle_restrict_symm_err_e theta
157foreign import ccall "trig.h gsl_sf_angle_restrict_symm_err_e" gsl_sf_angle_restrict_symm_err_e :: Double -> Ptr Double -> IO(Int)
158
159-- | wrapper for int gsl_sf_angle_restrict_pos_err_e(double theta,gsl_sf_result* result);
160angle_restrict_pos_err_e :: Double -> (Double,Double)
161angle_restrict_pos_err_e theta = createSFR "angle_restrict_pos_err_e" $ gsl_sf_angle_restrict_pos_err_e theta
162foreign import ccall "trig.h gsl_sf_angle_restrict_pos_err_e" gsl_sf_angle_restrict_pos_err_e :: Double -> Ptr Double -> IO(Int)
diff --git a/lib/GSL/Special/Zeta.hs b/lib/GSL/Special/Zeta.hs
new file mode 100644
index 0000000..ae514c0
--- /dev/null
+++ b/lib/GSL/Special/Zeta.hs
@@ -0,0 +1,103 @@
1------------------------------------------------------------
2{- |
3Module : GSL.Special.Zeta
4Copyright : (c) Alberto Ruiz 2006
5License : GPL-style
6Maintainer : Alberto Ruiz (aruiz at um dot es)
7Stability : provisional
8Portability : uses ffi
9
10
11
12-}
13------------------------------------------------------------
14
15module GSL.Special.Zeta(
16 zeta_int_e
17, zeta_int
18, zeta_e
19, zeta
20, zetam1_e
21, zetam1
22, zetam1_int_e
23, zetam1_int
24, hzeta_e
25, hzeta
26, eta_int_e
27, eta_int
28, eta_e
29, eta
30) where
31
32import Foreign(Ptr)
33import GSL.Special.Internal
34
35-- | wrapper for int gsl_sf_zeta_int_e(int n,gsl_sf_result* result);
36zeta_int_e :: Int -> (Double,Double)
37zeta_int_e n = createSFR "zeta_int_e" $ gsl_sf_zeta_int_e n
38foreign import ccall "zeta.h gsl_sf_zeta_int_e" gsl_sf_zeta_int_e :: Int -> Ptr Double -> IO(Int)
39
40-- | wrapper for double gsl_sf_zeta_int(int n);
41zeta_int :: Int -> Double
42zeta_int = gsl_sf_zeta_int
43foreign import ccall "zeta.h gsl_sf_zeta_int" gsl_sf_zeta_int :: Int -> Double
44
45-- | wrapper for int gsl_sf_zeta_e(double s,gsl_sf_result* result);
46zeta_e :: Double -> (Double,Double)
47zeta_e s = createSFR "zeta_e" $ gsl_sf_zeta_e s
48foreign import ccall "zeta.h gsl_sf_zeta_e" gsl_sf_zeta_e :: Double -> Ptr Double -> IO(Int)
49
50-- | wrapper for double gsl_sf_zeta(double s);
51zeta :: Double -> Double
52zeta = gsl_sf_zeta
53foreign import ccall "zeta.h gsl_sf_zeta" gsl_sf_zeta :: Double -> Double
54
55-- | wrapper for int gsl_sf_zetam1_e(double s,gsl_sf_result* result);
56zetam1_e :: Double -> (Double,Double)
57zetam1_e s = createSFR "zetam1_e" $ gsl_sf_zetam1_e s
58foreign import ccall "zeta.h gsl_sf_zetam1_e" gsl_sf_zetam1_e :: Double -> Ptr Double -> IO(Int)
59
60-- | wrapper for double gsl_sf_zetam1(double s);
61zetam1 :: Double -> Double
62zetam1 = gsl_sf_zetam1
63foreign import ccall "zeta.h gsl_sf_zetam1" gsl_sf_zetam1 :: Double -> Double
64
65-- | wrapper for int gsl_sf_zetam1_int_e(int s,gsl_sf_result* result);
66zetam1_int_e :: Int -> (Double,Double)
67zetam1_int_e s = createSFR "zetam1_int_e" $ gsl_sf_zetam1_int_e s
68foreign import ccall "zeta.h gsl_sf_zetam1_int_e" gsl_sf_zetam1_int_e :: Int -> Ptr Double -> IO(Int)
69
70-- | wrapper for double gsl_sf_zetam1_int(int s);
71zetam1_int :: Int -> Double
72zetam1_int = gsl_sf_zetam1_int
73foreign import ccall "zeta.h gsl_sf_zetam1_int" gsl_sf_zetam1_int :: Int -> Double
74
75-- | wrapper for int gsl_sf_hzeta_e(double s,double q,gsl_sf_result* result);
76hzeta_e :: Double -> Double -> (Double,Double)
77hzeta_e s q = createSFR "hzeta_e" $ gsl_sf_hzeta_e s q
78foreign import ccall "zeta.h gsl_sf_hzeta_e" gsl_sf_hzeta_e :: Double -> Double -> Ptr Double -> IO(Int)
79
80-- | wrapper for double gsl_sf_hzeta(double s,double q);
81hzeta :: Double -> Double -> Double
82hzeta = gsl_sf_hzeta
83foreign import ccall "zeta.h gsl_sf_hzeta" gsl_sf_hzeta :: Double -> Double -> Double
84
85-- | wrapper for int gsl_sf_eta_int_e(int n,gsl_sf_result* result);
86eta_int_e :: Int -> (Double,Double)
87eta_int_e n = createSFR "eta_int_e" $ gsl_sf_eta_int_e n
88foreign import ccall "zeta.h gsl_sf_eta_int_e" gsl_sf_eta_int_e :: Int -> Ptr Double -> IO(Int)
89
90-- | wrapper for double gsl_sf_eta_int(int n);
91eta_int :: Int -> Double
92eta_int = gsl_sf_eta_int
93foreign import ccall "zeta.h gsl_sf_eta_int" gsl_sf_eta_int :: Int -> Double
94
95-- | wrapper for int gsl_sf_eta_e(double s,gsl_sf_result* result);
96eta_e :: Double -> (Double,Double)
97eta_e s = createSFR "eta_e" $ gsl_sf_eta_e s
98foreign import ccall "zeta.h gsl_sf_eta_e" gsl_sf_eta_e :: Double -> Ptr Double -> IO(Int)
99
100-- | wrapper for double gsl_sf_eta(double s);
101eta :: Double -> Double
102eta = gsl_sf_eta
103foreign import ccall "zeta.h gsl_sf_eta" gsl_sf_eta :: Double -> Double
diff --git a/lib/GSL/Special/auto.hs b/lib/GSL/Special/auto.hs
index 42829bb..a6a0f9a 100644
--- a/lib/GSL/Special/auto.hs
+++ b/lib/GSL/Special/auto.hs
@@ -3,7 +3,7 @@
3import Text.ParserCombinators.Parsec 3import Text.ParserCombinators.Parsec
4import System 4import System
5import Data.List(intersperse, isPrefixOf) 5import Data.List(intersperse, isPrefixOf)
6import Data.Char(toUpper) 6import Data.Char(toUpper,isUpper,toLower)
7 7
8data Type = Normal Ident | Pointer Ident deriving (Eq, Show) 8data Type = Normal Ident | Pointer Ident deriving (Eq, Show)
9 9
@@ -53,7 +53,7 @@ main = do
53 --mapM (\(Header _ n _) -> putStrLn (drop 7 n ++",")) parsed 53 --mapM (\(Header _ n _) -> putStrLn (drop 7 n ++",")) parsed
54 --putStrLn "" 54 --putStrLn ""
55 --mapM_ (putStrLn.showFull (name ++".h")) parsed 55 --mapM_ (putStrLn.showFull (name ++".h")) parsed
56 let exports = rep (")",") where") $ rep ("(\n","(\n ") $ rep (",\n",", ") $ unlines $ ["("]++intersperse "," (map (\(Header _ n _) -> drop 7 n) (filter safe parsed))++[")"] 56 let exports = rep (")",") where") $ rep ("(\n","(\n ") $ rep (",\n",", ") $ unlines $ ["("]++intersperse "," (map (\(Header _ n _) -> hName n) (filter safe parsed))++[")"]
57 let defs = unlines $ map (showFull (name ++".h")) parsed 57 let defs = unlines $ map (showFull (name ++".h")) parsed
58 let imports = "\nimport Foreign(Ptr)\nimport GSL.Special.Internal\n" 58 let imports = "\nimport Foreign(Ptr)\nimport GSL.Special.Internal\n"
59 let mod = modhead name ++ "module GSL.Special."++ upperFirst name++exports++imports++defs 59 let mod = modhead name ++ "module GSL.Special."++ upperFirst name++exports++imports++defs
@@ -189,22 +189,31 @@ boiler h@(Header t n args) | fst (last args) == Pointer "gsl_sf_result" = boiler
189isMode (Normal "gsl_mode_t",_) = True 189isMode (Normal "gsl_mode_t",_) = True
190isMode _ = False 190isMode _ = False
191 191
192hName n = f $ drop 7 n
193 where f (s:ss) = toLower s : ss
194
192 195
193boilerResult h@(Header t n args) = 196boilerResult h@(Header t n args) =
194 drop 7 n++" :: "++ (fixmd1 $ concat $ intersperse" -> "$ map showHa (init args)) ++" -> " ++ "(Double,Double)\n" ++ 197 hName n++" :: "++ (fixmd1 $ concat $ intersperse" -> "$ map showHa (init args)) ++" -> " ++ "(Double,Double)\n" ++
195 drop 7 n ++ " "++(unwords (map snd (init args)))++ 198 hName n ++ " "++ initArgs args ++
196 " = createSFR \""++ drop 7 n ++"\" $ " ++ n ++ " "++(fixmd2 $ unwords (map snd (init args))) 199 " = createSFR \""++ hName n ++"\" $ " ++ n ++ " "++ (fixmd2 $ initArgs args)
197 200
198boilerResultE10 h@(Header t n args) = 201boilerResultE10 h@(Header t n args) =
199 drop 7 n++" :: "++ (fixmd1 $ concat $ intersperse" -> "$ map showHa (init args)) ++" -> " ++ "(Double,Int,Double)\n" ++ 202 hName n++" :: "++ (fixmd1 $ concat $ intersperse" -> "$ map showHa (init args)) ++" -> " ++ "(Double,Int,Double)\n" ++
200 drop 7 n ++ " "++(unwords (map snd (init args)))++ 203 hName n ++ " "++ initArgs args ++
201 " = createSFR_E10 \""++ drop 7 n ++"\" $ " ++ n ++ " "++(fixmd2 $ unwords (map snd (init args))) 204 " = createSFR_E10 \""++ hName n ++"\" $ " ++ n ++ " "++ (fixmd2 $ initArgs args)
202 205
203boilerBasic h@(Header t n args) = 206boilerBasic h@(Header t n args) =
204 drop 7 n++" :: "++ (fixmd1 $ concat $ intersperse" -> "$map showHa args) ++" -> " ++showHt t ++ "\n" ++ 207 hName n++" :: "++ (fixmd1 $ concat $ intersperse" -> "$map showHa args) ++" -> " ++showHt t ++ "\n" ++
205 drop 7 n ++ " = " ++fixmd2 n 208 hName n ++ " = " ++fixmd2 n
206 209
207boilerMode h@(Header t n args) = 210boilerMode h@(Header t n args) =
208 drop 7 n++" :: "++ (fixmd1 $ concat $ intersperse" -> "$ map showHa args) ++" -> " ++ showHt t++"\n" ++ 211 hName n++" :: "++ (fixmd1 $ concat $ intersperse" -> "$ map showHa args) ++" -> " ++ showHt t++"\n" ++
209 drop 7 n ++ " "++(unwords (map snd args))++ 212 hName n ++ " "++ allArgs args ++
210 " = " ++ n ++ " "++(fixmd2 $ unwords (map snd args)) 213 " = " ++ n ++ " "++ (fixmd2 $ allArgs args)
214
215cVar (v:vs) | isUpper v = toLower v : v : vs
216 | otherwise = v:vs
217
218allArgs args = unwords (map (cVar.snd) args)
219initArgs args = unwords (map (cVar.snd) (init args)) \ No newline at end of file
diff --git a/lib/GSL/Special/clausen.h b/lib/GSL/Special/clausen.h
new file mode 100644
index 0000000..9f0225b
--- /dev/null
+++ b/lib/GSL/Special/clausen.h
@@ -0,0 +1,2 @@
1int gsl_sf_clausen_e(double x,double* result);
2double gsl_sf_clausen(double x);
diff --git a/lib/GSL/Special/coulomb.h b/lib/GSL/Special/coulomb.h
new file mode 100644
index 0000000..2551081
--- /dev/null
+++ b/lib/GSL/Special/coulomb.h
@@ -0,0 +1,11 @@
1int gsl_sf_hydrogenicR_1_e(double Z,double r,double* result);
2double gsl_sf_hydrogenicR_1(double Z,double r);
3int gsl_sf_hydrogenicR_e(int n,int l,double Z,double r,double* result);
4double gsl_sf_hydrogenicR(int n,int l,double Z,double r);
5int gsl_sf_coulomb_wave_FG_e(double eta,double x,double lam_F,int k_lam_G,double* F,double* Fp,double* G,double* Gp,double* exp_F,double* exp_G);
6int gsl_sf_coulomb_wave_F_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* F_exponent);
7int gsl_sf_coulomb_wave_FG_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* gc_array,double* F_exponent,double* G_exponent);
8int gsl_sf_coulomb_wave_FGp_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* fcp_array,double* gc_array,double* gcp_array,double* F_exponent,double* G_exponent);
9int gsl_sf_coulomb_wave_sphF_array(double lam_min,int kmax,double eta,double x,double* fc_array,double* F_exponent);
10int gsl_sf_coulomb_CL_e(double L,double eta,double* result);
11int gsl_sf_coulomb_CL_array(double Lmin,int kmax,double eta,double* cl);
diff --git a/lib/GSL/Special/coupling.h b/lib/GSL/Special/coupling.h
new file mode 100644
index 0000000..17de964
--- /dev/null
+++ b/lib/GSL/Special/coupling.h
@@ -0,0 +1,10 @@
1int gsl_sf_coupling_3j_e(int two_ja,int two_jb,int two_jc,int two_ma,int two_mb,int two_mc,double* result);
2double gsl_sf_coupling_3j(int two_ja,int two_jb,int two_jc,int two_ma,int two_mb,int two_mc);
3int gsl_sf_coupling_6j_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,double* result);
4double gsl_sf_coupling_6j(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);
5int gsl_sf_coupling_RacahW_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,double* result);
6double gsl_sf_coupling_RacahW(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);
7int gsl_sf_coupling_9j_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,int two_jg,int two_jh,int two_ji,double* result);
8double gsl_sf_coupling_9j(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,int two_jg,int two_jh,int two_ji);
9int gsl_sf_coupling_6j_INCORRECT_e(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf,double* result);
10double gsl_sf_coupling_6j_INCORRECT(int two_ja,int two_jb,int two_jc,int two_jd,int two_je,int two_jf);
diff --git a/lib/GSL/Special/dawson.h b/lib/GSL/Special/dawson.h
new file mode 100644
index 0000000..5f878b5
--- /dev/null
+++ b/lib/GSL/Special/dawson.h
@@ -0,0 +1,2 @@
1int gsl_sf_dawson_e(double x,double* result);
2double gsl_sf_dawson(double x);
diff --git a/lib/GSL/Special/debye.h b/lib/GSL/Special/debye.h
new file mode 100644
index 0000000..2424b63
--- /dev/null
+++ b/lib/GSL/Special/debye.h
@@ -0,0 +1,8 @@
1int gsl_sf_debye_1_e(double x,double* result);
2double gsl_sf_debye_1(double x);
3int gsl_sf_debye_2_e(double x,double* result);
4double gsl_sf_debye_2(double x);
5int gsl_sf_debye_3_e(double x,double* result);
6double gsl_sf_debye_3(double x);
7int gsl_sf_debye_4_e(double x,double* result);
8double gsl_sf_debye_4(double x);
diff --git a/lib/GSL/Special/dilog.h b/lib/GSL/Special/dilog.h
new file mode 100644
index 0000000..ce1599e
--- /dev/null
+++ b/lib/GSL/Special/dilog.h
@@ -0,0 +1,5 @@
1int gsl_sf_dilog_e(double x,double* result);
2double gsl_sf_dilog(double x);
3int gsl_sf_complex_dilog_xy_e(double x,double y,double* result_re,double* result_im);
4int gsl_sf_complex_dilog_e(double r,double theta,double* result_re,double* result_im);
5int gsl_sf_complex_spence_xy_e(double x,double y,double* real_sp,double* imag_sp);
diff --git a/lib/GSL/Special/elementary.h b/lib/GSL/Special/elementary.h
new file mode 100644
index 0000000..bf5adf8
--- /dev/null
+++ b/lib/GSL/Special/elementary.h
@@ -0,0 +1,3 @@
1int gsl_sf_multiply_e(double x,double y,double* result);
2double gsl_sf_multiply(double x,double y);
3int gsl_sf_multiply_err_e(double x,double dx,double y,double dy,double* result);
diff --git a/lib/GSL/Special/ellint.h b/lib/GSL/Special/ellint.h
new file mode 100644
index 0000000..5329c6c
--- /dev/null
+++ b/lib/GSL/Special/ellint.h
@@ -0,0 +1,20 @@
1int gsl_sf_ellint_Kcomp_e(double k,int mode,double* result);
2double gsl_sf_ellint_Kcomp(double k,int mode);
3int gsl_sf_ellint_Ecomp_e(double k,int mode,double* result);
4double gsl_sf_ellint_Ecomp(double k,int mode);
5int gsl_sf_ellint_F_e(double phi,double k,int mode,double* result);
6double gsl_sf_ellint_F(double phi,double k,int mode);
7int gsl_sf_ellint_E_e(double phi,double k,int mode,double* result);
8double gsl_sf_ellint_E(double phi,double k,int mode);
9int gsl_sf_ellint_P_e(double phi,double k,double n,int mode,double* result);
10double gsl_sf_ellint_P(double phi,double k,double n,int mode);
11int gsl_sf_ellint_D_e(double phi,double k,double n,int mode,double* result);
12double gsl_sf_ellint_D(double phi,double k,double n,int mode);
13int gsl_sf_ellint_RC_e(double x,double y,int mode,double* result);
14double gsl_sf_ellint_RC(double x,double y,int mode);
15int gsl_sf_ellint_RD_e(double x,double y,double z,int mode,double* result);
16double gsl_sf_ellint_RD(double x,double y,double z,int mode);
17int gsl_sf_ellint_RF_e(double x,double y,double z,int mode,double* result);
18double gsl_sf_ellint_RF(double x,double y,double z,int mode);
19int gsl_sf_ellint_RJ_e(double x,double y,double z,double p,int mode,double* result);
20double gsl_sf_ellint_RJ(double x,double y,double z,double p,int mode);
diff --git a/lib/GSL/Special/expint.h b/lib/GSL/Special/expint.h
new file mode 100644
index 0000000..1dd469f
--- /dev/null
+++ b/lib/GSL/Special/expint.h
@@ -0,0 +1,24 @@
1int gsl_sf_expint_E1_e(double x,double* result);
2double gsl_sf_expint_E1(double x);
3int gsl_sf_expint_E2_e(double x,double* result);
4double gsl_sf_expint_E2(double x);
5int gsl_sf_expint_E1_scaled_e(double x,double* result);
6double gsl_sf_expint_E1_scaled(double x);
7int gsl_sf_expint_E2_scaled_e(double x,double* result);
8double gsl_sf_expint_E2_scaled(double x);
9int gsl_sf_expint_Ei_e(double x,double* result);
10double gsl_sf_expint_Ei(double x);
11int gsl_sf_expint_Ei_scaled_e(double x,double* result);
12double gsl_sf_expint_Ei_scaled(double x);
13int gsl_sf_Shi_e(double x,double* result);
14double gsl_sf_Shi(double x);
15int gsl_sf_Chi_e(double x,double* result);
16double gsl_sf_Chi(double x);
17int gsl_sf_expint_3_e(double x,double* result);
18double gsl_sf_expint_3(double x);
19int gsl_sf_Si_e(double x,double* result);
20double gsl_sf_Si(double x);
21int gsl_sf_Ci_e(double x,double* result);
22double gsl_sf_Ci(double x);
23int gsl_sf_atanint_e(double x,double* result);
24double gsl_sf_atanint(double x);
diff --git a/lib/GSL/Special/fermi_dirac.h b/lib/GSL/Special/fermi_dirac.h
new file mode 100644
index 0000000..7a4c757
--- /dev/null
+++ b/lib/GSL/Special/fermi_dirac.h
@@ -0,0 +1,18 @@
1int gsl_sf_fermi_dirac_m1_e(double x,double* result);
2double gsl_sf_fermi_dirac_m1(double x);
3int gsl_sf_fermi_dirac_0_e(double x,double* result);
4double gsl_sf_fermi_dirac_0(double x);
5int gsl_sf_fermi_dirac_1_e(double x,double* result);
6double gsl_sf_fermi_dirac_1(double x);
7int gsl_sf_fermi_dirac_2_e(double x,double* result);
8double gsl_sf_fermi_dirac_2(double x);
9int gsl_sf_fermi_dirac_int_e(int j,double x,double* result);
10double gsl_sf_fermi_dirac_int(int j,double x);
11int gsl_sf_fermi_dirac_mhalf_e(double x,double* result);
12double gsl_sf_fermi_dirac_mhalf(double x);
13int gsl_sf_fermi_dirac_half_e(double x,double* result);
14double gsl_sf_fermi_dirac_half(double x);
15int gsl_sf_fermi_dirac_3half_e(double x,double* result);
16double gsl_sf_fermi_dirac_3half(double x);
17int gsl_sf_fermi_dirac_inc_0_e(double x,double b,double* result);
18double gsl_sf_fermi_dirac_inc_0(double x,double b);
diff --git a/lib/GSL/Special/gegenbauer.h b/lib/GSL/Special/gegenbauer.h
new file mode 100644
index 0000000..228cbd3
--- /dev/null
+++ b/lib/GSL/Special/gegenbauer.h
@@ -0,0 +1,9 @@
1int gsl_sf_gegenpoly_1_e(double lambda,double x,double* result);
2int gsl_sf_gegenpoly_2_e(double lambda,double x,double* result);
3int gsl_sf_gegenpoly_3_e(double lambda,double x,double* result);
4double gsl_sf_gegenpoly_1(double lambda,double x);
5double gsl_sf_gegenpoly_2(double lambda,double x);
6double gsl_sf_gegenpoly_3(double lambda,double x);
7int gsl_sf_gegenpoly_n_e(int n,double lambda,double x,double* result);
8double gsl_sf_gegenpoly_n(int n,double lambda,double x);
9int gsl_sf_gegenpoly_array(int nmax,double lambda,double x,double* result_array);
diff --git a/lib/GSL/Special/gsl_sf_exp.h b/lib/GSL/Special/gsl_sf_exp.h
new file mode 100644
index 0000000..b1f0d89
--- /dev/null
+++ b/lib/GSL/Special/gsl_sf_exp.h
@@ -0,0 +1,146 @@
1/* specfunc/gsl_sf_exp.h
2 *
3 * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 Gerard Jungman
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or (at
8 * your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 */
19
20/* Author: G. Jungman */
21
22#ifndef __GSL_SF_EXP_H__
23#define __GSL_SF_EXP_H__
24
25#include <gsl/gsl_sf_result.h>
26#include <gsl/gsl_precision.h>
27
28#undef __BEGIN_DECLS
29#undef __END_DECLS
30#ifdef __cplusplus
31# define __BEGIN_DECLS extern "C" {
32# define __END_DECLS }
33#else
34# define __BEGIN_DECLS /* empty */
35# define __END_DECLS /* empty */
36#endif
37
38__BEGIN_DECLS
39
40/* Provide an exp() function with GSL semantics,
41 * i.e. with proper error checking, etc.
42 *
43 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
44 */
45int gsl_sf_exp_e(const double x, gsl_sf_result * result);
46double gsl_sf_exp(const double x);
47
48
49/* Exp(x)
50 *
51 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
52 */
53int gsl_sf_exp_e10_e(const double x, gsl_sf_result_e10 * result);
54
55
56/* Exponentiate and multiply by a given factor: y * Exp(x)
57 *
58 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
59 */
60int gsl_sf_exp_mult_e(const double x, const double y, gsl_sf_result * result);
61double gsl_sf_exp_mult(const double x, const double y);
62
63
64/* Exponentiate and multiply by a given factor: y * Exp(x)
65 *
66 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
67 */
68int gsl_sf_exp_mult_e10_e(const double x, const double y, gsl_sf_result_e10 * result);
69
70
71/* exp(x)-1
72 *
73 * exceptions: GSL_EOVRFLW
74 */
75int gsl_sf_expm1_e(const double x, gsl_sf_result * result);
76double gsl_sf_expm1(const double x);
77
78
79/* (exp(x)-1)/x = 1 + x/2 + x^2/(2*3) + x^3/(2*3*4) + ...
80 *
81 * exceptions: GSL_EOVRFLW
82 */
83int gsl_sf_exprel_e(const double x, gsl_sf_result * result);
84double gsl_sf_exprel(const double x);
85
86
87/* 2(exp(x)-1-x)/x^2 = 1 + x/3 + x^2/(3*4) + x^3/(3*4*5) + ...
88 *
89 * exceptions: GSL_EOVRFLW
90 */
91int gsl_sf_exprel_2_e(double x, gsl_sf_result * result);
92double gsl_sf_exprel_2(const double x);
93
94
95/* Similarly for the N-th generalization of
96 * the above. The so-called N-relative exponential
97 *
98 * exprel_N(x) = N!/x^N (exp(x) - Sum[x^k/k!, {k,0,N-1}])
99 * = 1 + x/(N+1) + x^2/((N+1)(N+2)) + ...
100 * = 1F1(1,1+N,x)
101 */
102int gsl_sf_exprel_n_e(const int n, const double x, gsl_sf_result * result);
103double gsl_sf_exprel_n(const int n, const double x);
104
105
106/* Exponentiate a quantity with an associated error.
107 */
108int gsl_sf_exp_err_e(const double x, const double dx, gsl_sf_result * result);
109
110/* Exponentiate a quantity with an associated error.
111 */
112int gsl_sf_exp_err_e10_e(const double x, const double dx, gsl_sf_result_e10 * result);
113
114
115/* Exponentiate and multiply by a given factor: y * Exp(x),
116 * for quantities with associated errors.
117 *
118 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
119 */
120int gsl_sf_exp_mult_err_e(const double x, const double dx, const double y, const double dy, gsl_sf_result * result);
121
122
123/* Exponentiate and multiply by a given factor: y * Exp(x),
124 * for quantities with associated errors.
125 *
126 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
127 */
128int gsl_sf_exp_mult_err_e10_e(const double x, const double dx, const double y, const double dy, gsl_sf_result_e10 * result);
129
130__END_DECLS
131
132
133#ifdef HAVE_INLINE
134#include <gsl/gsl_math.h>
135#include <gsl/gsl_errno.h>
136
137__BEGIN_DECLS
138
139
140
141__END_DECLS
142
143#endif /* HAVE_INLINE */
144
145
146#endif /* __GSL_SF_EXP_H__ */
diff --git a/lib/GSL/Special/gsl_sf_log.h b/lib/GSL/Special/gsl_sf_log.h
new file mode 100644
index 0000000..5225d05
--- /dev/null
+++ b/lib/GSL/Special/gsl_sf_log.h
@@ -0,0 +1,90 @@
1/* specfunc/gsl_sf_log.h
2 *
3 * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 Gerard Jungman
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or (at
8 * your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 */
19
20/* Author: G. Jungman */
21
22#ifndef __GSL_SF_LOG_H__
23#define __GSL_SF_LOG_H__
24
25#include <gsl/gsl_sf_result.h>
26
27#undef __BEGIN_DECLS
28#undef __END_DECLS
29#ifdef __cplusplus
30# define __BEGIN_DECLS extern "C" {
31# define __END_DECLS }
32#else
33# define __BEGIN_DECLS /* empty */
34# define __END_DECLS /* empty */
35#endif
36
37__BEGIN_DECLS
38
39
40/* Provide a logarithm function with GSL semantics.
41 *
42 * exceptions: GSL_EDOM
43 */
44int gsl_sf_log_e(const double x, gsl_sf_result * result);
45double gsl_sf_log(const double x);
46
47
48/* Log(|x|)
49 *
50 * exceptions: GSL_EDOM
51 */
52int gsl_sf_log_abs_e(const double x, gsl_sf_result * result);
53double gsl_sf_log_abs(const double x);
54
55
56/* Complex Logarithm
57 * exp(lnr + I theta) = zr + I zi
58 * Returns argument in [-pi,pi].
59 *
60 * exceptions: GSL_EDOM
61 */
62int gsl_sf_complex_log_e(const double zr, const double zi, gsl_sf_result * lnr, gsl_sf_result * theta);
63
64
65/* Log(1 + x)
66 *
67 * exceptions: GSL_EDOM
68 */
69int gsl_sf_log_1plusx_e(const double x, gsl_sf_result * result);
70double gsl_sf_log_1plusx(const double x);
71
72
73/* Log(1 + x) - x
74 *
75 * exceptions: GSL_EDOM
76 */
77int gsl_sf_log_1plusx_mx_e(const double x, gsl_sf_result * result);
78double gsl_sf_log_1plusx_mx(const double x);
79
80
81#ifdef HAVE_INLINE
82#include <gsl/gsl_math.h>
83#include <gsl/gsl_errno.h>
84
85#endif /* HAVE_INLINE */
86
87
88__END_DECLS
89
90#endif /* __GSL_SF_LOG_H__ */
diff --git a/lib/GSL/Special/hyperg.h b/lib/GSL/Special/hyperg.h
new file mode 100644
index 0000000..aa59106
--- /dev/null
+++ b/lib/GSL/Special/hyperg.h
@@ -0,0 +1,22 @@
1int gsl_sf_hyperg_0F1_e(double c,double x,double* result);
2double gsl_sf_hyperg_0F1(double c,double x);
3int gsl_sf_hyperg_1F1_int_e(int m,int n,double x,double* result);
4double gsl_sf_hyperg_1F1_int(int m,int n,double x);
5int gsl_sf_hyperg_1F1_e(double a,double b,double x,double* result);
6double gsl_sf_hyperg_1F1(double a,double b,double x);
7int gsl_sf_hyperg_U_int_e(int m,int n,double x,double* result);
8double gsl_sf_hyperg_U_int(int m,int n,double x);
9int gsl_sf_hyperg_U_int_e10_e(int m,int n,double x,double* result);
10int gsl_sf_hyperg_U_e(double a,double b,double x,double* result);
11double gsl_sf_hyperg_U(double a,double b,double x);
12int gsl_sf_hyperg_U_e10_e(double a,double b,double x,double* result);
13int gsl_sf_hyperg_2F1_e(double a,double b,double c,double x,double* result);
14double gsl_sf_hyperg_2F1(double a,double b,double c,double x);
15int gsl_sf_hyperg_2F1_conj_e(double aR,double aI,double c,double x,double* result);
16double gsl_sf_hyperg_2F1_conj(double aR,double aI,double c,double x);
17int gsl_sf_hyperg_2F1_renorm_e(double a,double b,double c,double x,double* result);
18double gsl_sf_hyperg_2F1_renorm(double a,double b,double c,double x);
19int gsl_sf_hyperg_2F1_conj_renorm_e(double aR,double aI,double c,double x,double* result);
20double gsl_sf_hyperg_2F1_conj_renorm(double aR,double aI,double c,double x);
21int gsl_sf_hyperg_2F0_e(double a,double b,double x,double* result);
22double gsl_sf_hyperg_2F0(double a,double b,double x);
diff --git a/lib/GSL/Special/laguerre.h b/lib/GSL/Special/laguerre.h
new file mode 100644
index 0000000..6275a05
--- /dev/null
+++ b/lib/GSL/Special/laguerre.h
@@ -0,0 +1,8 @@
1int gsl_sf_laguerre_1_e(double a,double x,double* result);
2int gsl_sf_laguerre_2_e(double a,double x,double* result);
3int gsl_sf_laguerre_3_e(double a,double x,double* result);
4double gsl_sf_laguerre_1(double a,double x);
5double gsl_sf_laguerre_2(double a,double x);
6double gsl_sf_laguerre_3(double a,double x);
7int gsl_sf_laguerre_n_e(int n,double a,double x,double* result);
8double gsl_sf_laguerre_n(int n,double a,double x);
diff --git a/lib/GSL/Special/lambert.h b/lib/GSL/Special/lambert.h
new file mode 100644
index 0000000..df90d11
--- /dev/null
+++ b/lib/GSL/Special/lambert.h
@@ -0,0 +1,4 @@
1int gsl_sf_lambert_W0_e(double x,double* result);
2double gsl_sf_lambert_W0(double x);
3int gsl_sf_lambert_Wm1_e(double x,double* result);
4double gsl_sf_lambert_Wm1(double x);
diff --git a/lib/GSL/Special/log.h b/lib/GSL/Special/log.h
new file mode 100644
index 0000000..5713845
--- /dev/null
+++ b/lib/GSL/Special/log.h
@@ -0,0 +1,9 @@
1int gsl_sf_log_e(double x,double* result);
2double gsl_sf_log(double x);
3int gsl_sf_log_abs_e(double x,double* result);
4double gsl_sf_log_abs(double x);
5int gsl_sf_complex_log_e(double zr,double zi,double* lnr,double* theta);
6int gsl_sf_log_1plusx_e(double x,double* result);
7double gsl_sf_log_1plusx(double x);
8int gsl_sf_log_1plusx_mx_e(double x,double* result);
9double gsl_sf_log_1plusx_mx(double x);
diff --git a/lib/GSL/Special/manual.txt b/lib/GSL/Special/manual.txt
new file mode 100644
index 0000000..a95823d
--- /dev/null
+++ b/lib/GSL/Special/manual.txt
@@ -0,0 +1,10 @@
1Airy.hs
2 include Precision (..) in the export list
3Exp.hs
4 remove extern inline definition, qualify name
5Coupling
6 remove deprecated INCORRECT
7Trig.hs
8 qualify names
9Log.hs
10 remove extern inline, qualify name
diff --git a/lib/GSL/Special/pow_int.h b/lib/GSL/Special/pow_int.h
new file mode 100644
index 0000000..aba8bc9
--- /dev/null
+++ b/lib/GSL/Special/pow_int.h
@@ -0,0 +1,2 @@
1int gsl_sf_pow_int_e(double x,int n,double* result);
2double gsl_sf_pow_int(double x,int n);
diff --git a/lib/GSL/Special/psi.h b/lib/GSL/Special/psi.h
new file mode 100644
index 0000000..589eb34
--- /dev/null
+++ b/lib/GSL/Special/psi.h
@@ -0,0 +1,12 @@
1int gsl_sf_psi_int_e(int n,double* result);
2double gsl_sf_psi_int(int n);
3int gsl_sf_psi_e(double x,double* result);
4double gsl_sf_psi(double x);
5int gsl_sf_psi_1piy_e(double y,double* result);
6double gsl_sf_psi_1piy(double y);
7int gsl_sf_psi_1_int_e(int n,double* result);
8double gsl_sf_psi_1_int(int n);
9int gsl_sf_psi_1_e(double x,double* result);
10double gsl_sf_psi_1(double x);
11int gsl_sf_psi_n_e(int n,double x,double* result);
12double gsl_sf_psi_n(int n,double x);
diff --git a/lib/GSL/Special/synchrotron.h b/lib/GSL/Special/synchrotron.h
new file mode 100644
index 0000000..786401c
--- /dev/null
+++ b/lib/GSL/Special/synchrotron.h
@@ -0,0 +1,4 @@
1int gsl_sf_synchrotron_1_e(double x,double* result);
2double gsl_sf_synchrotron_1(double x);
3int gsl_sf_synchrotron_2_e(double x,double* result);
4double gsl_sf_synchrotron_2(double x);
diff --git a/lib/GSL/Special/trig.h b/lib/GSL/Special/trig.h
new file mode 100644
index 0000000..50677f2
--- /dev/null
+++ b/lib/GSL/Special/trig.h
@@ -0,0 +1,25 @@
1int gsl_sf_sin_e(double x,double* result);
2double gsl_sf_sin(double x);
3int gsl_sf_cos_e(double x,double* result);
4double gsl_sf_cos(double x);
5int gsl_sf_hypot_e(double x,double y,double* result);
6double gsl_sf_hypot(double x,double y);
7int gsl_sf_complex_sin_e(double zr,double zi,double* szr,double* szi);
8int gsl_sf_complex_cos_e(double zr,double zi,double* czr,double* czi);
9int gsl_sf_complex_logsin_e(double zr,double zi,double* lszr,double* lszi);
10int gsl_sf_sinc_e(double x,double* result);
11double gsl_sf_sinc(double x);
12int gsl_sf_lnsinh_e(double x,double* result);
13double gsl_sf_lnsinh(double x);
14int gsl_sf_lncosh_e(double x,double* result);
15double gsl_sf_lncosh(double x);
16int gsl_sf_polar_to_rect(double r,double theta,double* x,double* y);
17int gsl_sf_rect_to_polar(double x,double y,double* r,double* theta);
18int gsl_sf_sin_err_e(double x,double dx,double* result);
19int gsl_sf_cos_err_e(double x,double dx,double* result);
20int gsl_sf_angle_restrict_symm_e(double* theta);
21double gsl_sf_angle_restrict_symm(double theta);
22int gsl_sf_angle_restrict_pos_e(double* theta);
23double gsl_sf_angle_restrict_pos(double theta);
24int gsl_sf_angle_restrict_symm_err_e(double theta,double* result);
25int gsl_sf_angle_restrict_pos_err_e(double theta,double* result);
diff --git a/lib/GSL/Special/zeta.h b/lib/GSL/Special/zeta.h
new file mode 100644
index 0000000..b961ece
--- /dev/null
+++ b/lib/GSL/Special/zeta.h
@@ -0,0 +1,14 @@
1int gsl_sf_zeta_int_e(int n,double* result);
2double gsl_sf_zeta_int(int n);
3int gsl_sf_zeta_e(double s,double* result);
4double gsl_sf_zeta(double s);
5int gsl_sf_zetam1_e(double s,double* result);
6double gsl_sf_zetam1(double s);
7int gsl_sf_zetam1_int_e(int s,double* result);
8double gsl_sf_zetam1_int(int s);
9int gsl_sf_hzeta_e(double s,double q,double* result);
10double gsl_sf_hzeta(double s,double q);
11int gsl_sf_eta_int_e(int n,double* result);
12double gsl_sf_eta_int(int n);
13int gsl_sf_eta_e(double s,double* result);
14double gsl_sf_eta(double s);