{-# OPTIONS_GHC -Wall #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-orphans #-} {-# Language ForeignFunctionInterface #-} {-# Language FlexibleInstances #-} {-# Language MultiParamTypeClasses #-} module Casadi.Wrappers.Classes.IpoptSolver ( IpoptSolver, IpoptSolverClass(..), ipoptSolver, ipoptSolver', ipoptSolver_checkNode, ipoptSolver_creator, ipoptSolver_getReducedHessian, ) 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 IpoptSolver where show = unsafePerformIO . printableObject_getDescription -- direct wrapper foreign import ccall unsafe "CasADi__IpoptSolver__getReducedHessian" c_CasADi__IpoptSolver__getReducedHessian :: Ptr IpoptSolver' -> IO (Ptr DMatrix') casADi__IpoptSolver__getReducedHessian :: IpoptSolver -> IO DMatrix casADi__IpoptSolver__getReducedHessian x0 = withMarshal x0 $ \x0' -> c_CasADi__IpoptSolver__getReducedHessian x0' >>= wrapReturn -- classy wrapper {-| >Get the reduced Hessian. Requires a patched sIPOPT installation, see CasADi >documentation. -} ipoptSolver_getReducedHessian :: IpoptSolverClass a => a -> IO DMatrix ipoptSolver_getReducedHessian x = casADi__IpoptSolver__getReducedHessian (castIpoptSolver x) -- direct wrapper foreign import ccall unsafe "CasADi__IpoptSolver__checkNode" c_CasADi__IpoptSolver__checkNode :: Ptr IpoptSolver' -> IO CInt casADi__IpoptSolver__checkNode :: IpoptSolver -> IO Bool casADi__IpoptSolver__checkNode x0 = withMarshal x0 $ \x0' -> c_CasADi__IpoptSolver__checkNode x0' >>= wrapReturn -- classy wrapper {-| >Check if the node is pointing to the right type of object. -} ipoptSolver_checkNode :: IpoptSolverClass a => a -> IO Bool ipoptSolver_checkNode x = casADi__IpoptSolver__checkNode (castIpoptSolver x) -- direct wrapper foreign import ccall unsafe "CasADi__IpoptSolver__creator" c_CasADi__IpoptSolver__creator :: Ptr Function' -> IO (Ptr NLPSolver') casADi__IpoptSolver__creator :: Function -> IO NLPSolver casADi__IpoptSolver__creator x0 = withMarshal x0 $ \x0' -> c_CasADi__IpoptSolver__creator x0' >>= wrapReturn -- classy wrapper ipoptSolver_creator :: Function -> IO NLPSolver ipoptSolver_creator = casADi__IpoptSolver__creator -- direct wrapper foreign import ccall unsafe "CasADi__IpoptSolver__IpoptSolver" c_CasADi__IpoptSolver__IpoptSolver :: IO (Ptr IpoptSolver') casADi__IpoptSolver__IpoptSolver :: IO IpoptSolver casADi__IpoptSolver__IpoptSolver = c_CasADi__IpoptSolver__IpoptSolver >>= wrapReturn -- classy wrapper {-| >> CasADi::IpoptSolver::IpoptSolver() >------------------------------------------------------------------------ > >Default constructor. > >> CasADi::IpoptSolver::IpoptSolver(const Function &F, const Function &G) >------------------------------------------------------------------------ > >[DEPRECATED] Create an NLP solver instance (legacy syntax) > >> CasADi::IpoptSolver::IpoptSolver(const Function &nlp) >------------------------------------------------------------------------ > >Create an NLP solver instance. -} ipoptSolver :: IO IpoptSolver ipoptSolver = casADi__IpoptSolver__IpoptSolver -- direct wrapper foreign import ccall unsafe "CasADi__IpoptSolver__IpoptSolver_TIC" c_CasADi__IpoptSolver__IpoptSolver_TIC :: Ptr Function' -> IO (Ptr IpoptSolver') casADi__IpoptSolver__IpoptSolver' :: Function -> IO IpoptSolver casADi__IpoptSolver__IpoptSolver' x0 = withMarshal x0 $ \x0' -> c_CasADi__IpoptSolver__IpoptSolver_TIC x0' >>= wrapReturn -- classy wrapper ipoptSolver' :: Function -> IO IpoptSolver ipoptSolver' = casADi__IpoptSolver__IpoptSolver'