packages feed

casadi-bindings-1.9.0.0: Casadi/Wrappers/Classes/CollocationIntegrator.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.CollocationIntegrator
       (
         CollocationIntegrator,
         CollocationIntegratorClass(..),
         collocationIntegrator,
         collocationIntegrator',
         collocationIntegrator'',
         collocationIntegrator_checkNode,
         collocationIntegrator_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 CollocationIntegrator where
  show = unsafePerformIO . printableObject_getDescription
-- direct wrapper
foreign import ccall unsafe "CasADi__CollocationIntegrator__checkNode" c_CasADi__CollocationIntegrator__checkNode
  :: Ptr CollocationIntegrator' -> IO CInt
casADi__CollocationIntegrator__checkNode
  :: CollocationIntegrator -> IO Bool
casADi__CollocationIntegrator__checkNode x0 =
  withMarshal x0 $ \x0' ->
  c_CasADi__CollocationIntegrator__checkNode x0' >>= wrapReturn

-- classy wrapper
{-|
>Check if the node is pointing to the right type of object.
-}
collocationIntegrator_checkNode :: CollocationIntegratorClass a => a -> IO Bool
collocationIntegrator_checkNode x = casADi__CollocationIntegrator__checkNode (castCollocationIntegrator x)


-- direct wrapper
foreign import ccall unsafe "CasADi__CollocationIntegrator__creator" c_CasADi__CollocationIntegrator__creator
  :: Ptr Function' -> Ptr Function' -> IO (Ptr Integrator')
casADi__CollocationIntegrator__creator
  :: Function -> Function -> IO Integrator
casADi__CollocationIntegrator__creator x0 x1 =
  withMarshal x0 $ \x0' ->
  withMarshal x1 $ \x1' ->
  c_CasADi__CollocationIntegrator__creator x0' x1' >>= wrapReturn

-- classy wrapper
collocationIntegrator_creator :: Function -> Function -> IO Integrator
collocationIntegrator_creator = casADi__CollocationIntegrator__creator


-- direct wrapper
foreign import ccall unsafe "CasADi__CollocationIntegrator__CollocationIntegrator" c_CasADi__CollocationIntegrator__CollocationIntegrator
  :: IO (Ptr CollocationIntegrator')
casADi__CollocationIntegrator__CollocationIntegrator
  :: IO CollocationIntegrator
casADi__CollocationIntegrator__CollocationIntegrator  =
  c_CasADi__CollocationIntegrator__CollocationIntegrator  >>= wrapReturn

-- classy wrapper
{-|
>>  CasADi::CollocationIntegrator::CollocationIntegrator()
>------------------------------------------------------------------------
>
>Default constructor.
>
>>  CasADi::CollocationIntegrator::CollocationIntegrator(const Function &f, const Function &g=Function())
>------------------------------------------------------------------------
>
>Create an integrator for explicit ODEs.
>
>Parameters:
>-----------
>
>f:  dynamical system
>
>>Input scheme: CasADi::DAEInput (DAE_NUM_IN = 5) [daeIn]
>+-----------+-------+----------------------------+
>| Full name | Short |        Description         |
>+===========+=======+============================+
>| DAE_X     | x     | Differential state .       |
>+-----------+-------+----------------------------+
>| DAE_Z     | z     | Algebraic state .          |
>+-----------+-------+----------------------------+
>| DAE_P     | p     | Parameter .                |
>+-----------+-------+----------------------------+
>| DAE_T     | t     | Explicit time dependence . |
>+-----------+-------+----------------------------+
>
>>Output scheme: CasADi::DAEOutput (DAE_NUM_OUT = 4) [daeOut]
>+-----------+-------+--------------------------------------------+
>| Full name | Short |                Description                 |
>+===========+=======+============================================+
>| DAE_ODE   | ode   | Right hand side of the implicit ODE .      |
>+-----------+-------+--------------------------------------------+
>| DAE_ALG   | alg   | Right hand side of algebraic equations .   |
>+-----------+-------+--------------------------------------------+
>| DAE_QUAD  | quad  | Right hand side of quadratures equations . |
>+-----------+-------+--------------------------------------------+
>
>Parameters:
>-----------
>
>g:  backwards system
>
>>Input scheme: CasADi::RDAEInput (RDAE_NUM_IN = 8) [rdaeIn]
>+-----------+-------+-------------------------------+
>| Full name | Short |          Description          |
>+===========+=======+===============================+
>| RDAE_RX   | rx    | Backward differential state . |
>+-----------+-------+-------------------------------+
>| RDAE_RZ   | rz    | Backward algebraic state .    |
>+-----------+-------+-------------------------------+
>| RDAE_RP   | rp    | Backward parameter vector .   |
>+-----------+-------+-------------------------------+
>| RDAE_X    | x     | Forward differential state .  |
>+-----------+-------+-------------------------------+
>| RDAE_Z    | z     | Forward algebraic state .     |
>+-----------+-------+-------------------------------+
>| RDAE_P    | p     | Parameter vector .            |
>+-----------+-------+-------------------------------+
>| RDAE_T    | t     | Explicit time dependence .    |
>+-----------+-------+-------------------------------+
>
>>Output scheme: CasADi::RDAEOutput (RDAE_NUM_OUT = 4) [rdaeOut]
>+-----------+-------+-------------------------------------------+
>| Full name | Short |                Description                |
>+===========+=======+===========================================+
>| RDAE_ODE  | ode   | Right hand side of ODE. .                 |
>+-----------+-------+-------------------------------------------+
>| RDAE_ALG  | alg   | Right hand side of algebraic equations. . |
>+-----------+-------+-------------------------------------------+
>| RDAE_QUAD | quad  | Right hand side of quadratures. .         |
>+-----------+-------+-------------------------------------------+
-}
collocationIntegrator :: IO CollocationIntegrator
collocationIntegrator = casADi__CollocationIntegrator__CollocationIntegrator


-- direct wrapper
foreign import ccall unsafe "CasADi__CollocationIntegrator__CollocationIntegrator_TIC" c_CasADi__CollocationIntegrator__CollocationIntegrator_TIC
  :: Ptr Function' -> Ptr Function' -> IO (Ptr CollocationIntegrator')
casADi__CollocationIntegrator__CollocationIntegrator'
  :: Function -> Function -> IO CollocationIntegrator
casADi__CollocationIntegrator__CollocationIntegrator' x0 x1 =
  withMarshal x0 $ \x0' ->
  withMarshal x1 $ \x1' ->
  c_CasADi__CollocationIntegrator__CollocationIntegrator_TIC x0' x1' >>= wrapReturn

-- classy wrapper
collocationIntegrator' :: Function -> Function -> IO CollocationIntegrator
collocationIntegrator' = casADi__CollocationIntegrator__CollocationIntegrator'


-- direct wrapper
foreign import ccall unsafe "CasADi__CollocationIntegrator__CollocationIntegrator_TIC_TIC" c_CasADi__CollocationIntegrator__CollocationIntegrator_TIC_TIC
  :: Ptr Function' -> IO (Ptr CollocationIntegrator')
casADi__CollocationIntegrator__CollocationIntegrator''
  :: Function -> IO CollocationIntegrator
casADi__CollocationIntegrator__CollocationIntegrator'' x0 =
  withMarshal x0 $ \x0' ->
  c_CasADi__CollocationIntegrator__CollocationIntegrator_TIC_TIC x0' >>= wrapReturn

-- classy wrapper
collocationIntegrator'' :: Function -> IO CollocationIntegrator
collocationIntegrator'' = casADi__CollocationIntegrator__CollocationIntegrator''