packages feed

casadi-bindings-1.9.0.0: Casadi/Wrappers/Classes/SymbolicQR.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.SymbolicQR
       (
         SymbolicQR,
         SymbolicQRClass(..),
         symbolicQR,
         symbolicQR',
         symbolicQR'',
         symbolicQR_checkNode,
         symbolicQR_creator,
       ) 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.CToolsInstances ( )
import Casadi.Wrappers.Data
import Casadi.Wrappers.Enums
import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
import Casadi.Marshal ( Marshal(..), withMarshal )
import Casadi.WrapReturn ( WrapReturn(..) )

instance Show SymbolicQR where
  show = unsafePerformIO . printableObject_getDescription
-- direct wrapper
foreign import ccall unsafe "CasADi__SymbolicQR__checkNode" c_CasADi__SymbolicQR__checkNode
  :: Ptr SymbolicQR' -> IO CInt
casADi__SymbolicQR__checkNode
  :: SymbolicQR -> IO Bool
casADi__SymbolicQR__checkNode x0 =
  withMarshal x0 $ \x0' ->
  c_CasADi__SymbolicQR__checkNode x0' >>= wrapReturn

-- classy wrapper
{-|
>Check if the node is pointing to the right type of object.
-}
symbolicQR_checkNode :: SymbolicQRClass a => a -> IO Bool
symbolicQR_checkNode x = casADi__SymbolicQR__checkNode (castSymbolicQR x)


-- direct wrapper
foreign import ccall unsafe "CasADi__SymbolicQR__creator" c_CasADi__SymbolicQR__creator
  :: Ptr Sparsity' -> CInt -> IO (Ptr LinearSolver')
casADi__SymbolicQR__creator
  :: Sparsity -> Int -> IO LinearSolver
casADi__SymbolicQR__creator x0 x1 =
  withMarshal x0 $ \x0' ->
  withMarshal x1 $ \x1' ->
  c_CasADi__SymbolicQR__creator x0' x1' >>= wrapReturn

-- classy wrapper
symbolicQR_creator :: Sparsity -> Int -> IO LinearSolver
symbolicQR_creator = casADi__SymbolicQR__creator


-- direct wrapper
foreign import ccall unsafe "CasADi__SymbolicQR__SymbolicQR" c_CasADi__SymbolicQR__SymbolicQR
  :: IO (Ptr SymbolicQR')
casADi__SymbolicQR__SymbolicQR
  :: IO SymbolicQR
casADi__SymbolicQR__SymbolicQR  =
  c_CasADi__SymbolicQR__SymbolicQR  >>= wrapReturn

-- classy wrapper
{-|
>>  CasADi::SymbolicQR::SymbolicQR()
>------------------------------------------------------------------------
>
>Default (empty) constructor.
>
>>  CasADi::SymbolicQR::SymbolicQR(const Sparsity &sp, int nrhs=1)
>------------------------------------------------------------------------
>
>Create a linear solver given a sparsity pattern.
-}
symbolicQR :: IO SymbolicQR
symbolicQR = casADi__SymbolicQR__SymbolicQR


-- direct wrapper
foreign import ccall unsafe "CasADi__SymbolicQR__SymbolicQR_TIC" c_CasADi__SymbolicQR__SymbolicQR_TIC
  :: Ptr Sparsity' -> CInt -> IO (Ptr SymbolicQR')
casADi__SymbolicQR__SymbolicQR'
  :: Sparsity -> Int -> IO SymbolicQR
casADi__SymbolicQR__SymbolicQR' x0 x1 =
  withMarshal x0 $ \x0' ->
  withMarshal x1 $ \x1' ->
  c_CasADi__SymbolicQR__SymbolicQR_TIC x0' x1' >>= wrapReturn

-- classy wrapper
symbolicQR' :: Sparsity -> Int -> IO SymbolicQR
symbolicQR' = casADi__SymbolicQR__SymbolicQR'


-- direct wrapper
foreign import ccall unsafe "CasADi__SymbolicQR__SymbolicQR_TIC_TIC" c_CasADi__SymbolicQR__SymbolicQR_TIC_TIC
  :: Ptr Sparsity' -> IO (Ptr SymbolicQR')
casADi__SymbolicQR__SymbolicQR''
  :: Sparsity -> IO SymbolicQR
casADi__SymbolicQR__SymbolicQR'' x0 =
  withMarshal x0 $ \x0' ->
  c_CasADi__SymbolicQR__SymbolicQR_TIC_TIC x0' >>= wrapReturn

-- classy wrapper
symbolicQR'' :: Sparsity -> IO SymbolicQR
symbolicQR'' = casADi__SymbolicQR__SymbolicQR''