From 2554b186960b2eacc38f9870f1a3ceada8dfe3e9 Mon Sep 17 00:00:00 2001 From: Alberto Ruiz Date: Thu, 21 Feb 2008 19:26:15 +0000 Subject: gsl 1.9 special functions --- lib/Numeric/GSL/Special/Legendre.hs | 164 ++++++++++++++++++++---------------- 1 file changed, 91 insertions(+), 73 deletions(-) (limited to 'lib/Numeric/GSL/Special/Legendre.hs') diff --git a/lib/Numeric/GSL/Special/Legendre.hs b/lib/Numeric/GSL/Special/Legendre.hs index 15dfde8..bd1c40d 100644 --- a/lib/Numeric/GSL/Special/Legendre.hs +++ b/lib/Numeric/GSL/Special/Legendre.hs @@ -15,24 +15,42 @@ Wrappers for selected functions described at: ------------------------------------------------------------ module Numeric.GSL.Special.Legendre( - legendre_Pl + legendre_Pl_e +, legendre_Pl +, legendre_P1_e +, legendre_P2_e +, legendre_P3_e , legendre_P1 , legendre_P2 , legendre_P3 +, legendre_Q0_e , legendre_Q0 +, legendre_Q1_e , legendre_Q1 +, legendre_Ql_e , legendre_Ql +, legendre_Plm_e , legendre_Plm +, legendre_sphPlm_e , legendre_sphPlm , legendre_array_size +, conicalP_half_e , conicalP_half +, conicalP_mhalf_e , conicalP_mhalf +, conicalP_0_e , conicalP_0 +, conicalP_1_e , conicalP_1 +, conicalP_sph_reg_e , conicalP_sph_reg +, conicalP_cyl_reg_e , conicalP_cyl_reg +, legendre_H3d_0_e , legendre_H3d_0 +, legendre_H3d_1_e , legendre_H3d_1 +, legendre_H3d_e , legendre_H3d ) where @@ -40,12 +58,12 @@ import Foreign(Ptr) import Foreign.C.Types(CInt) import Numeric.GSL.Special.Internal --- | wrapper for int gsl_sf_legendre_Pl_e(int l,double x,double* result); +-- | wrapper for int gsl_sf_legendre_Pl_e(int l,double x,gsl_sf_result* result); -- -- -legendre_Pl_e :: CInt -> Double -> Ptr Double -> CInt -legendre_Pl_e = gsl_sf_legendre_Pl_e -foreign import ccall "legendre.h gsl_sf_legendre_Pl_e" gsl_sf_legendre_Pl_e :: CInt -> Double -> Ptr Double -> CInt +legendre_Pl_e :: CInt -> Double -> (Double,Double) +legendre_Pl_e l x = createSFR "legendre_Pl_e" $ gsl_sf_legendre_Pl_e l x +foreign import ccall "legendre.h gsl_sf_legendre_Pl_e" gsl_sf_legendre_Pl_e :: CInt -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_legendre_Pl(int l,double x); -- @@ -68,26 +86,26 @@ legendre_Pl_deriv_array :: CInt -> Double -> Ptr Double -> Ptr Double -> CInt legendre_Pl_deriv_array = gsl_sf_legendre_Pl_deriv_array foreign import ccall "legendre.h gsl_sf_legendre_Pl_deriv_array" gsl_sf_legendre_Pl_deriv_array :: CInt -> Double -> Ptr Double -> Ptr Double -> CInt --- | wrapper for int gsl_sf_legendre_P1_e(double x,double* result); +-- | wrapper for int gsl_sf_legendre_P1_e(double x,gsl_sf_result* result); -- -- -legendre_P1_e :: Double -> Ptr Double -> CInt -legendre_P1_e = gsl_sf_legendre_P1_e -foreign import ccall "legendre.h gsl_sf_legendre_P1_e" gsl_sf_legendre_P1_e :: Double -> Ptr Double -> CInt +legendre_P1_e :: Double -> (Double,Double) +legendre_P1_e x = createSFR "legendre_P1_e" $ gsl_sf_legendre_P1_e x +foreign import ccall "legendre.h gsl_sf_legendre_P1_e" gsl_sf_legendre_P1_e :: Double -> Ptr () -> IO CInt --- | wrapper for int gsl_sf_legendre_P2_e(double x,double* result); +-- | wrapper for int gsl_sf_legendre_P2_e(double x,gsl_sf_result* result); -- -- -legendre_P2_e :: Double -> Ptr Double -> CInt -legendre_P2_e = gsl_sf_legendre_P2_e -foreign import ccall "legendre.h gsl_sf_legendre_P2_e" gsl_sf_legendre_P2_e :: Double -> Ptr Double -> CInt +legendre_P2_e :: Double -> (Double,Double) +legendre_P2_e x = createSFR "legendre_P2_e" $ gsl_sf_legendre_P2_e x +foreign import ccall "legendre.h gsl_sf_legendre_P2_e" gsl_sf_legendre_P2_e :: Double -> Ptr () -> IO CInt --- | wrapper for int gsl_sf_legendre_P3_e(double x,double* result); +-- | wrapper for int gsl_sf_legendre_P3_e(double x,gsl_sf_result* result); -- -- -legendre_P3_e :: Double -> Ptr Double -> CInt -legendre_P3_e = gsl_sf_legendre_P3_e -foreign import ccall "legendre.h gsl_sf_legendre_P3_e" gsl_sf_legendre_P3_e :: Double -> Ptr Double -> CInt +legendre_P3_e :: Double -> (Double,Double) +legendre_P3_e x = createSFR "legendre_P3_e" $ gsl_sf_legendre_P3_e x +foreign import ccall "legendre.h gsl_sf_legendre_P3_e" gsl_sf_legendre_P3_e :: Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_legendre_P1(double x); -- @@ -110,12 +128,12 @@ legendre_P3 :: Double -> Double legendre_P3 = gsl_sf_legendre_P3 foreign import ccall "legendre.h gsl_sf_legendre_P3" gsl_sf_legendre_P3 :: Double -> Double --- | wrapper for int gsl_sf_legendre_Q0_e(double x,double* result); +-- | wrapper for int gsl_sf_legendre_Q0_e(double x,gsl_sf_result* result); -- -- -legendre_Q0_e :: Double -> Ptr Double -> CInt -legendre_Q0_e = gsl_sf_legendre_Q0_e -foreign import ccall "legendre.h gsl_sf_legendre_Q0_e" gsl_sf_legendre_Q0_e :: Double -> Ptr Double -> CInt +legendre_Q0_e :: Double -> (Double,Double) +legendre_Q0_e x = createSFR "legendre_Q0_e" $ gsl_sf_legendre_Q0_e x +foreign import ccall "legendre.h gsl_sf_legendre_Q0_e" gsl_sf_legendre_Q0_e :: Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_legendre_Q0(double x); -- @@ -124,12 +142,12 @@ legendre_Q0 :: Double -> Double legendre_Q0 = gsl_sf_legendre_Q0 foreign import ccall "legendre.h gsl_sf_legendre_Q0" gsl_sf_legendre_Q0 :: Double -> Double --- | wrapper for int gsl_sf_legendre_Q1_e(double x,double* result); +-- | wrapper for int gsl_sf_legendre_Q1_e(double x,gsl_sf_result* result); -- -- -legendre_Q1_e :: Double -> Ptr Double -> CInt -legendre_Q1_e = gsl_sf_legendre_Q1_e -foreign import ccall "legendre.h gsl_sf_legendre_Q1_e" gsl_sf_legendre_Q1_e :: Double -> Ptr Double -> CInt +legendre_Q1_e :: Double -> (Double,Double) +legendre_Q1_e x = createSFR "legendre_Q1_e" $ gsl_sf_legendre_Q1_e x +foreign import ccall "legendre.h gsl_sf_legendre_Q1_e" gsl_sf_legendre_Q1_e :: Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_legendre_Q1(double x); -- @@ -138,12 +156,12 @@ legendre_Q1 :: Double -> Double legendre_Q1 = gsl_sf_legendre_Q1 foreign import ccall "legendre.h gsl_sf_legendre_Q1" gsl_sf_legendre_Q1 :: Double -> Double --- | wrapper for int gsl_sf_legendre_Ql_e(int l,double x,double* result); +-- | wrapper for int gsl_sf_legendre_Ql_e(int l,double x,gsl_sf_result* result); -- -- -legendre_Ql_e :: CInt -> Double -> Ptr Double -> CInt -legendre_Ql_e = gsl_sf_legendre_Ql_e -foreign import ccall "legendre.h gsl_sf_legendre_Ql_e" gsl_sf_legendre_Ql_e :: CInt -> Double -> Ptr Double -> CInt +legendre_Ql_e :: CInt -> Double -> (Double,Double) +legendre_Ql_e l x = createSFR "legendre_Ql_e" $ gsl_sf_legendre_Ql_e l x +foreign import ccall "legendre.h gsl_sf_legendre_Ql_e" gsl_sf_legendre_Ql_e :: CInt -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_legendre_Ql(int l,double x); -- @@ -152,12 +170,12 @@ legendre_Ql :: CInt -> Double -> Double legendre_Ql = gsl_sf_legendre_Ql foreign import ccall "legendre.h gsl_sf_legendre_Ql" gsl_sf_legendre_Ql :: CInt -> Double -> Double --- | wrapper for int gsl_sf_legendre_Plm_e(int l,int m,double x,double* result); +-- | wrapper for int gsl_sf_legendre_Plm_e(int l,int m,double x,gsl_sf_result* result); -- -- -legendre_Plm_e :: CInt -> CInt -> Double -> Ptr Double -> CInt -legendre_Plm_e = gsl_sf_legendre_Plm_e -foreign import ccall "legendre.h gsl_sf_legendre_Plm_e" gsl_sf_legendre_Plm_e :: CInt -> CInt -> Double -> Ptr Double -> CInt +legendre_Plm_e :: CInt -> CInt -> Double -> (Double,Double) +legendre_Plm_e l m x = createSFR "legendre_Plm_e" $ gsl_sf_legendre_Plm_e l m x +foreign import ccall "legendre.h gsl_sf_legendre_Plm_e" gsl_sf_legendre_Plm_e :: CInt -> CInt -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_legendre_Plm(int l,int m,double x); -- @@ -180,12 +198,12 @@ legendre_Plm_deriv_array :: CInt -> CInt -> Double -> Ptr Double -> Ptr Double - legendre_Plm_deriv_array = gsl_sf_legendre_Plm_deriv_array foreign import ccall "legendre.h gsl_sf_legendre_Plm_deriv_array" gsl_sf_legendre_Plm_deriv_array :: CInt -> CInt -> Double -> Ptr Double -> Ptr Double -> CInt --- | wrapper for int gsl_sf_legendre_sphPlm_e(int l,int m,double x,double* result); +-- | wrapper for int gsl_sf_legendre_sphPlm_e(int l,int m,double x,gsl_sf_result* result); -- -- -legendre_sphPlm_e :: CInt -> CInt -> Double -> Ptr Double -> CInt -legendre_sphPlm_e = gsl_sf_legendre_sphPlm_e -foreign import ccall "legendre.h gsl_sf_legendre_sphPlm_e" gsl_sf_legendre_sphPlm_e :: CInt -> CInt -> Double -> Ptr Double -> CInt +legendre_sphPlm_e :: CInt -> CInt -> Double -> (Double,Double) +legendre_sphPlm_e l m x = createSFR "legendre_sphPlm_e" $ gsl_sf_legendre_sphPlm_e l m x +foreign import ccall "legendre.h gsl_sf_legendre_sphPlm_e" gsl_sf_legendre_sphPlm_e :: CInt -> CInt -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_legendre_sphPlm(int l,int m,double x); -- @@ -215,12 +233,12 @@ legendre_array_size :: CInt -> CInt -> CInt legendre_array_size = gsl_sf_legendre_array_size foreign import ccall "legendre.h gsl_sf_legendre_array_size" gsl_sf_legendre_array_size :: CInt -> CInt -> CInt --- | wrapper for int gsl_sf_conicalP_half_e(double lambda,double x,double* result); +-- | wrapper for int gsl_sf_conicalP_half_e(double lambda,double x,gsl_sf_result* result); -- -- -conicalP_half_e :: Double -> Double -> Ptr Double -> CInt -conicalP_half_e = gsl_sf_conicalP_half_e -foreign import ccall "legendre.h gsl_sf_conicalP_half_e" gsl_sf_conicalP_half_e :: Double -> Double -> Ptr Double -> CInt +conicalP_half_e :: Double -> Double -> (Double,Double) +conicalP_half_e lambda x = createSFR "conicalP_half_e" $ gsl_sf_conicalP_half_e lambda x +foreign import ccall "legendre.h gsl_sf_conicalP_half_e" gsl_sf_conicalP_half_e :: Double -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_conicalP_half(double lambda,double x); -- @@ -229,12 +247,12 @@ conicalP_half :: Double -> Double -> Double conicalP_half = gsl_sf_conicalP_half foreign import ccall "legendre.h gsl_sf_conicalP_half" gsl_sf_conicalP_half :: Double -> Double -> Double --- | wrapper for int gsl_sf_conicalP_mhalf_e(double lambda,double x,double* result); +-- | wrapper for int gsl_sf_conicalP_mhalf_e(double lambda,double x,gsl_sf_result* result); -- -- -conicalP_mhalf_e :: Double -> Double -> Ptr Double -> CInt -conicalP_mhalf_e = gsl_sf_conicalP_mhalf_e -foreign import ccall "legendre.h gsl_sf_conicalP_mhalf_e" gsl_sf_conicalP_mhalf_e :: Double -> Double -> Ptr Double -> CInt +conicalP_mhalf_e :: Double -> Double -> (Double,Double) +conicalP_mhalf_e lambda x = createSFR "conicalP_mhalf_e" $ gsl_sf_conicalP_mhalf_e lambda x +foreign import ccall "legendre.h gsl_sf_conicalP_mhalf_e" gsl_sf_conicalP_mhalf_e :: Double -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_conicalP_mhalf(double lambda,double x); -- @@ -243,12 +261,12 @@ conicalP_mhalf :: Double -> Double -> Double conicalP_mhalf = gsl_sf_conicalP_mhalf foreign import ccall "legendre.h gsl_sf_conicalP_mhalf" gsl_sf_conicalP_mhalf :: Double -> Double -> Double --- | wrapper for int gsl_sf_conicalP_0_e(double lambda,double x,double* result); +-- | wrapper for int gsl_sf_conicalP_0_e(double lambda,double x,gsl_sf_result* result); -- -- -conicalP_0_e :: Double -> Double -> Ptr Double -> CInt -conicalP_0_e = gsl_sf_conicalP_0_e -foreign import ccall "legendre.h gsl_sf_conicalP_0_e" gsl_sf_conicalP_0_e :: Double -> Double -> Ptr Double -> CInt +conicalP_0_e :: Double -> Double -> (Double,Double) +conicalP_0_e lambda x = createSFR "conicalP_0_e" $ gsl_sf_conicalP_0_e lambda x +foreign import ccall "legendre.h gsl_sf_conicalP_0_e" gsl_sf_conicalP_0_e :: Double -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_conicalP_0(double lambda,double x); -- @@ -257,12 +275,12 @@ conicalP_0 :: Double -> Double -> Double conicalP_0 = gsl_sf_conicalP_0 foreign import ccall "legendre.h gsl_sf_conicalP_0" gsl_sf_conicalP_0 :: Double -> Double -> Double --- | wrapper for int gsl_sf_conicalP_1_e(double lambda,double x,double* result); +-- | wrapper for int gsl_sf_conicalP_1_e(double lambda,double x,gsl_sf_result* result); -- -- -conicalP_1_e :: Double -> Double -> Ptr Double -> CInt -conicalP_1_e = gsl_sf_conicalP_1_e -foreign import ccall "legendre.h gsl_sf_conicalP_1_e" gsl_sf_conicalP_1_e :: Double -> Double -> Ptr Double -> CInt +conicalP_1_e :: Double -> Double -> (Double,Double) +conicalP_1_e lambda x = createSFR "conicalP_1_e" $ gsl_sf_conicalP_1_e lambda x +foreign import ccall "legendre.h gsl_sf_conicalP_1_e" gsl_sf_conicalP_1_e :: Double -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_conicalP_1(double lambda,double x); -- @@ -271,12 +289,12 @@ conicalP_1 :: Double -> Double -> Double conicalP_1 = gsl_sf_conicalP_1 foreign import ccall "legendre.h gsl_sf_conicalP_1" gsl_sf_conicalP_1 :: Double -> Double -> Double --- | wrapper for int gsl_sf_conicalP_sph_reg_e(int l,double lambda,double x,double* result); +-- | wrapper for int gsl_sf_conicalP_sph_reg_e(int l,double lambda,double x,gsl_sf_result* result); -- -- -conicalP_sph_reg_e :: CInt -> Double -> Double -> Ptr Double -> CInt -conicalP_sph_reg_e = gsl_sf_conicalP_sph_reg_e -foreign import ccall "legendre.h gsl_sf_conicalP_sph_reg_e" gsl_sf_conicalP_sph_reg_e :: CInt -> Double -> Double -> Ptr Double -> CInt +conicalP_sph_reg_e :: CInt -> Double -> Double -> (Double,Double) +conicalP_sph_reg_e l lambda x = createSFR "conicalP_sph_reg_e" $ gsl_sf_conicalP_sph_reg_e l lambda x +foreign import ccall "legendre.h gsl_sf_conicalP_sph_reg_e" gsl_sf_conicalP_sph_reg_e :: CInt -> Double -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_conicalP_sph_reg(int l,double lambda,double x); -- @@ -285,12 +303,12 @@ conicalP_sph_reg :: CInt -> Double -> Double -> Double conicalP_sph_reg = gsl_sf_conicalP_sph_reg foreign import ccall "legendre.h gsl_sf_conicalP_sph_reg" gsl_sf_conicalP_sph_reg :: CInt -> Double -> Double -> Double --- | wrapper for int gsl_sf_conicalP_cyl_reg_e(int m,double lambda,double x,double* result); +-- | wrapper for int gsl_sf_conicalP_cyl_reg_e(int m,double lambda,double x,gsl_sf_result* result); -- -- -conicalP_cyl_reg_e :: CInt -> Double -> Double -> Ptr Double -> CInt -conicalP_cyl_reg_e = gsl_sf_conicalP_cyl_reg_e -foreign import ccall "legendre.h gsl_sf_conicalP_cyl_reg_e" gsl_sf_conicalP_cyl_reg_e :: CInt -> Double -> Double -> Ptr Double -> CInt +conicalP_cyl_reg_e :: CInt -> Double -> Double -> (Double,Double) +conicalP_cyl_reg_e m lambda x = createSFR "conicalP_cyl_reg_e" $ gsl_sf_conicalP_cyl_reg_e m lambda x +foreign import ccall "legendre.h gsl_sf_conicalP_cyl_reg_e" gsl_sf_conicalP_cyl_reg_e :: CInt -> Double -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_conicalP_cyl_reg(int m,double lambda,double x); -- @@ -299,12 +317,12 @@ conicalP_cyl_reg :: CInt -> Double -> Double -> Double conicalP_cyl_reg = gsl_sf_conicalP_cyl_reg foreign import ccall "legendre.h gsl_sf_conicalP_cyl_reg" gsl_sf_conicalP_cyl_reg :: CInt -> Double -> Double -> Double --- | wrapper for int gsl_sf_legendre_H3d_0_e(double lambda,double eta,double* result); +-- | wrapper for int gsl_sf_legendre_H3d_0_e(double lambda,double eta,gsl_sf_result* result); -- -- -legendre_H3d_0_e :: Double -> Double -> Ptr Double -> CInt -legendre_H3d_0_e = gsl_sf_legendre_H3d_0_e -foreign import ccall "legendre.h gsl_sf_legendre_H3d_0_e" gsl_sf_legendre_H3d_0_e :: Double -> Double -> Ptr Double -> CInt +legendre_H3d_0_e :: Double -> Double -> (Double,Double) +legendre_H3d_0_e lambda eta = createSFR "legendre_H3d_0_e" $ gsl_sf_legendre_H3d_0_e lambda eta +foreign import ccall "legendre.h gsl_sf_legendre_H3d_0_e" gsl_sf_legendre_H3d_0_e :: Double -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_legendre_H3d_0(double lambda,double eta); -- @@ -313,12 +331,12 @@ legendre_H3d_0 :: Double -> Double -> Double legendre_H3d_0 = gsl_sf_legendre_H3d_0 foreign import ccall "legendre.h gsl_sf_legendre_H3d_0" gsl_sf_legendre_H3d_0 :: Double -> Double -> Double --- | wrapper for int gsl_sf_legendre_H3d_1_e(double lambda,double eta,double* result); +-- | wrapper for int gsl_sf_legendre_H3d_1_e(double lambda,double eta,gsl_sf_result* result); -- -- -legendre_H3d_1_e :: Double -> Double -> Ptr Double -> CInt -legendre_H3d_1_e = gsl_sf_legendre_H3d_1_e -foreign import ccall "legendre.h gsl_sf_legendre_H3d_1_e" gsl_sf_legendre_H3d_1_e :: Double -> Double -> Ptr Double -> CInt +legendre_H3d_1_e :: Double -> Double -> (Double,Double) +legendre_H3d_1_e lambda eta = createSFR "legendre_H3d_1_e" $ gsl_sf_legendre_H3d_1_e lambda eta +foreign import ccall "legendre.h gsl_sf_legendre_H3d_1_e" gsl_sf_legendre_H3d_1_e :: Double -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_legendre_H3d_1(double lambda,double eta); -- @@ -327,12 +345,12 @@ legendre_H3d_1 :: Double -> Double -> Double legendre_H3d_1 = gsl_sf_legendre_H3d_1 foreign import ccall "legendre.h gsl_sf_legendre_H3d_1" gsl_sf_legendre_H3d_1 :: Double -> Double -> Double --- | wrapper for int gsl_sf_legendre_H3d_e(int l,double lambda,double eta,double* result); +-- | wrapper for int gsl_sf_legendre_H3d_e(int l,double lambda,double eta,gsl_sf_result* result); -- -- -legendre_H3d_e :: CInt -> Double -> Double -> Ptr Double -> CInt -legendre_H3d_e = gsl_sf_legendre_H3d_e -foreign import ccall "legendre.h gsl_sf_legendre_H3d_e" gsl_sf_legendre_H3d_e :: CInt -> Double -> Double -> Ptr Double -> CInt +legendre_H3d_e :: CInt -> Double -> Double -> (Double,Double) +legendre_H3d_e l lambda eta = createSFR "legendre_H3d_e" $ gsl_sf_legendre_H3d_e l lambda eta +foreign import ccall "legendre.h gsl_sf_legendre_H3d_e" gsl_sf_legendre_H3d_e :: CInt -> Double -> Double -> Ptr () -> IO CInt -- | wrapper for double gsl_sf_legendre_H3d(int l,double lambda,double eta); -- -- cgit v1.2.3