casadi-bindings-1.9.0.0: Casadi/Wrappers/Classes/RKIntegrator.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.RKIntegrator
(
RKIntegrator,
RKIntegratorClass(..),
rkIntegrator,
rkIntegrator',
rkIntegrator'',
rkIntegrator_checkNode,
rkIntegrator_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 RKIntegrator where
show = unsafePerformIO . printableObject_getDescription
-- direct wrapper
foreign import ccall unsafe "CasADi__RKIntegrator__checkNode" c_CasADi__RKIntegrator__checkNode
:: Ptr RKIntegrator' -> IO CInt
casADi__RKIntegrator__checkNode
:: RKIntegrator -> IO Bool
casADi__RKIntegrator__checkNode x0 =
withMarshal x0 $ \x0' ->
c_CasADi__RKIntegrator__checkNode x0' >>= wrapReturn
-- classy wrapper
{-|
>Check if the node is pointing to the right type of object.
-}
rkIntegrator_checkNode :: RKIntegratorClass a => a -> IO Bool
rkIntegrator_checkNode x = casADi__RKIntegrator__checkNode (castRKIntegrator x)
-- direct wrapper
foreign import ccall unsafe "CasADi__RKIntegrator__creator" c_CasADi__RKIntegrator__creator
:: Ptr Function' -> Ptr Function' -> IO (Ptr Integrator')
casADi__RKIntegrator__creator
:: Function -> Function -> IO Integrator
casADi__RKIntegrator__creator x0 x1 =
withMarshal x0 $ \x0' ->
withMarshal x1 $ \x1' ->
c_CasADi__RKIntegrator__creator x0' x1' >>= wrapReturn
-- classy wrapper
rkIntegrator_creator :: Function -> Function -> IO Integrator
rkIntegrator_creator = casADi__RKIntegrator__creator
-- direct wrapper
foreign import ccall unsafe "CasADi__RKIntegrator__RKIntegrator" c_CasADi__RKIntegrator__RKIntegrator
:: IO (Ptr RKIntegrator')
casADi__RKIntegrator__RKIntegrator
:: IO RKIntegrator
casADi__RKIntegrator__RKIntegrator =
c_CasADi__RKIntegrator__RKIntegrator >>= wrapReturn
-- classy wrapper
{-|
>> CasADi::RKIntegrator::RKIntegrator()
>------------------------------------------------------------------------
>
>Default constructor.
>
>> CasADi::RKIntegrator::RKIntegrator(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. . |
>+-----------+-------+-------------------------------------------+
-}
rkIntegrator :: IO RKIntegrator
rkIntegrator = casADi__RKIntegrator__RKIntegrator
-- direct wrapper
foreign import ccall unsafe "CasADi__RKIntegrator__RKIntegrator_TIC" c_CasADi__RKIntegrator__RKIntegrator_TIC
:: Ptr Function' -> Ptr Function' -> IO (Ptr RKIntegrator')
casADi__RKIntegrator__RKIntegrator'
:: Function -> Function -> IO RKIntegrator
casADi__RKIntegrator__RKIntegrator' x0 x1 =
withMarshal x0 $ \x0' ->
withMarshal x1 $ \x1' ->
c_CasADi__RKIntegrator__RKIntegrator_TIC x0' x1' >>= wrapReturn
-- classy wrapper
rkIntegrator' :: Function -> Function -> IO RKIntegrator
rkIntegrator' = casADi__RKIntegrator__RKIntegrator'
-- direct wrapper
foreign import ccall unsafe "CasADi__RKIntegrator__RKIntegrator_TIC_TIC" c_CasADi__RKIntegrator__RKIntegrator_TIC_TIC
:: Ptr Function' -> IO (Ptr RKIntegrator')
casADi__RKIntegrator__RKIntegrator''
:: Function -> IO RKIntegrator
casADi__RKIntegrator__RKIntegrator'' x0 =
withMarshal x0 $ \x0' ->
c_CasADi__RKIntegrator__RKIntegrator_TIC_TIC x0' >>= wrapReturn
-- classy wrapper
rkIntegrator'' :: Function -> IO RKIntegrator
rkIntegrator'' = casADi__RKIntegrator__RKIntegrator''