module Bindings.Gsl.BasisSplines 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
import Bindings.Gsl.VectorsAndMatrices.DataTypes
data C'gsl_bspline_workspace = C'gsl_bspline_workspace{
c'gsl_bspline_workspace'k :: CSize
,
c'gsl_bspline_workspace'km1 :: CSize
,
c'gsl_bspline_workspace'l :: CSize
,
c'gsl_bspline_workspace'nbreak :: CSize
,
c'gsl_bspline_workspace'n :: CSize
,
c'gsl_bspline_workspace'knots :: Ptr C'gsl_vector
,
c'gsl_bspline_workspace'deltal :: Ptr C'gsl_vector
,
c'gsl_bspline_workspace'deltar :: Ptr C'gsl_vector
,
c'gsl_bspline_workspace'B :: Ptr C'gsl_vector
} deriving (Eq,Show)
instance Storable C'gsl_bspline_workspace where
sizeOf _ = 36
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
v3 <- peekByteOff p 12
v4 <- peekByteOff p 16
v5 <- peekByteOff p 20
v6 <- peekByteOff p 24
v7 <- peekByteOff p 28
v8 <- peekByteOff p 32
return $ C'gsl_bspline_workspace v0 v1 v2 v3 v4 v5 v6 v7 v8
poke p (C'gsl_bspline_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 16 v4
pokeByteOff p 20 v5
pokeByteOff p 24 v6
pokeByteOff p 28 v7
pokeByteOff p 32 v8
return ()
data C'gsl_bspline_deriv_workspace = C'gsl_bspline_deriv_workspace{
c'gsl_bspline_deriv_workspace'k :: CSize
,
c'gsl_bspline_deriv_workspace'A :: Ptr C'gsl_matrix
,
c'gsl_bspline_deriv_workspace'dB :: Ptr C'gsl_matrix
} deriving (Eq,Show)
instance Storable C'gsl_bspline_deriv_workspace where
sizeOf _ = 12
alignment = sizeOf
peek p = do
v0 <- peekByteOff p 0
v1 <- peekByteOff p 4
v2 <- peekByteOff p 8
return $ C'gsl_bspline_deriv_workspace v0 v1 v2
poke p (C'gsl_bspline_deriv_workspace v0 v1 v2) = do
pokeByteOff p 0 v0
pokeByteOff p 4 v1
pokeByteOff p 8 v2
return ()
foreign import ccall "gsl_bspline_alloc" c'gsl_bspline_alloc
:: CSize -> CSize -> IO (Ptr C'gsl_bspline_workspace)
foreign import ccall "&gsl_bspline_alloc" p'gsl_bspline_alloc
:: FunPtr (CSize -> CSize -> IO (Ptr C'gsl_bspline_workspace))
foreign import ccall "gsl_bspline_free" c'gsl_bspline_free
:: Ptr C'gsl_bspline_workspace -> IO ()
foreign import ccall "&gsl_bspline_free" p'gsl_bspline_free
:: FunPtr (Ptr C'gsl_bspline_workspace -> IO ())
foreign import ccall "gsl_bspline_ncoeffs" c'gsl_bspline_ncoeffs
:: Ptr C'gsl_bspline_workspace -> IO CSize
foreign import ccall "&gsl_bspline_ncoeffs" p'gsl_bspline_ncoeffs
:: FunPtr (Ptr C'gsl_bspline_workspace -> IO CSize)
foreign import ccall "gsl_bspline_order" c'gsl_bspline_order
:: Ptr C'gsl_bspline_workspace -> IO CSize
foreign import ccall "&gsl_bspline_order" p'gsl_bspline_order
:: FunPtr (Ptr C'gsl_bspline_workspace -> IO CSize)
foreign import ccall "gsl_bspline_nbreak" c'gsl_bspline_nbreak
:: Ptr C'gsl_bspline_workspace -> IO CSize
foreign import ccall "&gsl_bspline_nbreak" p'gsl_bspline_nbreak
:: FunPtr (Ptr C'gsl_bspline_workspace -> IO CSize)
foreign import ccall "gsl_bspline_breakpoint" c'gsl_bspline_breakpoint
:: CSize -> Ptr C'gsl_bspline_workspace -> IO CDouble
foreign import ccall "&gsl_bspline_breakpoint" p'gsl_bspline_breakpoint
:: FunPtr (CSize -> Ptr C'gsl_bspline_workspace -> IO CDouble)
foreign import ccall "gsl_bspline_knots" c'gsl_bspline_knots
:: Ptr C'gsl_vector -> Ptr C'gsl_bspline_workspace -> IO CInt
foreign import ccall "&gsl_bspline_knots" p'gsl_bspline_knots
:: FunPtr (Ptr C'gsl_vector -> Ptr C'gsl_bspline_workspace -> IO CInt)
foreign import ccall "gsl_bspline_knots_uniform" c'gsl_bspline_knots_uniform
:: CDouble -> CDouble -> Ptr C'gsl_bspline_workspace -> IO CInt
foreign import ccall "&gsl_bspline_knots_uniform" p'gsl_bspline_knots_uniform
:: FunPtr (CDouble -> CDouble -> Ptr C'gsl_bspline_workspace -> IO CInt)
foreign import ccall "gsl_bspline_eval" c'gsl_bspline_eval
:: CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_bspline_workspace -> IO CInt
foreign import ccall "&gsl_bspline_eval" p'gsl_bspline_eval
:: FunPtr (CDouble -> Ptr C'gsl_vector -> Ptr C'gsl_bspline_workspace -> IO CInt)
foreign import ccall "gsl_bspline_eval_nonzero" c'gsl_bspline_eval_nonzero
:: CDouble -> Ptr C'gsl_vector -> Ptr CSize -> Ptr CSize -> Ptr C'gsl_bspline_workspace -> IO CInt
foreign import ccall "&gsl_bspline_eval_nonzero" p'gsl_bspline_eval_nonzero
:: FunPtr (CDouble -> Ptr C'gsl_vector -> Ptr CSize -> Ptr CSize -> Ptr C'gsl_bspline_workspace -> IO CInt)
foreign import ccall "gsl_bspline_deriv_alloc" c'gsl_bspline_deriv_alloc
:: CSize -> IO (Ptr C'gsl_bspline_deriv_workspace)
foreign import ccall "&gsl_bspline_deriv_alloc" p'gsl_bspline_deriv_alloc
:: FunPtr (CSize -> IO (Ptr C'gsl_bspline_deriv_workspace))
foreign import ccall "gsl_bspline_deriv_free" c'gsl_bspline_deriv_free
:: Ptr C'gsl_bspline_deriv_workspace -> IO ()
foreign import ccall "&gsl_bspline_deriv_free" p'gsl_bspline_deriv_free
:: FunPtr (Ptr C'gsl_bspline_deriv_workspace -> IO ())
foreign import ccall "gsl_bspline_deriv_eval" c'gsl_bspline_deriv_eval
:: CDouble -> CSize -> Ptr C'gsl_matrix -> Ptr C'gsl_bspline_workspace -> Ptr C'gsl_bspline_deriv_workspace -> IO CInt
foreign import ccall "&gsl_bspline_deriv_eval" p'gsl_bspline_deriv_eval
:: FunPtr (CDouble -> CSize -> Ptr C'gsl_matrix -> Ptr C'gsl_bspline_workspace -> Ptr C'gsl_bspline_deriv_workspace -> IO CInt)
foreign import ccall "gsl_bspline_deriv_eval_nonzero" c'gsl_bspline_deriv_eval_nonzero
:: CDouble -> CSize -> Ptr C'gsl_matrix -> Ptr CSize -> Ptr CSize -> Ptr C'gsl_bspline_workspace -> Ptr C'gsl_bspline_deriv_workspace -> IO CInt
foreign import ccall "&gsl_bspline_deriv_eval_nonzero" p'gsl_bspline_deriv_eval_nonzero
:: FunPtr (CDouble -> CSize -> Ptr C'gsl_matrix -> Ptr CSize -> Ptr CSize -> Ptr C'gsl_bspline_workspace -> Ptr C'gsl_bspline_deriv_workspace -> IO CInt)