casadi-bindings-1.8.0.0: Casadi/Wrappers/Classes/CSparse.hs
{-# OPTIONS_GHC -Wall #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# Language ForeignFunctionInterface #-}
{-# Language FlexibleInstances #-}
{-# Language MultiParamTypeClasses #-}
module Casadi.Wrappers.Classes.CSparse
(
CSparse,
CSparseClass(..),
csparse,
csparse',
csparse'',
csparse_checkNode,
) where
import Prelude hiding ( Functor )
import Data.Vector ( Vector )
import Foreign.C.Types
import Foreign.Ptr ( Ptr )
import Foreign.ForeignPtr ( newForeignPtr )
import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
import Casadi.Wrappers.Classes.PrintableObject
import Casadi.Wrappers.ForeignToolsInstances ( )
import Casadi.Wrappers.Deleters
import Casadi.Wrappers.Data
import Casadi.Wrappers.Enums
import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
StdString', CppBool' ) -- StdOstream'
import Casadi.Marshal ( CornerCase(..), Marshal(..) )
import Casadi.WrapReturn ( WrapReturn(..) )
instance Show CSparse where
show = unsafePerformIO . printableObject_getDescription
-- direct wrapper
foreign import ccall unsafe "CasADi__CSparse__checkNode" c_CasADi__CSparse__checkNode
:: Ptr CSparse' -> IO (Ptr CppBool')
casADi__CSparse__checkNode
:: CSparse -> IO Bool
casADi__CSparse__checkNode x0 =
withMarshal x0 $ \x0' ->
c_CasADi__CSparse__checkNode x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
-- classy wrapper
{-|
>Check if the node is pointing to the right type of object.
-}
csparse_checkNode :: CSparseClass a => a -> IO Bool
csparse_checkNode x = casADi__CSparse__checkNode (castCSparse x)
-- direct wrapper
foreign import ccall unsafe "CasADi__CSparse__CSparse" c_CasADi__CSparse__CSparse
:: IO (Ptr CSparse')
casADi__CSparse__CSparse
:: IO CSparse
casADi__CSparse__CSparse =
c_CasADi__CSparse__CSparse >>= (newForeignPtr c_delete_CasADi__CSparse) >>= wrapReturn
-- classy wrapper
{-|
>> CasADi::CSparse::CSparse()
>------------------------------------------------------------------------
>
>Default (empty) constructor.
>
>> CasADi::CSparse::CSparse(const CRSSparsity &sp, int nrhs=1)
>------------------------------------------------------------------------
>
>Create a linear solver given a sparsity pattern.
-}
csparse :: IO CSparse
csparse = casADi__CSparse__CSparse
-- direct wrapper
foreign import ccall unsafe "CasADi__CSparse__CSparse_TIC" c_CasADi__CSparse__CSparse_TIC
:: Ptr CRSSparsity' -> CInt -> IO (Ptr CSparse')
casADi__CSparse__CSparse'
:: CRSSparsity -> Int -> IO CSparse
casADi__CSparse__CSparse' x0 x1 =
withMarshal x0 $ \x0' ->
withMarshal x1 $ \x1' ->
c_CasADi__CSparse__CSparse_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__CSparse) >>= wrapReturn
-- classy wrapper
csparse' :: CRSSparsity -> Int -> IO CSparse
csparse' = casADi__CSparse__CSparse'
-- direct wrapper
foreign import ccall unsafe "CasADi__CSparse__CSparse_TIC_TIC" c_CasADi__CSparse__CSparse_TIC_TIC
:: Ptr CRSSparsity' -> IO (Ptr CSparse')
casADi__CSparse__CSparse''
:: CRSSparsity -> IO CSparse
casADi__CSparse__CSparse'' x0 =
withMarshal x0 $ \x0' ->
c_CasADi__CSparse__CSparse_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CSparse) >>= wrapReturn
-- classy wrapper
csparse'' :: CRSSparsity -> IO CSparse
csparse'' = casADi__CSparse__CSparse''