casadi-bindings-1.8.0.0: Casadi/Wrappers/Classes/CustomFunction.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.CustomFunction
(
CustomFunction,
CustomFunctionClass(..),
customFunction,
customFunction',
customFunction''''',
customFunction_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 CustomFunction where
show = unsafePerformIO . printableObject_getDescription
-- direct wrapper
foreign import ccall unsafe "CasADi__CustomFunction__checkNode" c_CasADi__CustomFunction__checkNode
:: Ptr CustomFunction' -> IO (Ptr CppBool')
casADi__CustomFunction__checkNode
:: CustomFunction -> IO Bool
casADi__CustomFunction__checkNode x0 =
withMarshal x0 $ \x0' ->
c_CasADi__CustomFunction__checkNode x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
-- classy wrapper
{-|
>Check if the pointer points towards a valid object.
-}
customFunction_checkNode :: CustomFunctionClass a => a -> IO Bool
customFunction_checkNode x = casADi__CustomFunction__checkNode (castCustomFunction x)
-- direct wrapper
foreign import ccall unsafe "CasADi__CustomFunction__CustomFunction" c_CasADi__CustomFunction__CustomFunction
:: IO (Ptr CustomFunction')
casADi__CustomFunction__CustomFunction
:: IO CustomFunction
casADi__CustomFunction__CustomFunction =
c_CasADi__CustomFunction__CustomFunction >>= (newForeignPtr c_delete_CasADi__CustomFunction) >>= wrapReturn
-- classy wrapper
{-|
>> CasADi::CustomFunction::CustomFunction(const CustomEvaluate &c_fcn, const std::vector< CRSSparsity > &inputscheme, const std::vector< CRSSparsity > &outputscheme)
>
>> CasADi::CustomFunction::CustomFunction(const CustomEvaluate &c_fcn, const IOSchemeVector< CRSSparsity > &inputscheme, const std::vector< CRSSparsity > &outputscheme)
>
>> CasADi::CustomFunction::CustomFunction(const CustomEvaluate &c_fcn, const std::vector< CRSSparsity > &inputscheme, const IOSchemeVector< CRSSparsity > &outputscheme)
>
>> CasADi::CustomFunction::CustomFunction(const CustomEvaluate &c_fcn, const IOSchemeVector< CRSSparsity > &inputscheme, const IOSchemeVector< CRSSparsity > &outputscheme)
>------------------------------------------------------------------------
>
>Create a function with input/output schemes given.
>
>> CasADi::CustomFunction::CustomFunction()
>------------------------------------------------------------------------
>
>default constructor
>
>> CasADi::CustomFunction::CustomFunction(const CustomEvaluate &c_fcn)
>------------------------------------------------------------------------
>
>Create a function, user sets inputs outputs manually.
-}
customFunction :: IO CustomFunction
customFunction = casADi__CustomFunction__CustomFunction
-- direct wrapper
foreign import ccall unsafe "CasADi__CustomFunction__CustomFunction_TIC" c_CasADi__CustomFunction__CustomFunction_TIC
:: Ptr CustomEvaluate' -> Ptr (CppVec (Ptr CRSSparsity')) -> Ptr (CppVec (Ptr CRSSparsity')) -> IO (Ptr CustomFunction')
casADi__CustomFunction__CustomFunction'
:: CustomEvaluate -> Vector CRSSparsity -> Vector CRSSparsity -> IO CustomFunction
casADi__CustomFunction__CustomFunction' x0 x1 x2 =
withMarshal x0 $ \x0' ->
withMarshal x1 $ \x1' ->
withMarshal x2 $ \x2' ->
c_CasADi__CustomFunction__CustomFunction_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__CustomFunction) >>= wrapReturn
-- classy wrapper
customFunction' :: CustomEvaluate -> Vector CRSSparsity -> Vector CRSSparsity -> IO CustomFunction
customFunction' = casADi__CustomFunction__CustomFunction'
-- direct wrapper
foreign import ccall unsafe "CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC" c_CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC
:: Ptr CustomEvaluate' -> IO (Ptr CustomFunction')
casADi__CustomFunction__CustomFunction'''''
:: CustomEvaluate -> IO CustomFunction
casADi__CustomFunction__CustomFunction''''' x0 =
withMarshal x0 $ \x0' ->
c_CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CustomFunction) >>= wrapReturn
-- classy wrapper
customFunction''''' :: CustomEvaluate -> IO CustomFunction
customFunction''''' = casADi__CustomFunction__CustomFunction'''''