From 54bcc1fc1e0f9676cb10f627f412eeeea34b5d2c Mon Sep 17 00:00:00 2001 From: Alberto Ruiz Date: Wed, 24 Feb 2010 13:23:42 +0000 Subject: created package hmatrix-special --- .../special/lib/Numeric/GSL/Special/Coulomb.hs | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 packages/special/lib/Numeric/GSL/Special/Coulomb.hs (limited to 'packages/special/lib/Numeric/GSL/Special/Coulomb.hs') diff --git a/packages/special/lib/Numeric/GSL/Special/Coulomb.hs b/packages/special/lib/Numeric/GSL/Special/Coulomb.hs new file mode 100644 index 0000000..7253972 --- /dev/null +++ b/packages/special/lib/Numeric/GSL/Special/Coulomb.hs @@ -0,0 +1,69 @@ +------------------------------------------------------------ +-- | +-- Module : Numeric.GSL.Special.Coulomb +-- Copyright : (c) Alberto Ruiz 2006 +-- License : GPL +-- Maintainer : Alberto Ruiz (aruiz at um dot es) +-- Stability : provisional +-- Portability : uses ffi +-- +-- Wrappers for selected functions described at: +-- +-- +------------------------------------------------------------ + +module Numeric.GSL.Special.Coulomb( + hydrogenicR_1_e +, hydrogenicR_1 +, hydrogenicR_e +, hydrogenicR +, coulomb_CL_e +) where + +import Foreign(Ptr) +import Foreign.C.Types(CInt) +import Numeric.GSL.Special.Internal + +hydrogenicR_1_e :: Double -> Double -> (Double,Double) +hydrogenicR_1_e zZ r = createSFR "hydrogenicR_1_e" $ gsl_sf_hydrogenicR_1_e zZ r +foreign import ccall SAFE_CHEAP "gsl_sf_hydrogenicR_1_e" gsl_sf_hydrogenicR_1_e :: Double -> Double -> Ptr () -> IO CInt + +hydrogenicR_1 :: Double -> Double -> Double +hydrogenicR_1 = gsl_sf_hydrogenicR_1 +foreign import ccall SAFE_CHEAP "gsl_sf_hydrogenicR_1" gsl_sf_hydrogenicR_1 :: Double -> Double -> Double + +hydrogenicR_e :: CInt -> CInt -> Double -> Double -> (Double,Double) +hydrogenicR_e n l zZ r = createSFR "hydrogenicR_e" $ gsl_sf_hydrogenicR_e n l zZ r +foreign import ccall SAFE_CHEAP "gsl_sf_hydrogenicR_e" gsl_sf_hydrogenicR_e :: CInt -> CInt -> Double -> Double -> Ptr () -> IO CInt + +hydrogenicR :: CInt -> CInt -> Double -> Double -> Double +hydrogenicR = gsl_sf_hydrogenicR +foreign import ccall SAFE_CHEAP "gsl_sf_hydrogenicR" gsl_sf_hydrogenicR :: CInt -> CInt -> Double -> Double -> Double + +coulomb_wave_FG_e :: Double -> Double -> Double -> CInt -> Ptr () -> Ptr () -> Ptr () -> Ptr () -> Ptr Double -> Ptr Double -> CInt +coulomb_wave_FG_e = gsl_sf_coulomb_wave_FG_e +foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_wave_FG_e" gsl_sf_coulomb_wave_FG_e :: Double -> Double -> Double -> CInt -> Ptr () -> Ptr () -> Ptr () -> Ptr () -> Ptr Double -> Ptr Double -> CInt + +coulomb_wave_F_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt +coulomb_wave_F_array = gsl_sf_coulomb_wave_F_array +foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_wave_F_array" gsl_sf_coulomb_wave_F_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt + +coulomb_wave_FG_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt +coulomb_wave_FG_array = gsl_sf_coulomb_wave_FG_array +foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_wave_FG_array" gsl_sf_coulomb_wave_FG_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt + +coulomb_wave_FGp_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt +coulomb_wave_FGp_array = gsl_sf_coulomb_wave_FGp_array +foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_wave_FGp_array" gsl_sf_coulomb_wave_FGp_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> Ptr Double -> CInt + +coulomb_wave_sphF_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt +coulomb_wave_sphF_array = gsl_sf_coulomb_wave_sphF_array +foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_wave_sphF_array" gsl_sf_coulomb_wave_sphF_array :: Double -> CInt -> Double -> Double -> Ptr Double -> Ptr Double -> CInt + +coulomb_CL_e :: Double -> Double -> (Double,Double) +coulomb_CL_e lL eta = createSFR "coulomb_CL_e" $ gsl_sf_coulomb_CL_e lL eta +foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_CL_e" gsl_sf_coulomb_CL_e :: Double -> Double -> Ptr () -> IO CInt + +coulomb_CL_array :: Double -> CInt -> Double -> Ptr Double -> CInt +coulomb_CL_array = gsl_sf_coulomb_CL_array +foreign import ccall SAFE_CHEAP "gsl_sf_coulomb_CL_array" gsl_sf_coulomb_CL_array :: Double -> CInt -> Double -> Ptr Double -> CInt -- cgit v1.2.3