summaryrefslogtreecommitdiff
path: root/packages/special/lib/Numeric/GSL/Special/Lambert.hs
diff options
context:
space:
mode:
Diffstat (limited to 'packages/special/lib/Numeric/GSL/Special/Lambert.hs')
-rw-r--r--packages/special/lib/Numeric/GSL/Special/Lambert.hs40
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/special/lib/Numeric/GSL/Special/Lambert.hs b/packages/special/lib/Numeric/GSL/Special/Lambert.hs
new file mode 100644
index 0000000..b229bf6
--- /dev/null
+++ b/packages/special/lib/Numeric/GSL/Special/Lambert.hs
@@ -0,0 +1,40 @@
1------------------------------------------------------------
2-- |
3-- Module : Numeric.GSL.Special.Lambert
4-- Copyright : (c) Alberto Ruiz 2006
5-- License : GPL
6-- Maintainer : Alberto Ruiz (aruiz at um dot es)
7-- Stability : provisional
8-- Portability : uses ffi
9--
10-- Wrappers for selected functions described at:
11--
12-- <http://www.google.com/search?q=gsl_sf_lambert.h&as_sitesearch=www.gnu.org/software/gsl/manual&btnI=Lucky>
13------------------------------------------------------------
14
15module Numeric.GSL.Special.Lambert(
16 lambert_W0_e
17, lambert_W0
18, lambert_Wm1_e
19, lambert_Wm1
20) where
21
22import Foreign(Ptr)
23import Foreign.C.Types(CInt)
24import Numeric.GSL.Special.Internal
25
26lambert_W0_e :: Double -> (Double,Double)
27lambert_W0_e x = createSFR "lambert_W0_e" $ gsl_sf_lambert_W0_e x
28foreign import ccall SAFE_CHEAP "gsl_sf_lambert_W0_e" gsl_sf_lambert_W0_e :: Double -> Ptr () -> IO CInt
29
30lambert_W0 :: Double -> Double
31lambert_W0 = gsl_sf_lambert_W0
32foreign import ccall SAFE_CHEAP "gsl_sf_lambert_W0" gsl_sf_lambert_W0 :: Double -> Double
33
34lambert_Wm1_e :: Double -> (Double,Double)
35lambert_Wm1_e x = createSFR "lambert_Wm1_e" $ gsl_sf_lambert_Wm1_e x
36foreign import ccall SAFE_CHEAP "gsl_sf_lambert_Wm1_e" gsl_sf_lambert_Wm1_e :: Double -> Ptr () -> IO CInt
37
38lambert_Wm1 :: Double -> Double
39lambert_Wm1 = gsl_sf_lambert_Wm1
40foreign import ccall SAFE_CHEAP "gsl_sf_lambert_Wm1" gsl_sf_lambert_Wm1 :: Double -> Double