module Bindings.Gsl.SeriesAcceleration where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
data C'gsl_sum_levin_u_workspace = C'gsl_sum_levin_u_workspace{
c'gsl_sum_levin_u_workspace'size :: CSize
,
c'gsl_sum_levin_u_workspace'i :: CSize
,
c'gsl_sum_levin_u_workspace'terms_used :: CSize
,
c'gsl_sum_levin_u_workspace'sum_plain :: CDouble
,
c'gsl_sum_levin_u_workspace'q_num :: Ptr CDouble
,
c'gsl_sum_levin_u_workspace'q_den :: Ptr CDouble
,
c'gsl_sum_levin_u_workspace'dq_num :: Ptr CDouble
,
c'gsl_sum_levin_u_workspace'dq_den :: Ptr CDouble
,
c'gsl_sum_levin_u_workspace'dsum :: Ptr CDouble
} deriving (Eq,Show)
instance Storable C'gsl_sum_levin_u_workspace where
sizeOf _ = 40
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 20
v5 <- peekByteOff p 24
v6 <- peekByteOff p 28
v7 <- peekByteOff p 32
v8 <- peekByteOff p 36
return $ C'gsl_sum_levin_u_workspace v0 v1 v2 v3 v4 v5 v6 v7 v8
poke p (C'gsl_sum_levin_u_workspace v0 v1 v2 v3 v4 v5 v6 v7 v8) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 20 v4
pokeByteOff p 24 v5
pokeByteOff p 28 v6
pokeByteOff p 32 v7
pokeByteOff p 36 v8
return ()
foreign import ccall "gsl_sum_levin_u_alloc" c'gsl_sum_levin_u_alloc
:: CSize -> IO (Ptr C'gsl_sum_levin_u_workspace)
foreign import ccall "&gsl_sum_levin_u_alloc" p'gsl_sum_levin_u_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_sum_levin_u_workspace))
foreign import ccall "gsl_sum_levin_u_free" c'gsl_sum_levin_u_free
:: Ptr C'gsl_sum_levin_u_workspace -> IO ()
foreign import ccall "&gsl_sum_levin_u_free" p'gsl_sum_levin_u_free
:: FunPtr (Ptr C'gsl_sum_levin_u_workspace -> IO ())
foreign import ccall "gsl_sum_levin_u_accel" c'gsl_sum_levin_u_accel
:: Ptr CDouble -> CSize -> Ptr C'gsl_sum_levin_u_workspace -> Ptr CDouble -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_sum_levin_u_accel" p'gsl_sum_levin_u_accel
:: FunPtr (Ptr CDouble -> CSize -> Ptr C'gsl_sum_levin_u_workspace -> Ptr CDouble -> Ptr CDouble -> IO CInt)
foreign import ccall "gsl_sum_levin_u_minmax" c'gsl_sum_levin_u_minmax
:: Ptr CDouble -> CSize -> CSize -> CSize -> Ptr C'gsl_sum_levin_u_workspace -> Ptr CDouble -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_sum_levin_u_minmax" p'gsl_sum_levin_u_minmax
:: FunPtr (Ptr CDouble -> CSize -> CSize -> CSize -> Ptr C'gsl_sum_levin_u_workspace -> Ptr CDouble -> Ptr CDouble -> IO CInt)
foreign import ccall "gsl_sum_levin_u_step" c'gsl_sum_levin_u_step
:: CDouble -> CSize -> CSize -> Ptr C'gsl_sum_levin_u_workspace -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_sum_levin_u_step" p'gsl_sum_levin_u_step
:: FunPtr (CDouble -> CSize -> CSize -> Ptr C'gsl_sum_levin_u_workspace -> Ptr CDouble -> IO CInt)
data C'gsl_sum_levin_utrunc_workspace = C'gsl_sum_levin_utrunc_workspace{
c'gsl_sum_levin_utrunc_workspace'size :: CSize
,
c'gsl_sum_levin_utrunc_workspace'i :: CSize
,
c'gsl_sum_levin_utrunc_workspace'terms_used :: CSize
,
c'gsl_sum_levin_utrunc_workspace'sum_plain :: CDouble
,
c'gsl_sum_levin_utrunc_workspace'q_num :: Ptr CDouble
,
c'gsl_sum_levin_utrunc_workspace'q_den :: Ptr CDouble
,
c'gsl_sum_levin_utrunc_workspace'dsum :: Ptr CDouble
} deriving (Eq,Show)
instance Storable C'gsl_sum_levin_utrunc_workspace where
sizeOf _ = 32
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 20
v5 <- peekByteOff p 24
v6 <- peekByteOff p 28
return $ C'gsl_sum_levin_utrunc_workspace v0 v1 v2 v3 v4 v5 v6
poke p (C'gsl_sum_levin_utrunc_workspace v0 v1 v2 v3 v4 v5 v6) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
pokeByteOff p 12 v3
pokeByteOff p 20 v4
pokeByteOff p 24 v5
pokeByteOff p 28 v6
return ()
foreign import ccall "gsl_sum_levin_utrunc_alloc" c'gsl_sum_levin_utrunc_alloc
:: CSize -> IO (Ptr C'gsl_sum_levin_utrunc_workspace)
foreign import ccall "&gsl_sum_levin_utrunc_alloc" p'gsl_sum_levin_utrunc_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_sum_levin_utrunc_workspace))
foreign import ccall "gsl_sum_levin_utrunc_free" c'gsl_sum_levin_utrunc_free
:: Ptr C'gsl_sum_levin_utrunc_workspace -> IO ()
foreign import ccall "&gsl_sum_levin_utrunc_free" p'gsl_sum_levin_utrunc_free
:: FunPtr (Ptr C'gsl_sum_levin_utrunc_workspace -> IO ())
foreign import ccall "gsl_sum_levin_utrunc_accel" c'gsl_sum_levin_utrunc_accel
:: Ptr CDouble -> CSize -> Ptr C'gsl_sum_levin_utrunc_workspace -> Ptr CDouble -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_sum_levin_utrunc_accel" p'gsl_sum_levin_utrunc_accel
:: FunPtr (Ptr CDouble -> CSize -> Ptr C'gsl_sum_levin_utrunc_workspace -> Ptr CDouble -> Ptr CDouble -> IO CInt)
foreign import ccall "gsl_sum_levin_utrunc_minmax" c'gsl_sum_levin_utrunc_minmax
:: Ptr CDouble -> CSize -> CSize -> CSize -> Ptr C'gsl_sum_levin_utrunc_workspace -> Ptr CDouble -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_sum_levin_utrunc_minmax" p'gsl_sum_levin_utrunc_minmax
:: FunPtr (Ptr CDouble -> CSize -> CSize -> CSize -> Ptr C'gsl_sum_levin_utrunc_workspace -> Ptr CDouble -> Ptr CDouble -> IO CInt)
foreign import ccall "gsl_sum_levin_utrunc_step" c'gsl_sum_levin_utrunc_step
:: CDouble -> CSize -> Ptr C'gsl_sum_levin_utrunc_workspace -> Ptr CDouble -> IO CInt
foreign import ccall "&gsl_sum_levin_utrunc_step" p'gsl_sum_levin_utrunc_step
:: FunPtr (CDouble -> CSize -> Ptr C'gsl_sum_levin_utrunc_workspace -> Ptr CDouble -> IO CInt)