From b9db4d25d87cd4ab0f493413db92fb41b7eacda9 Mon Sep 17 00:00:00 2001 From: Alberto Ruiz Date: Sun, 29 Jul 2007 15:43:21 +0000 Subject: more automatic wrappers for simple special functions --- lib/GSL/Special/Dilog.hs | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 lib/GSL/Special/Dilog.hs (limited to 'lib/GSL/Special/Dilog.hs') 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 @@ +------------------------------------------------------------ +{- | +Module : GSL.Special.Dilog +Copyright : (c) Alberto Ruiz 2006 +License : GPL-style +Maintainer : Alberto Ruiz (aruiz at um dot es) +Stability : provisional +Portability : uses ffi + + + +-} +------------------------------------------------------------ + +module GSL.Special.Dilog( + dilog_e +, dilog +) where + +import Foreign(Ptr) +import GSL.Special.Internal + +-- | wrapper for int gsl_sf_dilog_e(double x,gsl_sf_result* result); +dilog_e :: Double -> (Double,Double) +dilog_e x = createSFR "dilog_e" $ gsl_sf_dilog_e x +foreign import ccall "dilog.h gsl_sf_dilog_e" gsl_sf_dilog_e :: Double -> Ptr Double -> IO(Int) + +-- | wrapper for double gsl_sf_dilog(double x); +dilog :: Double -> Double +dilog = gsl_sf_dilog +foreign import ccall "dilog.h gsl_sf_dilog" gsl_sf_dilog :: Double -> Double + +-- | wrapper for int gsl_sf_complex_dilog_xy_e(double x,double y,gsl_sf_result* result_re,gsl_sf_result* result_im); +complex_dilog_xy_e :: Double -> Double -> Ptr Double -> (Double,Double) +complex_dilog_xy_e x y result_re = createSFR "complex_dilog_xy_e" $ gsl_sf_complex_dilog_xy_e x y result_re +foreign import ccall "dilog.h gsl_sf_complex_dilog_xy_e" gsl_sf_complex_dilog_xy_e :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int) + +-- | wrapper for int gsl_sf_complex_dilog_e(double r,double theta,gsl_sf_result* result_re,gsl_sf_result* result_im); +complex_dilog_e :: Double -> Double -> Ptr Double -> (Double,Double) +complex_dilog_e r theta result_re = createSFR "complex_dilog_e" $ gsl_sf_complex_dilog_e r theta result_re +foreign import ccall "dilog.h gsl_sf_complex_dilog_e" gsl_sf_complex_dilog_e :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int) + +-- | wrapper for int gsl_sf_complex_spence_xy_e(double x,double y,gsl_sf_result* real_sp,gsl_sf_result* imag_sp); +complex_spence_xy_e :: Double -> Double -> Ptr Double -> (Double,Double) +complex_spence_xy_e x y real_sp = createSFR "complex_spence_xy_e" $ gsl_sf_complex_spence_xy_e x y real_sp +foreign import ccall "dilog.h gsl_sf_complex_spence_xy_e" gsl_sf_complex_spence_xy_e :: Double -> Double -> Ptr Double -> Ptr Double -> IO(Int) -- cgit v1.2.3