{-# 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.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 CustomFunction where show = unsafePerformIO . printableObject_getDescription -- direct wrapper foreign import ccall unsafe "CasADi__CustomFunction__checkNode" c_CasADi__CustomFunction__checkNode :: Ptr CustomFunction' -> IO CInt casADi__CustomFunction__checkNode :: CustomFunction -> IO Bool casADi__CustomFunction__checkNode x0 = withMarshal x0 $ \x0' -> c_CasADi__CustomFunction__checkNode x0' >>= 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 >>= wrapReturn -- classy wrapper {-| >> CasADi::CustomFunction::CustomFunction(const CustomEvaluate &c_fcn, const std::vector< Sparsity > &inputscheme, const std::vector< Sparsity > &outputscheme) > >> CasADi::CustomFunction::CustomFunction(const CustomEvaluate &c_fcn, const IOSchemeVector< Sparsity > &inputscheme, const std::vector< Sparsity > &outputscheme) > >> CasADi::CustomFunction::CustomFunction(const CustomEvaluate &c_fcn, const std::vector< Sparsity > &inputscheme, const IOSchemeVector< Sparsity > &outputscheme) > >> CasADi::CustomFunction::CustomFunction(const CustomEvaluate &c_fcn, const IOSchemeVector< Sparsity > &inputscheme, const IOSchemeVector< Sparsity > &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 Sparsity')) -> Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr CustomFunction') casADi__CustomFunction__CustomFunction' :: CustomEvaluate -> Vector Sparsity -> Vector Sparsity -> 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' >>= wrapReturn -- classy wrapper customFunction' :: CustomEvaluate -> Vector Sparsity -> Vector Sparsity -> 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' >>= wrapReturn -- classy wrapper customFunction''''' :: CustomEvaluate -> IO CustomFunction customFunction''''' = casADi__CustomFunction__CustomFunction'''''