summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/tests.hs10
-rw-r--r--lib/Numeric/GSL/Special/Debye.hs32
-rw-r--r--lib/Numeric/GSL/Special/Ellint.hs32
-rw-r--r--lib/Numeric/GSL/Vector.hs2
4 files changed, 39 insertions, 37 deletions
diff --git a/examples/tests.hs b/examples/tests.hs
index e20f871..6bc1922 100644
--- a/examples/tests.hs
+++ b/examples/tests.hs
@@ -21,14 +21,16 @@ type CM = Matrix (Complex Double)
21 21
22-- relative error 22-- relative error
23dist :: (Normed t, Num t) => t -> t -> Double 23dist :: (Normed t, Num t) => t -> t -> Double
24dist a b = f nab na nb 24dist a b = r
25 where norm = pnorm Infinity 25 where norm = pnorm Infinity
26 na = norm a 26 na = norm a
27 nb = norm b 27 nb = norm b
28 nab = norm (a-b) 28 nab = norm (a-b)
29 f _ a 0 = a 29 mx = max na nb
30 f _ 0 b = b 30 mn = min na nb
31 f d a b = d / max a b 31 r = if mn < eps
32 then mx
33 else nab/mx
32 34
33infixl 4 |~| 35infixl 4 |~|
34a |~| b = a :~10~: b 36a |~| b = a :~10~: b
diff --git a/lib/Numeric/GSL/Special/Debye.hs b/lib/Numeric/GSL/Special/Debye.hs
index c059cf1..cb86f03 100644
--- a/lib/Numeric/GSL/Special/Debye.hs
+++ b/lib/Numeric/GSL/Special/Debye.hs
@@ -23,10 +23,10 @@ module Numeric.GSL.Special.Debye(
23, debye_3 23, debye_3
24, debye_4_e 24, debye_4_e
25, debye_4 25, debye_4
26, debye_5_e 26--, debye_5_e
27, debye_5 27--, debye_5
28, debye_6_e 28--, debye_6_e
29, debye_6 29--, debye_6
30) where 30) where
31 31
32import Foreign(Ptr) 32import Foreign(Ptr)
@@ -92,27 +92,27 @@ foreign import ccall "debye.h gsl_sf_debye_4" gsl_sf_debye_4 :: Double -> Double
92-- | wrapper for int gsl_sf_debye_5_e(double x,gsl_sf_result* result); 92-- | wrapper for int gsl_sf_debye_5_e(double x,gsl_sf_result* result);
93-- 93--
94-- <http://www.google.com/search?q=gsl_sf_debye_5_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> 94-- <http://www.google.com/search?q=gsl_sf_debye_5_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
95debye_5_e :: Double -> (Double,Double) 95--debye_5_e :: Double -> (Double,Double)
96debye_5_e x = createSFR "debye_5_e" $ gsl_sf_debye_5_e x 96--debye_5_e x = createSFR "debye_5_e" $ gsl_sf_debye_5_e x
97foreign import ccall "debye.h gsl_sf_debye_5_e" gsl_sf_debye_5_e :: Double -> Ptr () -> IO CInt 97--foreign import ccall "debye.h gsl_sf_debye_5_e" gsl_sf_debye_5_e :: Double -> Ptr () -> IO CInt
98 98
99-- | wrapper for double gsl_sf_debye_5(double x); 99-- | wrapper for double gsl_sf_debye_5(double x);
100-- 100--
101-- <http://www.google.com/search?q=gsl_sf_debye_5&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> 101-- <http://www.google.com/search?q=gsl_sf_debye_5&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
102debye_5 :: Double -> Double 102--debye_5 :: Double -> Double
103debye_5 = gsl_sf_debye_5 103--debye_5 = gsl_sf_debye_5
104foreign import ccall "debye.h gsl_sf_debye_5" gsl_sf_debye_5 :: Double -> Double 104--foreign import ccall "debye.h gsl_sf_debye_5" gsl_sf_debye_5 :: Double -> Double
105 105
106-- | wrapper for int gsl_sf_debye_6_e(double x,gsl_sf_result* result); 106-- | wrapper for int gsl_sf_debye_6_e(double x,gsl_sf_result* result);
107-- 107--
108-- <http://www.google.com/search?q=gsl_sf_debye_6_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> 108-- <http://www.google.com/search?q=gsl_sf_debye_6_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
109debye_6_e :: Double -> (Double,Double) 109--debye_6_e :: Double -> (Double,Double)
110debye_6_e x = createSFR "debye_6_e" $ gsl_sf_debye_6_e x 110--debye_6_e x = createSFR "debye_6_e" $ gsl_sf_debye_6_e x
111foreign import ccall "debye.h gsl_sf_debye_6_e" gsl_sf_debye_6_e :: Double -> Ptr () -> IO CInt 111--foreign import ccall "debye.h gsl_sf_debye_6_e" gsl_sf_debye_6_e :: Double -> Ptr () -> IO CInt
112 112
113-- | wrapper for double gsl_sf_debye_6(double x); 113-- | wrapper for double gsl_sf_debye_6(double x);
114-- 114--
115-- <http://www.google.com/search?q=gsl_sf_debye_6&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> 115-- <http://www.google.com/search?q=gsl_sf_debye_6&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
116debye_6 :: Double -> Double 116--debye_6 :: Double -> Double
117debye_6 = gsl_sf_debye_6 117--debye_6 = gsl_sf_debye_6
118foreign import ccall "debye.h gsl_sf_debye_6" gsl_sf_debye_6 :: Double -> Double 118--foreign import ccall "debye.h gsl_sf_debye_6" gsl_sf_debye_6 :: Double -> Double
diff --git a/lib/Numeric/GSL/Special/Ellint.hs b/lib/Numeric/GSL/Special/Ellint.hs
index 52ca412..dfd36d9 100644
--- a/lib/Numeric/GSL/Special/Ellint.hs
+++ b/lib/Numeric/GSL/Special/Ellint.hs
@@ -19,10 +19,10 @@ module Numeric.GSL.Special.Ellint(
19, ellint_Kcomp 19, ellint_Kcomp
20, ellint_Ecomp_e 20, ellint_Ecomp_e
21, ellint_Ecomp 21, ellint_Ecomp
22, ellint_Pcomp_e 22--, ellint_Pcomp_e
23, ellint_Pcomp 23--, ellint_Pcomp
24, ellint_Dcomp_e 24--, ellint_Dcomp_e
25, ellint_Dcomp 25--, ellint_Dcomp
26, ellint_F_e 26, ellint_F_e
27, ellint_F 27, ellint_F
28, ellint_E_e 28, ellint_E_e
@@ -76,30 +76,30 @@ foreign import ccall "ellint.h gsl_sf_ellint_Ecomp" gsl_sf_ellint_Ecomp :: Doubl
76-- | wrapper for int gsl_sf_ellint_Pcomp_e(double k,double n,gsl_mode_t mode,gsl_sf_result* result); 76-- | wrapper for int gsl_sf_ellint_Pcomp_e(double k,double n,gsl_mode_t mode,gsl_sf_result* result);
77-- 77--
78-- <http://www.google.com/search?q=gsl_sf_ellint_Pcomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> 78-- <http://www.google.com/search?q=gsl_sf_ellint_Pcomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
79ellint_Pcomp_e :: Double -> Double -> Precision -> (Double,Double) 79--ellint_Pcomp_e :: Double -> Double -> Precision -> (Double,Double)
80ellint_Pcomp_e k n mode = createSFR "ellint_Pcomp_e" $ gsl_sf_ellint_Pcomp_e k n (precCode mode) 80--ellint_Pcomp_e k n mode = createSFR "ellint_Pcomp_e" $ gsl_sf_ellint_Pcomp_e k n (precCode mode)
81foreign import ccall "ellint.h gsl_sf_ellint_Pcomp_e" gsl_sf_ellint_Pcomp_e :: Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt 81--foreign import ccall "ellint.h gsl_sf_ellint_Pcomp_e" gsl_sf_ellint_Pcomp_e :: Double -> Double -> Gsl_mode_t -> Ptr () -> IO CInt
82 82
83-- | wrapper for double gsl_sf_ellint_Pcomp(double k,double n,gsl_mode_t mode); 83-- | wrapper for double gsl_sf_ellint_Pcomp(double k,double n,gsl_mode_t mode);
84-- 84--
85-- <http://www.google.com/search?q=gsl_sf_ellint_Pcomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> 85-- <http://www.google.com/search?q=gsl_sf_ellint_Pcomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
86ellint_Pcomp :: Double -> Double -> Precision -> Double 86--ellint_Pcomp :: Double -> Double -> Precision -> Double
87ellint_Pcomp k n mode = gsl_sf_ellint_Pcomp k n (precCode mode) 87--ellint_Pcomp k n mode = gsl_sf_ellint_Pcomp k n (precCode mode)
88foreign import ccall "ellint.h gsl_sf_ellint_Pcomp" gsl_sf_ellint_Pcomp :: Double -> Double -> Gsl_mode_t -> Double 88--foreign import ccall "ellint.h gsl_sf_ellint_Pcomp" gsl_sf_ellint_Pcomp :: Double -> Double -> Gsl_mode_t -> Double
89 89
90-- | wrapper for int gsl_sf_ellint_Dcomp_e(double k,gsl_mode_t mode,gsl_sf_result* result); 90-- | wrapper for int gsl_sf_ellint_Dcomp_e(double k,gsl_mode_t mode,gsl_sf_result* result);
91-- 91--
92-- <http://www.google.com/search?q=gsl_sf_ellint_Dcomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> 92-- <http://www.google.com/search?q=gsl_sf_ellint_Dcomp_e&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
93ellint_Dcomp_e :: Double -> Precision -> (Double,Double) 93--ellint_Dcomp_e :: Double -> Precision -> (Double,Double)
94ellint_Dcomp_e k mode = createSFR "ellint_Dcomp_e" $ gsl_sf_ellint_Dcomp_e k (precCode mode) 94--ellint_Dcomp_e k mode = createSFR "ellint_Dcomp_e" $ gsl_sf_ellint_Dcomp_e k (precCode mode)
95foreign import ccall "ellint.h gsl_sf_ellint_Dcomp_e" gsl_sf_ellint_Dcomp_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt 95--foreign import ccall "ellint.h gsl_sf_ellint_Dcomp_e" gsl_sf_ellint_Dcomp_e :: Double -> Gsl_mode_t -> Ptr () -> IO CInt
96 96
97-- | wrapper for double gsl_sf_ellint_Dcomp(double k,gsl_mode_t mode); 97-- | wrapper for double gsl_sf_ellint_Dcomp(double k,gsl_mode_t mode);
98-- 98--
99-- <http://www.google.com/search?q=gsl_sf_ellint_Dcomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky> 99-- <http://www.google.com/search?q=gsl_sf_ellint_Dcomp&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
100ellint_Dcomp :: Double -> Precision -> Double 100--ellint_Dcomp :: Double -> Precision -> Double
101ellint_Dcomp k mode = gsl_sf_ellint_Dcomp k (precCode mode) 101--ellint_Dcomp k mode = gsl_sf_ellint_Dcomp k (precCode mode)
102foreign import ccall "ellint.h gsl_sf_ellint_Dcomp" gsl_sf_ellint_Dcomp :: Double -> Gsl_mode_t -> Double 102--foreign import ccall "ellint.h gsl_sf_ellint_Dcomp" gsl_sf_ellint_Dcomp :: Double -> Gsl_mode_t -> Double
103 103
104-- | wrapper for int gsl_sf_ellint_F_e(double phi,double k,gsl_mode_t mode,gsl_sf_result* result); 104-- | wrapper for int gsl_sf_ellint_F_e(double phi,double k,gsl_mode_t mode,gsl_sf_result* result);
105-- 105--
diff --git a/lib/Numeric/GSL/Vector.hs b/lib/Numeric/GSL/Vector.hs
index 0db2f84..9e06783 100644
--- a/lib/Numeric/GSL/Vector.hs
+++ b/lib/Numeric/GSL/Vector.hs
@@ -27,7 +27,7 @@ import Complex
27import Foreign 27import Foreign
28import Foreign.C.Types(CInt) 28import Foreign.C.Types(CInt)
29 29
30fromei = fromIntegral . fromei 30fromei x = fromIntegral (fromEnum x)
31 31
32data FunCodeV = Sin 32data FunCodeV = Sin
33 | Cos 33 | Cos