diff --git a/Casadi/Callback.hs b/Casadi/Callback.hs
deleted file mode 100644
--- a/Casadi/Callback.hs
+++ /dev/null
@@ -1,49 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-
-module Casadi.Callback ( makeCallback
-                       , functionSolveSafe
-                       ) where
-
-
-import Foreign.C.Types
-import Foreign.Ptr ( Ptr, FunPtr )
-import Foreign.ForeignPtr ( newForeignPtr_ )
-
-import Casadi.Wrappers.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Marshal ( withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper to a safe version of "solve"
-foreign import ccall safe "CasADi__Function__solve" c_CasADi__Function__solve_safe
-  :: Ptr Function' -> IO ()
-
-casADi__Function__solve_safe :: Function -> IO ()
-casADi__Function__solve_safe x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__solve_safe x0' >>= wrapReturn
-
--- | safe version of solve
-functionSolveSafe :: FunctionClass a => a -> IO ()
-functionSolveSafe x = casADi__Function__solve_safe (castFunction x)
-
-type CasadiCallback' = Ptr Function' -> IO CInt
-foreign import ccall "wrapper" mkCallback :: CasadiCallback' -> IO (FunPtr CasadiCallback')
-
-foreign import ccall safe "new_callback_haskell" c_newCallbackHaskell
-  :: FunPtr CasadiCallback' -> IO (Ptr Callback')
-
--- | add a callback to an NLPSolver
-makeCallback :: (Function -> IO CInt) -> IO Callback
-makeCallback callback = do
-  -- safely wrap the callback into the C-friendly version
-  let callback' :: CasadiCallback'
-      callback' ptrFx = do
-        foreignCFun <- newForeignPtr_ ptrFx
-        callback (Function foreignCFun)
-
-  -- turn the callback into a FunPtr
-  callbackFunPtr <- mkCallback callback' :: IO (FunPtr CasadiCallback')
-
-  -- create the callback object
-  c_newCallbackHaskell callbackFunPtr >>= wrapReturn
diff --git a/Casadi/CppHelpers.hs b/Casadi/CppHelpers.hs
deleted file mode 100644
--- a/Casadi/CppHelpers.hs
+++ /dev/null
@@ -1,41 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-
-module Casadi.CppHelpers
-       ( newCppVec
-       , readCppVec
-       , c_newStdString
-       , c_deleteStdString
-       , c_lengthStdString
-       , c_copyStdString
-       ) where
-
-import qualified Data.Vector as V
-import Foreign.C.Types
-import Foreign.Ptr ( Ptr )
-import Foreign.Marshal ( mallocArray, free, peekArray, withArrayLen )
-
-import Casadi.MarshalTypes
-import Casadi.Wrappers.CToolsImports
-
-newCppVec :: V.Vector (Ptr a) -> IO (Ptr (CppVec (Ptr a)))
-newCppVec vec = do
-  withArrayLen (V.toList vec) $ \num array ->
-    c_newVecVoidP array (fromIntegral num)
-
-readCppVec :: Ptr (CppVec (Ptr a)) -> IO (V.Vector (Ptr a))
-readCppVec vecPtr = do
-  n <- fmap fromIntegral (c_sizeVecVoidP vecPtr)
-  arr <- mallocArray n
-  c_copyVecVoidP vecPtr arr
-  ret <- peekArray n arr
-  free arr
-  return (V.fromList ret)
-
-foreign import ccall unsafe "hs_new_string" c_newStdString
-  :: Ptr CChar -> IO (Ptr StdString')
-foreign import ccall unsafe "hs_delete_string" c_deleteStdString
-  :: Ptr StdString' -> IO ()
-foreign import ccall unsafe "hs_length_string" c_lengthStdString
-  :: Ptr StdString' -> IO CInt
-foreign import ccall unsafe "hs_copy_string" c_copyStdString
-  :: Ptr StdString' -> Ptr CChar -> IO ()
diff --git a/Casadi/Marshal.hs b/Casadi/Marshal.hs
deleted file mode 100644
--- a/Casadi/Marshal.hs
+++ /dev/null
@@ -1,109 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# Language ScopedTypeVariables #-}
-{-# Language MultiParamTypeClasses #-}
-{-# Language FlexibleInstances #-}
-{-# Language FlexibleContexts #-}
-
-module Casadi.Marshal ( Marshal(..)
-                      , withMarshal
-                      , newStorableVec
-                      , HsToC(..)
-                      , withMarshalStorableVec
-                      ) where
-
-import Control.Monad ( when )
-import qualified Data.Vector as V
-import Foreign.C.Types
-import Foreign.C.String ( withCString )
-import Foreign.Ptr ( Ptr )
-import Foreign.Marshal ( withArrayLen )
-import Foreign.Storable ( Storable )
-
-import Casadi.Wrappers.CToolsImports ( c_deleteVecVoidP )
-import Casadi.CppHelpers ( newCppVec, readCppVec, c_newStdString, c_deleteStdString )
-import Casadi.MarshalTypes ( CppVec, StdString' )
-
-class Marshal a b where
-  marshal :: a -> IO b
-  marshalFree :: a -> b -> IO ()
-
-  marshalFree = const (const (return ()))
-
-withMarshal :: forall a b c. Marshal a b => a -> (b -> IO c) -> IO c
-withMarshal x f = do
-  x' <- marshal x :: IO b
-  ret <- f x' :: IO c
-  marshalFree x x' :: IO ()
-  return ret :: IO c
-
-class HsToC a b where
-  hsToC :: a -> b
-instance HsToC Int CInt where
-  hsToC = fromIntegral -- really should check min/max bounds here
-instance HsToC Int CLong where
-  hsToC = fromIntegral
-instance HsToC Bool CInt where
-  hsToC False = 0
-  hsToC True = 1
-instance HsToC Double CDouble where
-  hsToC = realToFrac
-instance HsToC CUChar CUChar where
-  hsToC = id
-instance HsToC CSize CSize where
-  hsToC = id
-
-instance Marshal Int CInt where
-  marshal = return . hsToC
-instance Marshal Int CLong where
-  marshal = return . hsToC
-instance Marshal Bool CInt where
-  marshal = return . hsToC
-instance Marshal Double CDouble where
-  marshal = return . hsToC
-instance Marshal CUChar CUChar where
-  marshal = return . hsToC
-instance Marshal CSize CSize where
-  marshal = return . hsToC
-
-instance Marshal String (Ptr StdString') where
-  marshal str = newStdString str
-  marshalFree _ stdStr = c_deleteStdString stdStr
-
-newStdString :: String -> IO (Ptr StdString')
-newStdString x = withCString x $ \cstring -> c_newStdString cstring
-
---instance Marshal String (Ptr CChar) where
---  withMarshal = withCString
-
-
-
-instance Marshal a (Ptr b) => Marshal (V.Vector a) (Ptr (CppVec (Ptr b))) where
-  marshal vec = do
-    ptrs <- V.mapM marshal vec :: IO (V.Vector (Ptr b))
-    newCppVec ptrs
-  marshalFree vec0 cppvec = do
-    ptrs <- readCppVec cppvec :: IO (V.Vector (Ptr b))
-    when (V.length vec0 /= V.length ptrs) $
-      error "unmarshal: Marshal (Vector a) (Ptr (CooVec (Ptr b))) length mismatch"
-    V.zipWithM_ marshalFree vec0 ptrs
-    c_deleteVecVoidP cppvec
-
-newStorableVec ::
-  Storable a =>
-  (Ptr a -> CInt -> IO (Ptr (CppVec a))) ->
-  V.Vector a -> IO (Ptr (CppVec a))
-newStorableVec newVec vec = do
-  withArrayLen (V.toList vec) $ \num array ->
-    newVec array (fromIntegral num)
-
-withMarshalStorableVec ::
-  Storable a =>
-  (Ptr a -> CInt -> IO (Ptr (CppVec a))) ->
-  (Ptr (CppVec a) -> IO ()) ->
-  V.Vector a -> (Ptr (CppVec a) -> IO b) -> IO b
-withMarshalStorableVec newVec deleteVec vec f = do
-  ptrCppVec <- withArrayLen (V.toList vec) $ \num array ->
-    newVec array (fromIntegral num)
-  ret <- f ptrCppVec
-  deleteVec ptrCppVec
-  return ret
diff --git a/Casadi/MarshalTypes.hs b/Casadi/MarshalTypes.hs
deleted file mode 100644
--- a/Casadi/MarshalTypes.hs
+++ /dev/null
@@ -1,10 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-
-module Casadi.MarshalTypes ( CppVec
-                           , StdString'
-                           , StdOstream'
-                           ) where
-
-data CppVec a
-data StdString'
-data StdOstream'
diff --git a/Casadi/WrapReturn.hs b/Casadi/WrapReturn.hs
deleted file mode 100644
--- a/Casadi/WrapReturn.hs
+++ /dev/null
@@ -1,73 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# Language MultiParamTypeClasses #-}
-{-# Language FlexibleInstances #-}
-{-# Language FlexibleContexts #-}
-{-# Language ScopedTypeVariables #-}
-
-module Casadi.WrapReturn ( WrapReturn(..)
-                         ) where
-
-import qualified Data.Vector as V
-import Foreign.C.Types
-import Foreign.C.String
-import Foreign.Ptr ( Ptr )
-import Foreign.Storable ( Storable )
-import Foreign.Marshal ( mallocArray, free, peekArray )
-
-import Casadi.MarshalTypes ( CppVec, StdString' )
-
-import Casadi.CppHelpers ( readCppVec, c_lengthStdString, c_copyStdString, c_deleteStdString )
-import Casadi.Wrappers.CToolsImports
-
-class WrapReturn a b where
-  wrapReturn :: a -> IO b
-instance WrapReturn a a where
-  wrapReturn = return
-instance WrapReturn CInt Int where
-  wrapReturn = return . fromIntegral
-instance WrapReturn CDouble Double where
-  wrapReturn = return . realToFrac
-instance WrapReturn CLong Int where
-  wrapReturn = return . fromIntegral
-instance WrapReturn CInt Bool where
-  wrapReturn 0 = return False
-  wrapReturn _ = return True
-
-
-instance WrapReturn (Ptr a) b => WrapReturn (Ptr (CppVec (Ptr a))) (V.Vector b) where
-  wrapReturn cppvec = do
-    vec <- readCppVec cppvec >>= (V.mapM wrapReturn) :: IO (V.Vector b)
-    c_deleteVecVoidP cppvec
-    return vec
-
-instance WrapReturn (Ptr StdString') String where
-  wrapReturn stdStr = do
-    len <- fmap fromIntegral $ c_lengthStdString stdStr
-    cstring <- mallocArray (len + 1)
-    c_copyStdString stdStr cstring
-    ret <- peekCString cstring
-    free cstring
-    c_deleteStdString stdStr
-    return ret
-
-wrapReturnVec ::
-  Storable a =>
-  (Ptr (CppVec a) -> IO CInt) ->
-  (Ptr (CppVec a) -> Ptr a -> IO ()) ->
-  (Ptr (CppVec a) -> IO ()) ->
-  (a -> IO b) ->
-  Ptr (CppVec a) -> IO (V.Vector b)
-wrapReturnVec vecSize vecCopy vecDel cToHs vecPtr = do
-  n <- fmap fromIntegral (vecSize vecPtr)
-  arr <- mallocArray n
-  vecCopy vecPtr arr
-  ret <- peekArray n arr
-  free arr
-  vecDel vecPtr
-  fmap V.fromList (mapM cToHs ret)
-
-instance WrapReturn (Ptr (CppVec CInt)) (V.Vector Int) where
-  wrapReturn = wrapReturnVec c_sizeVecCInt c_copyVecCInt c_deleteVecCInt wrapReturn
-
-instance WrapReturn (Ptr (CppVec CDouble)) (V.Vector Double) where
-  wrapReturn = wrapReturnVec c_sizeVecCDouble c_copyVecCDouble c_deleteVecCDouble wrapReturn
diff --git a/Casadi/Wrappers/CToolsImports.hs b/Casadi/Wrappers/CToolsImports.hs
deleted file mode 100644
--- a/Casadi/Wrappers/CToolsImports.hs
+++ /dev/null
@@ -1,49 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# Language ForeignFunctionInterface #-}
-
-module Casadi.Wrappers.CToolsImports where
-
-import Foreign.C.Types
-import Foreign.Ptr ( Ptr )
-
-import Casadi.MarshalTypes
-
---------------------------- ("int","CInt",Nothing,["Int","Bool"]) -----------------------------------
-foreign import ccall unsafe "hs_new_vec_int" c_newVecCInt
-  :: Ptr CInt -> CInt -> IO (Ptr (CppVec CInt))
-foreign import ccall unsafe "hs_delete_vec_int" c_deleteVecCInt
-  :: Ptr (CppVec CInt) -> IO ()
-foreign import ccall unsafe "hs_copy_vec_int" c_copyVecCInt
-  :: Ptr (CppVec CInt) -> Ptr CInt -> IO ()
-foreign import ccall unsafe "hs_size_vec_int" c_sizeVecCInt
-  :: Ptr (CppVec CInt) -> IO CInt
-
---------------------------- ("voidp","VoidP",Just "(Ptr a)",[]) -----------------------------------
-foreign import ccall unsafe "hs_new_vec_voidp" c_newVecVoidP
-  :: Ptr (Ptr a) -> CInt -> IO (Ptr (CppVec (Ptr a)))
-foreign import ccall unsafe "hs_delete_vec_voidp" c_deleteVecVoidP
-  :: Ptr (CppVec (Ptr a)) -> IO ()
-foreign import ccall unsafe "hs_copy_vec_voidp" c_copyVecVoidP
-  :: Ptr (CppVec (Ptr a)) -> Ptr (Ptr a) -> IO ()
-foreign import ccall unsafe "hs_size_vec_voidp" c_sizeVecVoidP
-  :: Ptr (CppVec (Ptr a)) -> IO CInt
-
---------------------------- ("uchar","CUChar",Nothing,[]) -----------------------------------
-foreign import ccall unsafe "hs_new_vec_uchar" c_newVecCUChar
-  :: Ptr CUChar -> CInt -> IO (Ptr (CppVec CUChar))
-foreign import ccall unsafe "hs_delete_vec_uchar" c_deleteVecCUChar
-  :: Ptr (CppVec CUChar) -> IO ()
-foreign import ccall unsafe "hs_copy_vec_uchar" c_copyVecCUChar
-  :: Ptr (CppVec CUChar) -> Ptr CUChar -> IO ()
-foreign import ccall unsafe "hs_size_vec_uchar" c_sizeVecCUChar
-  :: Ptr (CppVec CUChar) -> IO CInt
-
---------------------------- ("double","CDouble",Nothing,["Double"]) -----------------------------------
-foreign import ccall unsafe "hs_new_vec_double" c_newVecCDouble
-  :: Ptr CDouble -> CInt -> IO (Ptr (CppVec CDouble))
-foreign import ccall unsafe "hs_delete_vec_double" c_deleteVecCDouble
-  :: Ptr (CppVec CDouble) -> IO ()
-foreign import ccall unsafe "hs_copy_vec_double" c_copyVecCDouble
-  :: Ptr (CppVec CDouble) -> Ptr CDouble -> IO ()
-foreign import ccall unsafe "hs_size_vec_double" c_sizeVecCDouble
-  :: Ptr (CppVec CDouble) -> IO CInt
diff --git a/Casadi/Wrappers/CToolsInstances.hs b/Casadi/Wrappers/CToolsInstances.hs
deleted file mode 100644
--- a/Casadi/Wrappers/CToolsInstances.hs
+++ /dev/null
@@ -1,43 +0,0 @@
-{-# OPTIONS_GHC -Wall -fno-warn-orphans #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.CToolsInstances where
-
-import Foreign.C.Types
-import Foreign.Ptr ( Ptr )
-import qualified Data.Vector as V
-
-import Casadi.MarshalTypes
-import Casadi.Marshal
-import Casadi.Wrappers.CToolsImports
-
-
--- ("int","CInt",Nothing,["Int","Bool"])
-instance Marshal (V.Vector CInt) (Ptr (CppVec CInt)) where
-  marshal = newStorableVec c_newVecCInt
-  marshalFree = const c_deleteVecCInt
-instance Marshal (V.Vector Int) (Ptr (CppVec CInt)) where
-  marshal = newStorableVec c_newVecCInt . (V.map hsToC)
-  marshalFree = const c_deleteVecCInt
-instance Marshal (V.Vector Bool) (Ptr (CppVec CInt)) where
-  marshal = newStorableVec c_newVecCInt . (V.map hsToC)
-  marshalFree = const c_deleteVecCInt
-
--- ("voidp","VoidP",Just "(Ptr a)",[])
-instance Marshal (V.Vector (Ptr a)) (Ptr (CppVec (Ptr a))) where
-  marshal = newStorableVec c_newVecVoidP
-  marshalFree = const c_deleteVecVoidP
-
--- ("uchar","CUChar",Nothing,[])
-instance Marshal (V.Vector CUChar) (Ptr (CppVec CUChar)) where
-  marshal = newStorableVec c_newVecCUChar
-  marshalFree = const c_deleteVecCUChar
-
--- ("double","CDouble",Nothing,["Double"])
-instance Marshal (V.Vector CDouble) (Ptr (CppVec CDouble)) where
-  marshal = newStorableVec c_newVecCDouble
-  marshalFree = const c_deleteVecCDouble
-instance Marshal (V.Vector Double) (Ptr (CppVec CDouble)) where
-  marshal = newStorableVec c_newVecCDouble . (V.map hsToC)
-  marshalFree = const c_deleteVecCDouble
diff --git a/Casadi/Wrappers/Classes/CSparse.hs b/Casadi/Wrappers/Classes/CSparse.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/CSparse.hs
+++ /dev/null
@@ -1,121 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.CSparse
-       (
-         CSparse,
-         CSparseClass(..),
-         csparse,
-         csparse',
-         csparse'',
-         csparse_checkNode,
-         csparse_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 CSparse where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparse__checkNode" c_CasADi__CSparse__checkNode
-  :: Ptr CSparse' -> IO CInt
-casADi__CSparse__checkNode
-  :: CSparse -> IO Bool
-casADi__CSparse__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CSparse__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-csparse_checkNode :: CSparseClass a => a -> IO Bool
-csparse_checkNode x = casADi__CSparse__checkNode (castCSparse x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparse__creator" c_CasADi__CSparse__creator
-  :: Ptr Sparsity' -> CInt -> IO (Ptr LinearSolver')
-casADi__CSparse__creator
-  :: Sparsity -> Int -> IO LinearSolver
-casADi__CSparse__creator x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__CSparse__creator x0' x1' >>= wrapReturn
-
--- classy wrapper
-csparse_creator :: Sparsity -> Int -> IO LinearSolver
-csparse_creator = casADi__CSparse__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparse__CSparse" c_CasADi__CSparse__CSparse
-  :: IO (Ptr CSparse')
-casADi__CSparse__CSparse
-  :: IO CSparse
-casADi__CSparse__CSparse  =
-  c_CasADi__CSparse__CSparse  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::CSparse::CSparse()
->------------------------------------------------------------------------
->
->Default (empty) constructor.
->
->>  CasADi::CSparse::CSparse(const Sparsity &sp, int nrhs=1)
->------------------------------------------------------------------------
->
->Create a linear solver given a sparsity pattern.
--}
-csparse :: IO CSparse
-csparse = casADi__CSparse__CSparse
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparse__CSparse_TIC" c_CasADi__CSparse__CSparse_TIC
-  :: Ptr Sparsity' -> CInt -> IO (Ptr CSparse')
-casADi__CSparse__CSparse'
-  :: Sparsity -> Int -> IO CSparse
-casADi__CSparse__CSparse' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__CSparse__CSparse_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-csparse' :: Sparsity -> Int -> IO CSparse
-csparse' = casADi__CSparse__CSparse'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparse__CSparse_TIC_TIC" c_CasADi__CSparse__CSparse_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr CSparse')
-casADi__CSparse__CSparse''
-  :: Sparsity -> IO CSparse
-casADi__CSparse__CSparse'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CSparse__CSparse_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-csparse'' :: Sparsity -> IO CSparse
-csparse'' = casADi__CSparse__CSparse''
-
diff --git a/Casadi/Wrappers/Classes/CSparseCholesky.hs b/Casadi/Wrappers/Classes/CSparseCholesky.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/CSparseCholesky.hs
+++ /dev/null
@@ -1,189 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.CSparseCholesky
-       (
-         CSparseCholesky,
-         CSparseCholeskyClass(..),
-         csparseCholesky,
-         csparseCholesky',
-         csparseCholesky'',
-         csparseCholesky_checkNode,
-         csparseCholesky_creator,
-         csparseCholesky_getFactorization,
-         csparseCholesky_getFactorization',
-         csparseCholesky_getFactorizationSparsity,
-         csparseCholesky_getFactorizationSparsity',
-       ) 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 CSparseCholesky where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparseCholesky__checkNode" c_CasADi__CSparseCholesky__checkNode
-  :: Ptr CSparseCholesky' -> IO CInt
-casADi__CSparseCholesky__checkNode
-  :: CSparseCholesky -> IO Bool
-casADi__CSparseCholesky__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CSparseCholesky__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-csparseCholesky_checkNode :: CSparseCholeskyClass a => a -> IO Bool
-csparseCholesky_checkNode x = casADi__CSparseCholesky__checkNode (castCSparseCholesky x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparseCholesky__getFactorizationSparsity" c_CasADi__CSparseCholesky__getFactorizationSparsity
-  :: Ptr CSparseCholesky' -> CInt -> IO (Ptr Sparsity')
-casADi__CSparseCholesky__getFactorizationSparsity
-  :: CSparseCholesky -> Bool -> IO Sparsity
-casADi__CSparseCholesky__getFactorizationSparsity x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__CSparseCholesky__getFactorizationSparsity x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Obtain a symbolic Cholesky factorization.
--}
-csparseCholesky_getFactorizationSparsity :: CSparseCholeskyClass a => a -> Bool -> IO Sparsity
-csparseCholesky_getFactorizationSparsity x = casADi__CSparseCholesky__getFactorizationSparsity (castCSparseCholesky x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparseCholesky__getFactorizationSparsity_TIC" c_CasADi__CSparseCholesky__getFactorizationSparsity_TIC
-  :: Ptr CSparseCholesky' -> IO (Ptr Sparsity')
-casADi__CSparseCholesky__getFactorizationSparsity'
-  :: CSparseCholesky -> IO Sparsity
-casADi__CSparseCholesky__getFactorizationSparsity' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CSparseCholesky__getFactorizationSparsity_TIC x0' >>= wrapReturn
-
--- classy wrapper
-csparseCholesky_getFactorizationSparsity' :: CSparseCholeskyClass a => a -> IO Sparsity
-csparseCholesky_getFactorizationSparsity' x = casADi__CSparseCholesky__getFactorizationSparsity' (castCSparseCholesky x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparseCholesky__getFactorization" c_CasADi__CSparseCholesky__getFactorization
-  :: Ptr CSparseCholesky' -> CInt -> IO (Ptr DMatrix')
-casADi__CSparseCholesky__getFactorization
-  :: CSparseCholesky -> Bool -> IO DMatrix
-casADi__CSparseCholesky__getFactorization x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__CSparseCholesky__getFactorization x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Obtain a numeric Cholesky factorization.
--}
-csparseCholesky_getFactorization :: CSparseCholeskyClass a => a -> Bool -> IO DMatrix
-csparseCholesky_getFactorization x = casADi__CSparseCholesky__getFactorization (castCSparseCholesky x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparseCholesky__getFactorization_TIC" c_CasADi__CSparseCholesky__getFactorization_TIC
-  :: Ptr CSparseCholesky' -> IO (Ptr DMatrix')
-casADi__CSparseCholesky__getFactorization'
-  :: CSparseCholesky -> IO DMatrix
-casADi__CSparseCholesky__getFactorization' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CSparseCholesky__getFactorization_TIC x0' >>= wrapReturn
-
--- classy wrapper
-csparseCholesky_getFactorization' :: CSparseCholeskyClass a => a -> IO DMatrix
-csparseCholesky_getFactorization' x = casADi__CSparseCholesky__getFactorization' (castCSparseCholesky x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparseCholesky__creator" c_CasADi__CSparseCholesky__creator
-  :: Ptr Sparsity' -> CInt -> IO (Ptr LinearSolver')
-casADi__CSparseCholesky__creator
-  :: Sparsity -> Int -> IO LinearSolver
-casADi__CSparseCholesky__creator x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__CSparseCholesky__creator x0' x1' >>= wrapReturn
-
--- classy wrapper
-csparseCholesky_creator :: Sparsity -> Int -> IO LinearSolver
-csparseCholesky_creator = casADi__CSparseCholesky__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparseCholesky__CSparseCholesky" c_CasADi__CSparseCholesky__CSparseCholesky
-  :: IO (Ptr CSparseCholesky')
-casADi__CSparseCholesky__CSparseCholesky
-  :: IO CSparseCholesky
-casADi__CSparseCholesky__CSparseCholesky  =
-  c_CasADi__CSparseCholesky__CSparseCholesky  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::CSparseCholesky::CSparseCholesky()
->------------------------------------------------------------------------
->
->Default (empty) constructor.
->
->>  CasADi::CSparseCholesky::CSparseCholesky(const Sparsity &sp, int nrhs=1)
->------------------------------------------------------------------------
->
->Create a linear solver given a sparsity pattern.
--}
-csparseCholesky :: IO CSparseCholesky
-csparseCholesky = casADi__CSparseCholesky__CSparseCholesky
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparseCholesky__CSparseCholesky_TIC" c_CasADi__CSparseCholesky__CSparseCholesky_TIC
-  :: Ptr Sparsity' -> CInt -> IO (Ptr CSparseCholesky')
-casADi__CSparseCholesky__CSparseCholesky'
-  :: Sparsity -> Int -> IO CSparseCholesky
-casADi__CSparseCholesky__CSparseCholesky' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__CSparseCholesky__CSparseCholesky_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-csparseCholesky' :: Sparsity -> Int -> IO CSparseCholesky
-csparseCholesky' = casADi__CSparseCholesky__CSparseCholesky'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CSparseCholesky__CSparseCholesky_TIC_TIC" c_CasADi__CSparseCholesky__CSparseCholesky_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr CSparseCholesky')
-casADi__CSparseCholesky__CSparseCholesky''
-  :: Sparsity -> IO CSparseCholesky
-casADi__CSparseCholesky__CSparseCholesky'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CSparseCholesky__CSparseCholesky_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-csparseCholesky'' :: Sparsity -> IO CSparseCholesky
-csparseCholesky'' = casADi__CSparseCholesky__CSparseCholesky''
-
diff --git a/Casadi/Wrappers/Classes/CVodesIntegrator.hs b/Casadi/Wrappers/Classes/CVodesIntegrator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/CVodesIntegrator.hs
+++ /dev/null
@@ -1,185 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.CVodesIntegrator
-       (
-         CVodesIntegrator,
-         CVodesIntegratorClass(..),
-         cvodesIntegrator,
-         cvodesIntegrator',
-         cvodesIntegrator'',
-         cvodesIntegrator_checkNode,
-         cvodesIntegrator_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 CVodesIntegrator where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__CVodesIntegrator__checkNode" c_CasADi__CVodesIntegrator__checkNode
-  :: Ptr CVodesIntegrator' -> IO CInt
-casADi__CVodesIntegrator__checkNode
-  :: CVodesIntegrator -> IO Bool
-casADi__CVodesIntegrator__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CVodesIntegrator__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-cvodesIntegrator_checkNode :: CVodesIntegratorClass a => a -> IO Bool
-cvodesIntegrator_checkNode x = casADi__CVodesIntegrator__checkNode (castCVodesIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CVodesIntegrator__creator" c_CasADi__CVodesIntegrator__creator
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr Integrator')
-casADi__CVodesIntegrator__creator
-  :: Function -> Function -> IO Integrator
-casADi__CVodesIntegrator__creator x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__CVodesIntegrator__creator x0' x1' >>= wrapReturn
-
--- classy wrapper
-cvodesIntegrator_creator :: Function -> Function -> IO Integrator
-cvodesIntegrator_creator = casADi__CVodesIntegrator__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CVodesIntegrator__CVodesIntegrator" c_CasADi__CVodesIntegrator__CVodesIntegrator
-  :: IO (Ptr CVodesIntegrator')
-casADi__CVodesIntegrator__CVodesIntegrator
-  :: IO CVodesIntegrator
-casADi__CVodesIntegrator__CVodesIntegrator  =
-  c_CasADi__CVodesIntegrator__CVodesIntegrator  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::CVodesIntegrator::CVodesIntegrator()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::CVodesIntegrator::CVodesIntegrator(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. .         |
->+-----------+-------+-------------------------------------------+
--}
-cvodesIntegrator :: IO CVodesIntegrator
-cvodesIntegrator = casADi__CVodesIntegrator__CVodesIntegrator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CVodesIntegrator__CVodesIntegrator_TIC" c_CasADi__CVodesIntegrator__CVodesIntegrator_TIC
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr CVodesIntegrator')
-casADi__CVodesIntegrator__CVodesIntegrator'
-  :: Function -> Function -> IO CVodesIntegrator
-casADi__CVodesIntegrator__CVodesIntegrator' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__CVodesIntegrator__CVodesIntegrator_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-cvodesIntegrator' :: Function -> Function -> IO CVodesIntegrator
-cvodesIntegrator' = casADi__CVodesIntegrator__CVodesIntegrator'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CVodesIntegrator__CVodesIntegrator_TIC_TIC" c_CasADi__CVodesIntegrator__CVodesIntegrator_TIC_TIC
-  :: Ptr Function' -> IO (Ptr CVodesIntegrator')
-casADi__CVodesIntegrator__CVodesIntegrator''
-  :: Function -> IO CVodesIntegrator
-casADi__CVodesIntegrator__CVodesIntegrator'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CVodesIntegrator__CVodesIntegrator_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-cvodesIntegrator'' :: Function -> IO CVodesIntegrator
-cvodesIntegrator'' = casADi__CVodesIntegrator__CVodesIntegrator''
-
diff --git a/Casadi/Wrappers/Classes/Callback.hs b/Casadi/Wrappers/Classes/Callback.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/Callback.hs
+++ /dev/null
@@ -1,56 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.Callback
-       (
-         Callback,
-         CallbackClass(..),
-         callback,
-       ) 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 Callback where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Callback__Callback" c_CasADi__Callback__Callback
-  :: IO (Ptr Callback')
-casADi__Callback__Callback
-  :: IO Callback
-casADi__Callback__Callback  =
-  c_CasADi__Callback__Callback  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::Callback::Callback()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::Callback::Callback(CallbackCPtr ptr)
->------------------------------------------------------------------------
->
->Construct from C pointer.
--}
-callback :: IO Callback
-callback = casADi__Callback__Callback
-
diff --git a/Casadi/Wrappers/Classes/CasadiMeta.hs b/Casadi/Wrappers/Classes/CasadiMeta.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/CasadiMeta.hs
+++ /dev/null
@@ -1,140 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.CasadiMeta
-       (
-         CasadiMeta,
-         CasadiMetaClass(..),
-         casadiMeta_getBuildType,
-         casadiMeta_getCompiler,
-         casadiMeta_getCompilerFlags,
-         casadiMeta_getCompilerId,
-         casadiMeta_getFeatureList,
-         casadiMeta_getGitDescribe,
-         casadiMeta_getGitRevision,
-         casadiMeta_getVersion,
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiMeta__getVersion" c_CasADi__CasadiMeta__getVersion
-  :: IO (Ptr StdString')
-casADi__CasadiMeta__getVersion
-  :: IO String
-casADi__CasadiMeta__getVersion  =
-  c_CasADi__CasadiMeta__getVersion  >>= wrapReturn
-
--- classy wrapper
-casadiMeta_getVersion :: IO String
-casadiMeta_getVersion = casADi__CasadiMeta__getVersion
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiMeta__getGitRevision" c_CasADi__CasadiMeta__getGitRevision
-  :: IO (Ptr StdString')
-casADi__CasadiMeta__getGitRevision
-  :: IO String
-casADi__CasadiMeta__getGitRevision  =
-  c_CasADi__CasadiMeta__getGitRevision  >>= wrapReturn
-
--- classy wrapper
-casadiMeta_getGitRevision :: IO String
-casadiMeta_getGitRevision = casADi__CasadiMeta__getGitRevision
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiMeta__getGitDescribe" c_CasADi__CasadiMeta__getGitDescribe
-  :: IO (Ptr StdString')
-casADi__CasadiMeta__getGitDescribe
-  :: IO String
-casADi__CasadiMeta__getGitDescribe  =
-  c_CasADi__CasadiMeta__getGitDescribe  >>= wrapReturn
-
--- classy wrapper
-casadiMeta_getGitDescribe :: IO String
-casadiMeta_getGitDescribe = casADi__CasadiMeta__getGitDescribe
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiMeta__getFeatureList" c_CasADi__CasadiMeta__getFeatureList
-  :: IO (Ptr StdString')
-casADi__CasadiMeta__getFeatureList
-  :: IO String
-casADi__CasadiMeta__getFeatureList  =
-  c_CasADi__CasadiMeta__getFeatureList  >>= wrapReturn
-
--- classy wrapper
-casadiMeta_getFeatureList :: IO String
-casadiMeta_getFeatureList = casADi__CasadiMeta__getFeatureList
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiMeta__getBuildType" c_CasADi__CasadiMeta__getBuildType
-  :: IO (Ptr StdString')
-casADi__CasadiMeta__getBuildType
-  :: IO String
-casADi__CasadiMeta__getBuildType  =
-  c_CasADi__CasadiMeta__getBuildType  >>= wrapReturn
-
--- classy wrapper
-casadiMeta_getBuildType :: IO String
-casadiMeta_getBuildType = casADi__CasadiMeta__getBuildType
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiMeta__getCompilerId" c_CasADi__CasadiMeta__getCompilerId
-  :: IO (Ptr StdString')
-casADi__CasadiMeta__getCompilerId
-  :: IO String
-casADi__CasadiMeta__getCompilerId  =
-  c_CasADi__CasadiMeta__getCompilerId  >>= wrapReturn
-
--- classy wrapper
-casadiMeta_getCompilerId :: IO String
-casadiMeta_getCompilerId = casADi__CasadiMeta__getCompilerId
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiMeta__getCompiler" c_CasADi__CasadiMeta__getCompiler
-  :: IO (Ptr StdString')
-casADi__CasadiMeta__getCompiler
-  :: IO String
-casADi__CasadiMeta__getCompiler  =
-  c_CasADi__CasadiMeta__getCompiler  >>= wrapReturn
-
--- classy wrapper
-casadiMeta_getCompiler :: IO String
-casadiMeta_getCompiler = casADi__CasadiMeta__getCompiler
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiMeta__getCompilerFlags" c_CasADi__CasadiMeta__getCompilerFlags
-  :: IO (Ptr StdString')
-casADi__CasadiMeta__getCompilerFlags
-  :: IO String
-casADi__CasadiMeta__getCompilerFlags  =
-  c_CasADi__CasadiMeta__getCompilerFlags  >>= wrapReturn
-
--- classy wrapper
-casadiMeta_getCompilerFlags :: IO String
-casadiMeta_getCompilerFlags = casADi__CasadiMeta__getCompilerFlags
-
diff --git a/Casadi/Wrappers/Classes/CasadiOptions.hs b/Casadi/Wrappers/Classes/CasadiOptions.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/CasadiOptions.hs
+++ /dev/null
@@ -1,202 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.CasadiOptions
-       (
-         CasadiOptions,
-         CasadiOptionsClass(..),
-         casadiOptions_getAllowedInternalAPI,
-         casadiOptions_getCatchErrorsPython,
-         casadiOptions_getProfilingBinary,
-         casadiOptions_getSimplificationOnTheFly,
-         casadiOptions_setAllowedInternalAPI,
-         casadiOptions_setCatchErrorsPython,
-         casadiOptions_setProfilingBinary,
-         casadiOptions_setPurgeSeeds,
-         casadiOptions_setPurgeSeeds',
-         casadiOptions_setSimplificationOnTheFly,
-         casadiOptions_startProfiling,
-         casadiOptions_stopProfiling,
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__setCatchErrorsPython" c_CasADi__CasadiOptions__setCatchErrorsPython
-  :: CInt -> IO ()
-casADi__CasadiOptions__setCatchErrorsPython
-  :: Bool -> IO ()
-casADi__CasadiOptions__setCatchErrorsPython x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CasadiOptions__setCatchErrorsPython x0' >>= wrapReturn
-
--- classy wrapper
-casadiOptions_setCatchErrorsPython :: Bool -> IO ()
-casadiOptions_setCatchErrorsPython = casADi__CasadiOptions__setCatchErrorsPython
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__getCatchErrorsPython" c_CasADi__CasadiOptions__getCatchErrorsPython
-  :: IO CInt
-casADi__CasadiOptions__getCatchErrorsPython
-  :: IO Bool
-casADi__CasadiOptions__getCatchErrorsPython  =
-  c_CasADi__CasadiOptions__getCatchErrorsPython  >>= wrapReturn
-
--- classy wrapper
-casadiOptions_getCatchErrorsPython :: IO Bool
-casadiOptions_getCatchErrorsPython = casADi__CasadiOptions__getCatchErrorsPython
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__setSimplificationOnTheFly" c_CasADi__CasadiOptions__setSimplificationOnTheFly
-  :: CInt -> IO ()
-casADi__CasadiOptions__setSimplificationOnTheFly
-  :: Bool -> IO ()
-casADi__CasadiOptions__setSimplificationOnTheFly x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CasadiOptions__setSimplificationOnTheFly x0' >>= wrapReturn
-
--- classy wrapper
-casadiOptions_setSimplificationOnTheFly :: Bool -> IO ()
-casadiOptions_setSimplificationOnTheFly = casADi__CasadiOptions__setSimplificationOnTheFly
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__getSimplificationOnTheFly" c_CasADi__CasadiOptions__getSimplificationOnTheFly
-  :: IO CInt
-casADi__CasadiOptions__getSimplificationOnTheFly
-  :: IO Bool
-casADi__CasadiOptions__getSimplificationOnTheFly  =
-  c_CasADi__CasadiOptions__getSimplificationOnTheFly  >>= wrapReturn
-
--- classy wrapper
-casadiOptions_getSimplificationOnTheFly :: IO Bool
-casadiOptions_getSimplificationOnTheFly = casADi__CasadiOptions__getSimplificationOnTheFly
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__startProfiling" c_CasADi__CasadiOptions__startProfiling
-  :: Ptr StdString' -> IO ()
-casADi__CasadiOptions__startProfiling
-  :: String -> IO ()
-casADi__CasadiOptions__startProfiling x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CasadiOptions__startProfiling x0' >>= wrapReturn
-
--- classy wrapper
-casadiOptions_startProfiling :: String -> IO ()
-casadiOptions_startProfiling = casADi__CasadiOptions__startProfiling
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__stopProfiling" c_CasADi__CasadiOptions__stopProfiling
-  :: IO ()
-casADi__CasadiOptions__stopProfiling
-  :: IO ()
-casADi__CasadiOptions__stopProfiling  =
-  c_CasADi__CasadiOptions__stopProfiling  >>= wrapReturn
-
--- classy wrapper
-casadiOptions_stopProfiling :: IO ()
-casadiOptions_stopProfiling = casADi__CasadiOptions__stopProfiling
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__setProfilingBinary" c_CasADi__CasadiOptions__setProfilingBinary
-  :: CInt -> IO ()
-casADi__CasadiOptions__setProfilingBinary
-  :: Bool -> IO ()
-casADi__CasadiOptions__setProfilingBinary x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CasadiOptions__setProfilingBinary x0' >>= wrapReturn
-
--- classy wrapper
-casadiOptions_setProfilingBinary :: Bool -> IO ()
-casadiOptions_setProfilingBinary = casADi__CasadiOptions__setProfilingBinary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__getProfilingBinary" c_CasADi__CasadiOptions__getProfilingBinary
-  :: IO CInt
-casADi__CasadiOptions__getProfilingBinary
-  :: IO Bool
-casADi__CasadiOptions__getProfilingBinary  =
-  c_CasADi__CasadiOptions__getProfilingBinary  >>= wrapReturn
-
--- classy wrapper
-casadiOptions_getProfilingBinary :: IO Bool
-casadiOptions_getProfilingBinary = casADi__CasadiOptions__getProfilingBinary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__setPurgeSeeds" c_CasADi__CasadiOptions__setPurgeSeeds
-  :: CInt -> IO ()
-casADi__CasadiOptions__setPurgeSeeds
-  :: Bool -> IO ()
-casADi__CasadiOptions__setPurgeSeeds x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CasadiOptions__setPurgeSeeds x0' >>= wrapReturn
-
--- classy wrapper
-casadiOptions_setPurgeSeeds :: Bool -> IO ()
-casadiOptions_setPurgeSeeds = casADi__CasadiOptions__setPurgeSeeds
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__setPurgeSeeds_TIC" c_CasADi__CasadiOptions__setPurgeSeeds_TIC
-  :: IO CInt
-casADi__CasadiOptions__setPurgeSeeds'
-  :: IO Bool
-casADi__CasadiOptions__setPurgeSeeds'  =
-  c_CasADi__CasadiOptions__setPurgeSeeds_TIC  >>= wrapReturn
-
--- classy wrapper
-casadiOptions_setPurgeSeeds' :: IO Bool
-casadiOptions_setPurgeSeeds' = casADi__CasadiOptions__setPurgeSeeds'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__setAllowedInternalAPI" c_CasADi__CasadiOptions__setAllowedInternalAPI
-  :: CInt -> IO ()
-casADi__CasadiOptions__setAllowedInternalAPI
-  :: Bool -> IO ()
-casADi__CasadiOptions__setAllowedInternalAPI x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__CasadiOptions__setAllowedInternalAPI x0' >>= wrapReturn
-
--- classy wrapper
-casadiOptions_setAllowedInternalAPI :: Bool -> IO ()
-casadiOptions_setAllowedInternalAPI = casADi__CasadiOptions__setAllowedInternalAPI
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__CasadiOptions__getAllowedInternalAPI" c_CasADi__CasadiOptions__getAllowedInternalAPI
-  :: IO CInt
-casADi__CasadiOptions__getAllowedInternalAPI
-  :: IO Bool
-casADi__CasadiOptions__getAllowedInternalAPI  =
-  c_CasADi__CasadiOptions__getAllowedInternalAPI  >>= wrapReturn
-
--- classy wrapper
-casadiOptions_getAllowedInternalAPI :: IO Bool
-casadiOptions_getAllowedInternalAPI = casADi__CasadiOptions__getAllowedInternalAPI
-
diff --git a/Casadi/Wrappers/Classes/CollocationIntegrator.hs b/Casadi/Wrappers/Classes/CollocationIntegrator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/CollocationIntegrator.hs
+++ /dev/null
@@ -1,185 +0,0 @@
-{-# 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''
-
diff --git a/Casadi/Wrappers/Classes/ControlSimulator.hs b/Casadi/Wrappers/Classes/ControlSimulator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/ControlSimulator.hs
+++ /dev/null
@@ -1,319 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.ControlSimulator
-       (
-         ControlSimulator,
-         ControlSimulatorClass(..),
-         controlSimulator,
-         controlSimulator',
-         controlSimulator'',
-         controlSimulator''',
-         controlSimulator'''',
-         controlSimulator_checkNode,
-         controlSimulator_getMajorIndex,
-         controlSimulator_getMinorT,
-         controlSimulator_getMinorU,
-       ) 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 ControlSimulator where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__ControlSimulator__checkNode" c_CasADi__ControlSimulator__checkNode
-  :: Ptr ControlSimulator' -> IO CInt
-casADi__ControlSimulator__checkNode
-  :: ControlSimulator -> IO Bool
-casADi__ControlSimulator__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ControlSimulator__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-controlSimulator_checkNode :: ControlSimulatorClass a => a -> IO Bool
-controlSimulator_checkNode x = casADi__ControlSimulator__checkNode (castControlSimulator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ControlSimulator__getMinorT" c_CasADi__ControlSimulator__getMinorT
-  :: Ptr ControlSimulator' -> IO (Ptr (CppVec CDouble))
-casADi__ControlSimulator__getMinorT
-  :: ControlSimulator -> IO (Vector Double)
-casADi__ControlSimulator__getMinorT x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ControlSimulator__getMinorT x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the (minor) time grid The length is (ns-1)*nf + 1
--}
-controlSimulator_getMinorT :: ControlSimulatorClass a => a -> IO (Vector Double)
-controlSimulator_getMinorT x = casADi__ControlSimulator__getMinorT (castControlSimulator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ControlSimulator__getMinorU" c_CasADi__ControlSimulator__getMinorU
-  :: Ptr ControlSimulator' -> IO (Ptr DMatrix')
-casADi__ControlSimulator__getMinorU
-  :: ControlSimulator -> IO DMatrix
-casADi__ControlSimulator__getMinorU x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ControlSimulator__getMinorU x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the controls, sampled on the minor timescale. Number of rows is
->(ns-1)*nf.
--}
-controlSimulator_getMinorU :: ControlSimulatorClass a => a -> IO DMatrix
-controlSimulator_getMinorU x = casADi__ControlSimulator__getMinorU (castControlSimulator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ControlSimulator__getMajorIndex" c_CasADi__ControlSimulator__getMajorIndex
-  :: Ptr ControlSimulator' -> IO (Ptr (CppVec CInt))
-casADi__ControlSimulator__getMajorIndex
-  :: ControlSimulator -> IO (Vector Int)
-casADi__ControlSimulator__getMajorIndex x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ControlSimulator__getMajorIndex x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the index i such that gridminor[i] == gridmajor.
--}
-controlSimulator_getMajorIndex :: ControlSimulatorClass a => a -> IO (Vector Int)
-controlSimulator_getMajorIndex x = casADi__ControlSimulator__getMajorIndex (castControlSimulator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ControlSimulator__ControlSimulator" c_CasADi__ControlSimulator__ControlSimulator
-  :: IO (Ptr ControlSimulator')
-casADi__ControlSimulator__ControlSimulator
-  :: IO ControlSimulator
-casADi__ControlSimulator__ControlSimulator  =
-  c_CasADi__ControlSimulator__ControlSimulator  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::ControlSimulator::ControlSimulator()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::ControlSimulator::ControlSimulator(const Function &dae, const Function &output_fcn, const std::vector< double > &grid)
->------------------------------------------------------------------------
->
->Creates a piecewise simulator.
->
->Parameters:
->-----------
->
->ffcn:  Continuous time dynamics, an CasADi::Function with the folowing
->mapping:
->
->>Input scheme: CasADi::ControlledDAEInput (CONTROL_DAE_NUM_IN = 10) [controldaeIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| CONTROL_DAE_T          | t                      | Global physical time.  |
->|                        |                        | (1-by-1) .             |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_X          | x                      | State vector           |
->|                        |                        | (dimension nx-by-1).   |
->|                        |                        | Should have same       |
->|                        |                        | amount of non-zeros as |
->|                        |                        | DAEOutput:DAE_RES .    |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_Z          | z                      | Algebraic state vector |
->|                        |                        | (dimension np-by-1). . |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_P          | p                      | Parameter vector       |
->|                        |                        | (dimension np-by-1). . |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_U          | u                      | Control vector         |
->|                        |                        | (dimension nu-by-1). . |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_U_INTERP   | u_interp               | Control vector,        |
->|                        |                        | linearly interpolated  |
->|                        |                        | (dimension nu-by-1). . |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_X_MAJOR    | x_major                | State vector           |
->|                        |                        | (dimension nx-by-1) at |
->|                        |                        | the last major time-   |
->|                        |                        | step .                 |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_T0         | t0                     | Time at start of       |
->|                        |                        | control interval       |
->|                        |                        | (1-by-1) .             |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_TF         | tf                     | Time at end of control |
->|                        |                        | interval (1-by-1) .    |
->+------------------------+------------------------+------------------------+
->
->>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:
->-----------
->
->output_fcn:  output function which maps ControlledDAEInput or DAEInput to n
->outputs.
->
->>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 . |
->+-----------+-------+----------------------------+
->
->>Input scheme: CasADi::ControlledDAEInput (CONTROL_DAE_NUM_IN = 10) [controldaeIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| CONTROL_DAE_T          | t                      | Global physical time.  |
->|                        |                        | (1-by-1) .             |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_X          | x                      | State vector           |
->|                        |                        | (dimension nx-by-1).   |
->|                        |                        | Should have same       |
->|                        |                        | amount of non-zeros as |
->|                        |                        | DAEOutput:DAE_RES .    |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_Z          | z                      | Algebraic state vector |
->|                        |                        | (dimension np-by-1). . |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_P          | p                      | Parameter vector       |
->|                        |                        | (dimension np-by-1). . |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_U          | u                      | Control vector         |
->|                        |                        | (dimension nu-by-1). . |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_U_INTERP   | u_interp               | Control vector,        |
->|                        |                        | linearly interpolated  |
->|                        |                        | (dimension nu-by-1). . |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_X_MAJOR    | x_major                | State vector           |
->|                        |                        | (dimension nx-by-1) at |
->|                        |                        | the last major time-   |
->|                        |                        | step .                 |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_T0         | t0                     | Time at start of       |
->|                        |                        | control interval       |
->|                        |                        | (1-by-1) .             |
->+------------------------+------------------------+------------------------+
->| CONTROL_DAE_TF         | tf                     | Time at end of control |
->|                        |                        | interval (1-by-1) .    |
->+------------------------+------------------------+------------------------+
->
->Parameters:
->-----------
->
->grid:  the major time grid
->
->>  CasADi::ControlSimulator::ControlSimulator(const Function &dae, const std::vector< double > &grid)
->------------------------------------------------------------------------
->
->Output function equal to the state.
--}
-controlSimulator :: IO ControlSimulator
-controlSimulator = casADi__ControlSimulator__ControlSimulator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ControlSimulator__ControlSimulator_TIC" c_CasADi__ControlSimulator__ControlSimulator_TIC
-  :: Ptr Function' -> Ptr Function' -> Ptr (CppVec CDouble) -> IO (Ptr ControlSimulator')
-casADi__ControlSimulator__ControlSimulator'
-  :: Function -> Function -> Vector Double -> IO ControlSimulator
-casADi__ControlSimulator__ControlSimulator' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__ControlSimulator__ControlSimulator_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-controlSimulator' :: Function -> Function -> Vector Double -> IO ControlSimulator
-controlSimulator' = casADi__ControlSimulator__ControlSimulator'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ControlSimulator__ControlSimulator_TIC_TIC" c_CasADi__ControlSimulator__ControlSimulator_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> Ptr DMatrix' -> IO (Ptr ControlSimulator')
-casADi__ControlSimulator__ControlSimulator''
-  :: Function -> Function -> DMatrix -> IO ControlSimulator
-casADi__ControlSimulator__ControlSimulator'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__ControlSimulator__ControlSimulator_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-controlSimulator'' :: Function -> Function -> DMatrix -> IO ControlSimulator
-controlSimulator'' = casADi__ControlSimulator__ControlSimulator''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ControlSimulator__ControlSimulator_TIC_TIC_TIC" c_CasADi__ControlSimulator__ControlSimulator_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec CDouble) -> IO (Ptr ControlSimulator')
-casADi__ControlSimulator__ControlSimulator'''
-  :: Function -> Vector Double -> IO ControlSimulator
-casADi__ControlSimulator__ControlSimulator''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__ControlSimulator__ControlSimulator_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-controlSimulator''' :: Function -> Vector Double -> IO ControlSimulator
-controlSimulator''' = casADi__ControlSimulator__ControlSimulator'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ControlSimulator__ControlSimulator_TIC_TIC_TIC_TIC" c_CasADi__ControlSimulator__ControlSimulator_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr DMatrix' -> IO (Ptr ControlSimulator')
-casADi__ControlSimulator__ControlSimulator''''
-  :: Function -> DMatrix -> IO ControlSimulator
-casADi__ControlSimulator__ControlSimulator'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__ControlSimulator__ControlSimulator_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-controlSimulator'''' :: Function -> DMatrix -> IO ControlSimulator
-controlSimulator'''' = casADi__ControlSimulator__ControlSimulator''''
-
diff --git a/Casadi/Wrappers/Classes/CustomEvaluate.hs b/Casadi/Wrappers/Classes/CustomEvaluate.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/CustomEvaluate.hs
+++ /dev/null
@@ -1,56 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.CustomEvaluate
-       (
-         CustomEvaluate,
-         CustomEvaluateClass(..),
-         customEvaluate,
-       ) 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 CustomEvaluate where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__CustomEvaluate__CustomEvaluate" c_CasADi__CustomEvaluate__CustomEvaluate
-  :: IO (Ptr CustomEvaluate')
-casADi__CustomEvaluate__CustomEvaluate
-  :: IO CustomEvaluate
-casADi__CustomEvaluate__CustomEvaluate  =
-  c_CasADi__CustomEvaluate__CustomEvaluate  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::CustomEvaluate::CustomEvaluate()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::CustomEvaluate::CustomEvaluate(CustomEvaluateCPtr ptr)
->------------------------------------------------------------------------
->
->Construct from C pointer.
--}
-customEvaluate :: IO CustomEvaluate
-customEvaluate = casADi__CustomEvaluate__CustomEvaluate
-
diff --git a/Casadi/Wrappers/Classes/CustomFunction.hs b/Casadi/Wrappers/Classes/CustomFunction.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/CustomFunction.hs
+++ /dev/null
@@ -1,117 +0,0 @@
-{-# 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'''''
-
diff --git a/Casadi/Wrappers/Classes/DMatrix.hs b/Casadi/Wrappers/Classes/DMatrix.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/DMatrix.hs
+++ /dev/null
@@ -1,3823 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.DMatrix
-       (
-         DMatrix,
-         DMatrixClass(..),
-         dmatrix,
-         dmatrix',
-         dmatrix'',
-         dmatrix''',
-         dmatrix'''',
-         dmatrix''''',
-         dmatrix'''''',
-         dmatrix''''''',
-         dmatrix'''''''',
-         dmatrix''''''''',
-         dmatrix'''''''''',
-         dmatrix''''''''''',
-         dmatrix___add__,
-         dmatrix___constpow__,
-         dmatrix___copysign__,
-         dmatrix___div__,
-         dmatrix___eq__,
-         dmatrix___le__,
-         dmatrix___lt__,
-         dmatrix___mpower__,
-         dmatrix___mrdivide__,
-         dmatrix___mul__,
-         dmatrix___ne__,
-         dmatrix___nonzero__,
-         dmatrix___pow__,
-         dmatrix___sub__,
-         dmatrix___truediv__,
-         dmatrix_append,
-         dmatrix_appendColumns,
-         dmatrix_arccos,
-         dmatrix_arccosh,
-         dmatrix_arcsin,
-         dmatrix_arcsinh,
-         dmatrix_arctan,
-         dmatrix_arctan2,
-         dmatrix_arctanh,
-         dmatrix_at,
-         dmatrix_binary,
-         dmatrix_ceil,
-         dmatrix_className,
-         dmatrix_clear,
-         dmatrix_colind,
-         dmatrix_cos,
-         dmatrix_cosh,
-         dmatrix_data,
-         dmatrix_densify,
-         dmatrix_densify',
-         dmatrix_elem,
-         dmatrix_elem',
-         dmatrix_enlarge,
-         dmatrix_erase,
-         dmatrix_erf,
-         dmatrix_erfinv,
-         dmatrix_exp,
-         dmatrix_eye,
-         dmatrix_fabs,
-         dmatrix_floor,
-         dmatrix_fmax,
-         dmatrix_fmin,
-         dmatrix_get,
-         dmatrix_get',
-         dmatrix_get'',
-         dmatrix_get''',
-         dmatrix_get'''',
-         dmatrix_get''''',
-         dmatrix_getEqualityCheckingDepth,
-         dmatrix_getMaxNumCallsInPrint,
-         dmatrix_getName,
-         dmatrix_getValue,
-         dmatrix_hasNZ,
-         dmatrix_hasNonStructuralZeros,
-         dmatrix_if_else_zero,
-         dmatrix_indexed_assignment,
-         dmatrix_indexed_assignment',
-         dmatrix_indexed_assignment'',
-         dmatrix_indexed_assignment''',
-         dmatrix_indexed_assignment'''',
-         dmatrix_indexed_assignment''''',
-         dmatrix_indexed_assignment'''''',
-         dmatrix_indexed_assignment''''''',
-         dmatrix_indexed_assignment'''''''',
-         dmatrix_indexed_assignment''''''''',
-         dmatrix_indexed_one_based_assignment,
-         dmatrix_indexed_one_based_assignment',
-         dmatrix_indexed_one_based_assignment'',
-         dmatrix_indexed_zero_based_assignment,
-         dmatrix_indexed_zero_based_assignment',
-         dmatrix_indexed_zero_based_assignment'',
-         dmatrix_inf,
-         dmatrix_inf',
-         dmatrix_inf'',
-         dmatrix_inf''',
-         dmatrix_isConstant,
-         dmatrix_isEqual,
-         dmatrix_isIdentity,
-         dmatrix_isInteger,
-         dmatrix_isMinusOne,
-         dmatrix_isOne,
-         dmatrix_isRegular,
-         dmatrix_isSmooth,
-         dmatrix_isSymbolic,
-         dmatrix_isSymbolicSparse,
-         dmatrix_isZero,
-         dmatrix_log,
-         dmatrix_log10,
-         dmatrix_logic_and,
-         dmatrix_logic_not,
-         dmatrix_logic_or,
-         dmatrix_matrix_matrix,
-         dmatrix_matrix_scalar,
-         dmatrix_mul,
-         dmatrix_mul',
-         dmatrix_mul_full,
-         dmatrix_mul_full',
-         dmatrix_mul_no_alloc_nn,
-         dmatrix_mul_no_alloc_nn',
-         dmatrix_mul_no_alloc_nt,
-         dmatrix_mul_no_alloc_tn,
-         dmatrix_mul_no_alloc_tn',
-         dmatrix_nan,
-         dmatrix_nan',
-         dmatrix_nan'',
-         dmatrix_nan''',
-         dmatrix_nz_indexed_assignment,
-         dmatrix_nz_indexed_assignment',
-         dmatrix_nz_indexed_one_based_assignment,
-         dmatrix_nz_indexed_one_based_assignment',
-         dmatrix_nz_indexed_zero_based_assignment,
-         dmatrix_nz_indexed_zero_based_assignment',
-         dmatrix_operator_minus,
-         dmatrix_operator_plus,
-         dmatrix_printDense',
-         dmatrix_printScalar',
-         dmatrix_printSparse',
-         dmatrix_printVector',
-         dmatrix_printme,
-         dmatrix_quad_form,
-         dmatrix_remove,
-         dmatrix_repmat,
-         dmatrix_repmat',
-         dmatrix_repmat'',
-         dmatrix_repmat''',
-         dmatrix_reserve,
-         dmatrix_reserve',
-         dmatrix_resize,
-         dmatrix_row,
-         dmatrix_sanityCheck,
-         dmatrix_sanityCheck',
-         dmatrix_scalar_matrix,
-         dmatrix_set,
-         dmatrix_set',
-         dmatrix_set'',
-         dmatrix_set''',
-         dmatrix_set'''',
-         dmatrix_set''''',
-         dmatrix_setAll,
-         dmatrix_setEqualityCheckingDepth,
-         dmatrix_setEqualityCheckingDepth',
-         dmatrix_setMaxNumCallsInPrint,
-         dmatrix_setMaxNumCallsInPrint',
-         dmatrix_setNZ,
-         dmatrix_setNZ',
-         dmatrix_setNZ'',
-         dmatrix_setNZ''',
-         dmatrix_setPrecision,
-         dmatrix_setScientific,
-         dmatrix_setSparse,
-         dmatrix_setSparse',
-         dmatrix_setSub,
-         dmatrix_setSub',
-         dmatrix_setSub'',
-         dmatrix_setSub''',
-         dmatrix_setSub'''',
-         dmatrix_setSub''''',
-         dmatrix_setSub'''''',
-         dmatrix_setSub''''''',
-         dmatrix_setSub'''''''',
-         dmatrix_setSub''''''''',
-         dmatrix_setSub'''''''''',
-         dmatrix_setSub''''''''''',
-         dmatrix_setSub'''''''''''',
-         dmatrix_setSub''''''''''''',
-         dmatrix_setWidth,
-         dmatrix_setZero,
-         dmatrix_sign,
-         dmatrix_sin,
-         dmatrix_sinh,
-         dmatrix_sparsify,
-         dmatrix_sparsify',
-         dmatrix_sparsityRef,
-         dmatrix_sqrt,
-         dmatrix_tan,
-         dmatrix_tanh,
-         dmatrix_trans,
-         dmatrix_triplet,
-         dmatrix_triplet',
-         dmatrix_unary,
-       ) 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 DMatrix where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___sanityCheck" c_CasADi__Matrix_double___sanityCheck
-  :: Ptr DMatrix' -> CInt -> IO ()
-casADi__Matrix_double___sanityCheck
-  :: DMatrix -> Bool -> IO ()
-casADi__Matrix_double___sanityCheck x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___sanityCheck x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if the
->dimensions and colind,row vectors are compatible.
->
->Parameters:
->-----------
->
->complete:  set to true to also check elementwise throws an error as possible
->result
--}
-dmatrix_sanityCheck :: DMatrixClass a => a -> Bool -> IO ()
-dmatrix_sanityCheck x = casADi__Matrix_double___sanityCheck (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___sanityCheck_TIC" c_CasADi__Matrix_double___sanityCheck_TIC
-  :: Ptr DMatrix' -> IO ()
-casADi__Matrix_double___sanityCheck'
-  :: DMatrix -> IO ()
-casADi__Matrix_double___sanityCheck' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sanityCheck_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_sanityCheck' :: DMatrixClass a => a -> IO ()
-dmatrix_sanityCheck' x = casADi__Matrix_double___sanityCheck' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___at" c_CasADi__Matrix_double___at
-  :: Ptr DMatrix' -> CInt -> IO CDouble
-casADi__Matrix_double___at
-  :: DMatrix -> Int -> IO Double
-casADi__Matrix_double___at x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___at x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  const DataType& CasADi::Matrix< T >::at(int k) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get a non-zero element.
->
->>  DataType& CasADi::Matrix< T >::at(int k)
->------------------------------------------------------------------------
->[INTERNAL] 
->Access a non-zero element.
--}
-dmatrix_at :: DMatrixClass a => a -> Int -> IO Double
-dmatrix_at x = casADi__Matrix_double___at (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___elem" c_CasADi__Matrix_double___elem
-  :: Ptr DMatrix' -> CInt -> CInt -> IO CDouble
-casADi__Matrix_double___elem
-  :: DMatrix -> Int -> Int -> IO Double
-casADi__Matrix_double___elem x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___elem x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  const DataType & CasADi::Matrix< DataType >::elem(int rr, int cc=0) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->get an element
->
->>  DataType & CasADi::Matrix< DataType >::elem(int rr, int cc=0)
->------------------------------------------------------------------------
->[INTERNAL] 
->get a reference to an element
--}
-dmatrix_elem :: DMatrixClass a => a -> Int -> Int -> IO Double
-dmatrix_elem x = casADi__Matrix_double___elem (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___elem_TIC" c_CasADi__Matrix_double___elem_TIC
-  :: Ptr DMatrix' -> CInt -> IO CDouble
-casADi__Matrix_double___elem'
-  :: DMatrix -> Int -> IO Double
-casADi__Matrix_double___elem' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___elem_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_elem' :: DMatrixClass a => a -> Int -> IO Double
-dmatrix_elem' x = casADi__Matrix_double___elem' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___hasNZ" c_CasADi__Matrix_double___hasNZ
-  :: Ptr DMatrix' -> CInt -> CInt -> IO CInt
-casADi__Matrix_double___hasNZ
-  :: DMatrix -> Int -> Int -> IO Bool
-casADi__Matrix_double___hasNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___hasNZ x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Returns true if the matrix has a non-zero at location rr,cc.
--}
-dmatrix_hasNZ :: DMatrixClass a => a -> Int -> Int -> IO Bool
-dmatrix_hasNZ x = casADi__Matrix_double___hasNZ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____nonzero__" c_CasADi__Matrix_double_____nonzero__
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double_____nonzero__
-  :: DMatrix -> IO Bool
-casADi__Matrix_double_____nonzero__ x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double_____nonzero__ x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Returns the
->truth value of a Matrix.
--}
-dmatrix___nonzero__ :: DMatrixClass a => a -> IO Bool
-dmatrix___nonzero__ x = casADi__Matrix_double_____nonzero__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub" c_CasADi__Matrix_double___setSub
-  :: Ptr DMatrix' -> Ptr DMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_double___setSub
-  :: DMatrix -> DMatrix -> Int -> Int -> IO ()
-casADi__Matrix_double___setSub x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set a submatrix.
--}
-dmatrix_setSub :: DMatrixClass a => a -> DMatrix -> Int -> Int -> IO ()
-dmatrix_setSub x = casADi__Matrix_double___setSub (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC" c_CasADi__Matrix_double___setSub_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr (CppVec CInt) -> CInt -> IO ()
-casADi__Matrix_double___setSub'
-  :: DMatrix -> DMatrix -> Vector Int -> Int -> IO ()
-casADi__Matrix_double___setSub' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub' :: DMatrixClass a => a -> DMatrix -> Vector Int -> Int -> IO ()
-dmatrix_setSub' x = casADi__Matrix_double___setSub' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> CInt -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_double___setSub''
-  :: DMatrix -> DMatrix -> Int -> Vector Int -> IO ()
-casADi__Matrix_double___setSub'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub'' :: DMatrixClass a => a -> DMatrix -> Int -> Vector Int -> IO ()
-dmatrix_setSub'' x = casADi__Matrix_double___setSub'' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_double___setSub'''
-  :: DMatrix -> DMatrix -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_double___setSub''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub''' :: DMatrixClass a => a -> DMatrix -> Vector Int -> Vector Int -> IO ()
-dmatrix_setSub''' x = casADi__Matrix_double___setSub''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr Slice' -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_double___setSub''''
-  :: DMatrix -> DMatrix -> Slice -> Vector Int -> IO ()
-casADi__Matrix_double___setSub'''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub'''' :: DMatrixClass a => a -> DMatrix -> Slice -> Vector Int -> IO ()
-dmatrix_setSub'''' x = casADi__Matrix_double___setSub'''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr (CppVec CInt) -> Ptr Slice' -> IO ()
-casADi__Matrix_double___setSub'''''
-  :: DMatrix -> DMatrix -> Vector Int -> Slice -> IO ()
-casADi__Matrix_double___setSub''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub''''' :: DMatrixClass a => a -> DMatrix -> Vector Int -> Slice -> IO ()
-dmatrix_setSub''''' x = casADi__Matrix_double___setSub''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr Slice' -> Ptr Slice' -> IO ()
-casADi__Matrix_double___setSub''''''
-  :: DMatrix -> DMatrix -> Slice -> Slice -> IO ()
-casADi__Matrix_double___setSub'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub'''''' :: DMatrixClass a => a -> DMatrix -> Slice -> Slice -> IO ()
-dmatrix_setSub'''''' x = casADi__Matrix_double___setSub'''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_double___setSub'''''''
-  :: DMatrix -> DMatrix -> IMatrix -> Vector Int -> IO ()
-casADi__Matrix_double___setSub''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub''''''' :: DMatrixClass a => a -> DMatrix -> IMatrix -> Vector Int -> IO ()
-dmatrix_setSub''''''' x = casADi__Matrix_double___setSub''''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr (CppVec CInt) -> Ptr IMatrix' -> IO ()
-casADi__Matrix_double___setSub''''''''
-  :: DMatrix -> DMatrix -> Vector Int -> IMatrix -> IO ()
-casADi__Matrix_double___setSub'''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub'''''''' :: DMatrixClass a => a -> DMatrix -> Vector Int -> IMatrix -> IO ()
-dmatrix_setSub'''''''' x = casADi__Matrix_double___setSub'''''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr Slice' -> IO ()
-casADi__Matrix_double___setSub'''''''''
-  :: DMatrix -> DMatrix -> IMatrix -> Slice -> IO ()
-casADi__Matrix_double___setSub''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub''''''''' :: DMatrixClass a => a -> DMatrix -> IMatrix -> Slice -> IO ()
-dmatrix_setSub''''''''' x = casADi__Matrix_double___setSub''''''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_double___setSub''''''''''
-  :: DMatrix -> DMatrix -> Slice -> IMatrix -> IO ()
-casADi__Matrix_double___setSub'''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub'''''''''' :: DMatrixClass a => a -> DMatrix -> Slice -> IMatrix -> IO ()
-dmatrix_setSub'''''''''' x = casADi__Matrix_double___setSub'''''''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_double___setSub'''''''''''
-  :: DMatrix -> DMatrix -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_double___setSub''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub''''''''''' :: DMatrixClass a => a -> DMatrix -> IMatrix -> IMatrix -> IO ()
-dmatrix_setSub''''''''''' x = casADi__Matrix_double___setSub''''''''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr Slice' -> CInt -> IO ()
-casADi__Matrix_double___setSub''''''''''''
-  :: DMatrix -> DMatrix -> Slice -> Int -> IO ()
-casADi__Matrix_double___setSub'''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub'''''''''''' :: DMatrixClass a => a -> DMatrix -> Slice -> Int -> IO ()
-dmatrix_setSub'''''''''''' x = casADi__Matrix_double___setSub'''''''''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr Sparsity' -> CInt -> IO ()
-casADi__Matrix_double___setSub'''''''''''''
-  :: DMatrix -> DMatrix -> Sparsity -> Int -> IO ()
-casADi__Matrix_double___setSub''''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSub''''''''''''' :: DMatrixClass a => a -> DMatrix -> Sparsity -> Int -> IO ()
-dmatrix_setSub''''''''''''' x = casADi__Matrix_double___setSub''''''''''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setNZ" c_CasADi__Matrix_double___setNZ
-  :: Ptr DMatrix' -> CInt -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___setNZ
-  :: DMatrix -> Int -> DMatrix -> IO ()
-casADi__Matrix_double___setNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___setNZ x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< DataType >::setNZ(int k, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< DataType >::setNZ(const std::vector< int > &k, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< DataType >::setNZ(const Matrix< int > &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set a set of nonzeros.
->
->>  void CasADi::Matrix< T >::setNZ(const Slice &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->
->Set a set of nonzeros.
--}
-dmatrix_setNZ :: DMatrixClass a => a -> Int -> DMatrix -> IO ()
-dmatrix_setNZ x = casADi__Matrix_double___setNZ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setNZ_TIC" c_CasADi__Matrix_double___setNZ_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CInt) -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___setNZ'
-  :: DMatrix -> Vector Int -> DMatrix -> IO ()
-casADi__Matrix_double___setNZ' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___setNZ_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setNZ' :: DMatrixClass a => a -> Vector Int -> DMatrix -> IO ()
-dmatrix_setNZ' x = casADi__Matrix_double___setNZ' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setNZ_TIC_TIC" c_CasADi__Matrix_double___setNZ_TIC_TIC
-  :: Ptr DMatrix' -> Ptr Slice' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___setNZ''
-  :: DMatrix -> Slice -> DMatrix -> IO ()
-casADi__Matrix_double___setNZ'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___setNZ_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setNZ'' :: DMatrixClass a => a -> Slice -> DMatrix -> IO ()
-dmatrix_setNZ'' x = casADi__Matrix_double___setNZ'' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setNZ_TIC_TIC_TIC" c_CasADi__Matrix_double___setNZ_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___setNZ'''
-  :: DMatrix -> IMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___setNZ''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___setNZ_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setNZ''' :: DMatrixClass a => a -> IMatrix -> DMatrix -> IO ()
-dmatrix_setNZ''' x = casADi__Matrix_double___setNZ''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___append" c_CasADi__Matrix_double___append
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___append
-  :: DMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___append x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___append x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Append a matrix
->vertically (NOTE: only efficient if vector)
--}
-dmatrix_append :: DMatrixClass a => a -> DMatrix -> IO ()
-dmatrix_append x = casADi__Matrix_double___append (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___appendColumns" c_CasADi__Matrix_double___appendColumns
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___appendColumns
-  :: DMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___appendColumns x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___appendColumns x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Append a
->matrix horizontally.
--}
-dmatrix_appendColumns :: DMatrixClass a => a -> DMatrix -> IO ()
-dmatrix_appendColumns x = casADi__Matrix_double___appendColumns (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___nz_indexed_one_based_assignment" c_CasADi__Matrix_double___nz_indexed_one_based_assignment
-  :: Ptr DMatrix' -> CInt -> CDouble -> IO ()
-casADi__Matrix_double___nz_indexed_one_based_assignment
-  :: DMatrix -> Int -> Double -> IO ()
-casADi__Matrix_double___nz_indexed_one_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___nz_indexed_one_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::nz_indexed_one_based_assignment(int k, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->set a non-zero
->
->>  void CasADi::Matrix< T >::nz_indexed_one_based_assignment(const Matrix< int > &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
--}
-dmatrix_nz_indexed_one_based_assignment :: DMatrixClass a => a -> Int -> Double -> IO ()
-dmatrix_nz_indexed_one_based_assignment x = casADi__Matrix_double___nz_indexed_one_based_assignment (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___nz_indexed_zero_based_assignment" c_CasADi__Matrix_double___nz_indexed_zero_based_assignment
-  :: Ptr DMatrix' -> CInt -> CDouble -> IO ()
-casADi__Matrix_double___nz_indexed_zero_based_assignment
-  :: DMatrix -> Int -> Double -> IO ()
-casADi__Matrix_double___nz_indexed_zero_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___nz_indexed_zero_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Indexing for interfaced languages get a non-zero
--}
-dmatrix_nz_indexed_zero_based_assignment :: DMatrixClass a => a -> Int -> Double -> IO ()
-dmatrix_nz_indexed_zero_based_assignment x = casADi__Matrix_double___nz_indexed_zero_based_assignment (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___nz_indexed_assignment" c_CasADi__Matrix_double___nz_indexed_assignment
-  :: Ptr DMatrix' -> Ptr Slice' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___nz_indexed_assignment
-  :: DMatrix -> Slice -> DMatrix -> IO ()
-casADi__Matrix_double___nz_indexed_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___nz_indexed_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]
->Indexing for interfaced languages get a non-zero
--}
-dmatrix_nz_indexed_assignment :: DMatrixClass a => a -> Slice -> DMatrix -> IO ()
-dmatrix_nz_indexed_assignment x = casADi__Matrix_double___nz_indexed_assignment (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_one_based_assignment" c_CasADi__Matrix_double___indexed_one_based_assignment
-  :: Ptr DMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_one_based_assignment
-  :: DMatrix -> IMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_one_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___indexed_one_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::indexed_one_based_assignment(const Matrix< int > &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
->
->>  void CasADi::Matrix< T >::indexed_one_based_assignment(int rr, int cc, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->set a matrix element
->
->>  void CasADi::Matrix< T >::indexed_one_based_assignment(int rr, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->set a vector element
--}
-dmatrix_indexed_one_based_assignment :: DMatrixClass a => a -> IMatrix -> DMatrix -> IO ()
-dmatrix_indexed_one_based_assignment x = casADi__Matrix_double___indexed_one_based_assignment (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_zero_based_assignment" c_CasADi__Matrix_double___indexed_zero_based_assignment
-  :: Ptr DMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_zero_based_assignment
-  :: DMatrix -> IMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_zero_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___indexed_zero_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::indexed_zero_based_assignment(const Matrix< int > &k, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_zero_based_assignment(int rr, int cc, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
->
->>  void CasADi::Matrix< T >::indexed_zero_based_assignment(int rr, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-dmatrix_indexed_zero_based_assignment :: DMatrixClass a => a -> IMatrix -> DMatrix -> IO ()
-dmatrix_indexed_zero_based_assignment x = casADi__Matrix_double___indexed_zero_based_assignment (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___nz_indexed_one_based_assignment_TIC" c_CasADi__Matrix_double___nz_indexed_one_based_assignment_TIC
-  :: Ptr DMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___nz_indexed_one_based_assignment'
-  :: DMatrix -> IMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___nz_indexed_one_based_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___nz_indexed_one_based_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_nz_indexed_one_based_assignment' :: DMatrixClass a => a -> IMatrix -> DMatrix -> IO ()
-dmatrix_nz_indexed_one_based_assignment' x = casADi__Matrix_double___nz_indexed_one_based_assignment' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___nz_indexed_zero_based_assignment_TIC" c_CasADi__Matrix_double___nz_indexed_zero_based_assignment_TIC
-  :: Ptr DMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___nz_indexed_zero_based_assignment'
-  :: DMatrix -> IMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___nz_indexed_zero_based_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___nz_indexed_zero_based_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_nz_indexed_zero_based_assignment' :: DMatrixClass a => a -> IMatrix -> DMatrix -> IO ()
-dmatrix_nz_indexed_zero_based_assignment' x = casADi__Matrix_double___nz_indexed_zero_based_assignment' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___nz_indexed_assignment_TIC" c_CasADi__Matrix_double___nz_indexed_assignment_TIC
-  :: Ptr DMatrix' -> Ptr IndexList' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___nz_indexed_assignment'
-  :: DMatrix -> IndexList -> DMatrix -> IO ()
-casADi__Matrix_double___nz_indexed_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___nz_indexed_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_nz_indexed_assignment' :: DMatrixClass a => a -> IndexList -> DMatrix -> IO ()
-dmatrix_nz_indexed_assignment' x = casADi__Matrix_double___nz_indexed_assignment' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_one_based_assignment_TIC" c_CasADi__Matrix_double___indexed_one_based_assignment_TIC
-  :: Ptr DMatrix' -> CInt -> CInt -> CDouble -> IO ()
-casADi__Matrix_double___indexed_one_based_assignment'
-  :: DMatrix -> Int -> Int -> Double -> IO ()
-casADi__Matrix_double___indexed_one_based_assignment' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___indexed_one_based_assignment_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_one_based_assignment' :: DMatrixClass a => a -> Int -> Int -> Double -> IO ()
-dmatrix_indexed_one_based_assignment' x = casADi__Matrix_double___indexed_one_based_assignment' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_zero_based_assignment_TIC" c_CasADi__Matrix_double___indexed_zero_based_assignment_TIC
-  :: Ptr DMatrix' -> CInt -> CInt -> CDouble -> IO ()
-casADi__Matrix_double___indexed_zero_based_assignment'
-  :: DMatrix -> Int -> Int -> Double -> IO ()
-casADi__Matrix_double___indexed_zero_based_assignment' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___indexed_zero_based_assignment_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_zero_based_assignment' :: DMatrixClass a => a -> Int -> Int -> Double -> IO ()
-dmatrix_indexed_zero_based_assignment' x = casADi__Matrix_double___indexed_zero_based_assignment' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_assignment" c_CasADi__Matrix_double___indexed_assignment
-  :: Ptr DMatrix' -> Ptr Slice' -> Ptr Slice' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_assignment
-  :: DMatrix -> Slice -> Slice -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_assignment x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___indexed_assignment x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::indexed_assignment(const Slice &rr, const Slice &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const IndexList &rr, const IndexList &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Slice &rr, const Matrix< int > &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Matrix< int > &rr, const Slice &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Matrix< int > &rr, const IndexList &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const IndexList &rr, const Matrix< int > &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Matrix< int > &rr, const Matrix< int > &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Sparsity &sp, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Slice &rr, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const IndexList &rr, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-dmatrix_indexed_assignment :: DMatrixClass a => a -> Slice -> Slice -> DMatrix -> IO ()
-dmatrix_indexed_assignment x = casADi__Matrix_double___indexed_assignment (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_assignment_TIC" c_CasADi__Matrix_double___indexed_assignment_TIC
-  :: Ptr DMatrix' -> Ptr IndexList' -> Ptr IndexList' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_assignment'
-  :: DMatrix -> IndexList -> IndexList -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_assignment' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___indexed_assignment_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_assignment' :: DMatrixClass a => a -> IndexList -> IndexList -> DMatrix -> IO ()
-dmatrix_indexed_assignment' x = casADi__Matrix_double___indexed_assignment' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_assignment_TIC_TIC" c_CasADi__Matrix_double___indexed_assignment_TIC_TIC
-  :: Ptr DMatrix' -> Ptr Slice' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_assignment''
-  :: DMatrix -> Slice -> IMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_assignment'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___indexed_assignment_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_assignment'' :: DMatrixClass a => a -> Slice -> IMatrix -> DMatrix -> IO ()
-dmatrix_indexed_assignment'' x = casADi__Matrix_double___indexed_assignment'' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC" c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr IMatrix' -> Ptr Slice' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_assignment'''
-  :: DMatrix -> IMatrix -> Slice -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_assignment''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_assignment''' :: DMatrixClass a => a -> IMatrix -> Slice -> DMatrix -> IO ()
-dmatrix_indexed_assignment''' x = casADi__Matrix_double___indexed_assignment''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr IMatrix' -> Ptr IndexList' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_assignment''''
-  :: DMatrix -> IMatrix -> IndexList -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_assignment'''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_assignment'''' :: DMatrixClass a => a -> IMatrix -> IndexList -> DMatrix -> IO ()
-dmatrix_indexed_assignment'''' x = casADi__Matrix_double___indexed_assignment'''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr IndexList' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_assignment'''''
-  :: DMatrix -> IndexList -> IMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_assignment''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_assignment''''' :: DMatrixClass a => a -> IndexList -> IMatrix -> DMatrix -> IO ()
-dmatrix_indexed_assignment''''' x = casADi__Matrix_double___indexed_assignment''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_assignment''''''
-  :: DMatrix -> IMatrix -> IMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_assignment'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_assignment'''''' :: DMatrixClass a => a -> IMatrix -> IMatrix -> DMatrix -> IO ()
-dmatrix_indexed_assignment'''''' x = casADi__Matrix_double___indexed_assignment'''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr Sparsity' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_assignment'''''''
-  :: DMatrix -> Sparsity -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_assignment''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_assignment''''''' :: DMatrixClass a => a -> Sparsity -> DMatrix -> IO ()
-dmatrix_indexed_assignment''''''' x = casADi__Matrix_double___indexed_assignment''''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_one_based_assignment_TIC_TIC" c_CasADi__Matrix_double___indexed_one_based_assignment_TIC_TIC
-  :: Ptr DMatrix' -> CInt -> CDouble -> IO ()
-casADi__Matrix_double___indexed_one_based_assignment''
-  :: DMatrix -> Int -> Double -> IO ()
-casADi__Matrix_double___indexed_one_based_assignment'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___indexed_one_based_assignment_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_one_based_assignment'' :: DMatrixClass a => a -> Int -> Double -> IO ()
-dmatrix_indexed_one_based_assignment'' x = casADi__Matrix_double___indexed_one_based_assignment'' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_zero_based_assignment_TIC_TIC" c_CasADi__Matrix_double___indexed_zero_based_assignment_TIC_TIC
-  :: Ptr DMatrix' -> CInt -> CDouble -> IO ()
-casADi__Matrix_double___indexed_zero_based_assignment''
-  :: DMatrix -> Int -> Double -> IO ()
-casADi__Matrix_double___indexed_zero_based_assignment'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___indexed_zero_based_assignment_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_zero_based_assignment'' :: DMatrixClass a => a -> Int -> Double -> IO ()
-dmatrix_indexed_zero_based_assignment'' x = casADi__Matrix_double___indexed_zero_based_assignment'' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr Slice' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_assignment''''''''
-  :: DMatrix -> Slice -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_assignment'''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_assignment'''''''' :: DMatrixClass a => a -> Slice -> DMatrix -> IO ()
-dmatrix_indexed_assignment'''''''' x = casADi__Matrix_double___indexed_assignment'''''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr IndexList' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___indexed_assignment'''''''''
-  :: DMatrix -> IndexList -> DMatrix -> IO ()
-casADi__Matrix_double___indexed_assignment''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_indexed_assignment''''''''' :: DMatrixClass a => a -> IndexList -> DMatrix -> IO ()
-dmatrix_indexed_assignment''''''''' x = casADi__Matrix_double___indexed_assignment''''''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setZero" c_CasADi__Matrix_double___setZero
-  :: Ptr DMatrix' -> IO ()
-casADi__Matrix_double___setZero
-  :: DMatrix -> IO ()
-casADi__Matrix_double___setZero x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___setZero x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set all elements
->to zero.
--}
-dmatrix_setZero :: DMatrixClass a => a -> IO ()
-dmatrix_setZero x = casADi__Matrix_double___setZero (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setAll" c_CasADi__Matrix_double___setAll
-  :: Ptr DMatrix' -> CDouble -> IO ()
-casADi__Matrix_double___setAll
-  :: DMatrix -> Double -> IO ()
-casADi__Matrix_double___setAll x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___setAll x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set all elements
->to a value.
--}
-dmatrix_setAll :: DMatrixClass a => a -> Double -> IO ()
-dmatrix_setAll x = casADi__Matrix_double___setAll (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSparse" c_CasADi__Matrix_double___setSparse
-  :: Ptr DMatrix' -> Ptr Sparsity' -> CInt -> IO (Ptr DMatrix')
-casADi__Matrix_double___setSparse
-  :: DMatrix -> Sparsity -> Bool -> IO DMatrix
-casADi__Matrix_double___setSparse x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___setSparse x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set sparse.
--}
-dmatrix_setSparse :: DMatrixClass a => a -> Sparsity -> Bool -> IO DMatrix
-dmatrix_setSparse x = casADi__Matrix_double___setSparse (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setSparse_TIC" c_CasADi__Matrix_double___setSparse_TIC
-  :: Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__Matrix_double___setSparse'
-  :: DMatrix -> Sparsity -> IO DMatrix
-casADi__Matrix_double___setSparse' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___setSparse_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setSparse' :: DMatrixClass a => a -> Sparsity -> IO DMatrix
-dmatrix_setSparse' x = casADi__Matrix_double___setSparse' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___densify" c_CasADi__Matrix_double___densify
-  :: Ptr DMatrix' -> CDouble -> IO ()
-casADi__Matrix_double___densify
-  :: DMatrix -> Double -> IO ()
-casADi__Matrix_double___densify x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___densify x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Make the matrix
->dense.
--}
-dmatrix_densify :: DMatrixClass a => a -> Double -> IO ()
-dmatrix_densify x = casADi__Matrix_double___densify (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___densify_TIC" c_CasADi__Matrix_double___densify_TIC
-  :: Ptr DMatrix' -> IO ()
-casADi__Matrix_double___densify'
-  :: DMatrix -> IO ()
-casADi__Matrix_double___densify' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___densify_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_densify' :: DMatrixClass a => a -> IO ()
-dmatrix_densify' x = casADi__Matrix_double___densify' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___sparsify" c_CasADi__Matrix_double___sparsify
-  :: Ptr DMatrix' -> CDouble -> IO ()
-casADi__Matrix_double___sparsify
-  :: DMatrix -> Double -> IO ()
-casADi__Matrix_double___sparsify x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___sparsify x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Make a matrix
->sparse by removing numerical zeros smaller in absolute value than a
->specified tolerance.
--}
-dmatrix_sparsify :: DMatrixClass a => a -> Double -> IO ()
-dmatrix_sparsify x = casADi__Matrix_double___sparsify (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___sparsify_TIC" c_CasADi__Matrix_double___sparsify_TIC
-  :: Ptr DMatrix' -> IO ()
-casADi__Matrix_double___sparsify'
-  :: DMatrix -> IO ()
-casADi__Matrix_double___sparsify' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sparsify_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_sparsify' :: DMatrixClass a => a -> IO ()
-dmatrix_sparsify' x = casADi__Matrix_double___sparsify' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___operator_plus" c_CasADi__Matrix_double___operator_plus
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___operator_plus
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___operator_plus x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___operator_plus x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_operator_plus :: DMatrixClass a => a -> IO DMatrix
-dmatrix_operator_plus x = casADi__Matrix_double___operator_plus (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___operator_minus" c_CasADi__Matrix_double___operator_minus
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___operator_minus
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___operator_minus x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___operator_minus x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_operator_minus :: DMatrixClass a => a -> IO DMatrix
-dmatrix_operator_minus x = casADi__Matrix_double___operator_minus (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___binary" c_CasADi__Matrix_double___binary
-  :: CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___binary
-  :: Int -> DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___binary x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___binary x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create nodes by
->their ID.
--}
-dmatrix_binary :: Int -> DMatrix -> DMatrix -> IO DMatrix
-dmatrix_binary = casADi__Matrix_double___binary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___unary" c_CasADi__Matrix_double___unary
-  :: CInt -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___unary
-  :: Int -> DMatrix -> IO DMatrix
-casADi__Matrix_double___unary x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___unary x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create nodes by
->their ID.
--}
-dmatrix_unary :: Int -> DMatrix -> IO DMatrix
-dmatrix_unary = casADi__Matrix_double___unary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___scalar_matrix" c_CasADi__Matrix_double___scalar_matrix
-  :: CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___scalar_matrix
-  :: Int -> DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___scalar_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___scalar_matrix x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create
->nodes by their ID.
--}
-dmatrix_scalar_matrix :: Int -> DMatrix -> DMatrix -> IO DMatrix
-dmatrix_scalar_matrix = casADi__Matrix_double___scalar_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___matrix_scalar" c_CasADi__Matrix_double___matrix_scalar
-  :: CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___matrix_scalar
-  :: Int -> DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___matrix_scalar x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___matrix_scalar x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create
->nodes by their ID.
--}
-dmatrix_matrix_scalar :: Int -> DMatrix -> DMatrix -> IO DMatrix
-dmatrix_matrix_scalar = casADi__Matrix_double___matrix_scalar
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___matrix_matrix" c_CasADi__Matrix_double___matrix_matrix
-  :: CInt -> Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___matrix_matrix
-  :: Int -> DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___matrix_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___matrix_matrix x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create
->nodes by their ID.
--}
-dmatrix_matrix_matrix :: Int -> DMatrix -> DMatrix -> IO DMatrix
-dmatrix_matrix_matrix = casADi__Matrix_double___matrix_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____add__" c_CasADi__Matrix_double_____add__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____add__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____add__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____add__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___add__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___add__ x = casADi__Matrix_double_____add__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____sub__" c_CasADi__Matrix_double_____sub__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____sub__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____sub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____sub__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___sub__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___sub__ x = casADi__Matrix_double_____sub__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____mul__" c_CasADi__Matrix_double_____mul__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____mul__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____mul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____mul__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___mul__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___mul__ x = casADi__Matrix_double_____mul__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____div__" c_CasADi__Matrix_double_____div__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____div__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____div__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____div__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___div__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___div__ x = casADi__Matrix_double_____div__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____lt__" c_CasADi__Matrix_double_____lt__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____lt__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____lt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____lt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___lt__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___lt__ x = casADi__Matrix_double_____lt__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____le__" c_CasADi__Matrix_double_____le__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____le__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____le__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____le__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___le__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___le__ x = casADi__Matrix_double_____le__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____eq__" c_CasADi__Matrix_double_____eq__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____eq__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____eq__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____eq__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___eq__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___eq__ x = casADi__Matrix_double_____eq__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____ne__" c_CasADi__Matrix_double_____ne__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____ne__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____ne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____ne__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___ne__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___ne__ x = casADi__Matrix_double_____ne__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____truediv__" c_CasADi__Matrix_double_____truediv__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____truediv__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____truediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____truediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___truediv__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___truediv__ x = casADi__Matrix_double_____truediv__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____pow__" c_CasADi__Matrix_double_____pow__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____pow__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____pow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____pow__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___pow__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___pow__ x = casADi__Matrix_double_____pow__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____constpow__" c_CasADi__Matrix_double_____constpow__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____constpow__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____constpow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____constpow__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___constpow__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___constpow__ x = casADi__Matrix_double_____constpow__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____mpower__" c_CasADi__Matrix_double_____mpower__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____mpower__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____mpower__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____mpower__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___mpower__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___mpower__ x = casADi__Matrix_double_____mpower__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____mrdivide__" c_CasADi__Matrix_double_____mrdivide__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____mrdivide__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____mrdivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____mrdivide__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-dmatrix___mrdivide__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___mrdivide__ x = casADi__Matrix_double_____mrdivide__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___mul_full" c_CasADi__Matrix_double___mul_full
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__Matrix_double___mul_full
-  :: DMatrix -> DMatrix -> Sparsity -> IO DMatrix
-casADi__Matrix_double___mul_full x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___mul_full x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Matrix-matrix
->product.
--}
-dmatrix_mul_full :: DMatrixClass a => a -> DMatrix -> Sparsity -> IO DMatrix
-dmatrix_mul_full x = casADi__Matrix_double___mul_full (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___mul_full_TIC" c_CasADi__Matrix_double___mul_full_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___mul_full'
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___mul_full' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___mul_full_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_mul_full' :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_mul_full' x = casADi__Matrix_double___mul_full' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___mul" c_CasADi__Matrix_double___mul
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__Matrix_double___mul
-  :: DMatrix -> DMatrix -> Sparsity -> IO DMatrix
-casADi__Matrix_double___mul x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___mul x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Matrix-matrix
->product.
--}
-dmatrix_mul :: DMatrixClass a => a -> DMatrix -> Sparsity -> IO DMatrix
-dmatrix_mul x = casADi__Matrix_double___mul (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___mul_TIC" c_CasADi__Matrix_double___mul_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___mul'
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___mul' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___mul_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_mul' :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_mul' x = casADi__Matrix_double___mul' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___mul_no_alloc_nn" c_CasADi__Matrix_double___mul_no_alloc_nn
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___mul_no_alloc_nn
-  :: DMatrix -> DMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___mul_no_alloc_nn x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___mul_no_alloc_nn x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_mul_no_alloc_nn :: DMatrix -> DMatrix -> DMatrix -> IO ()
-dmatrix_mul_no_alloc_nn = casADi__Matrix_double___mul_no_alloc_nn
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___mul_no_alloc_tn" c_CasADi__Matrix_double___mul_no_alloc_tn
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___mul_no_alloc_tn
-  :: DMatrix -> DMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___mul_no_alloc_tn x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___mul_no_alloc_tn x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_mul_no_alloc_tn :: DMatrix -> DMatrix -> DMatrix -> IO ()
-dmatrix_mul_no_alloc_tn = casADi__Matrix_double___mul_no_alloc_tn
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___mul_no_alloc_nt" c_CasADi__Matrix_double___mul_no_alloc_nt
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___mul_no_alloc_nt
-  :: DMatrix -> DMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___mul_no_alloc_nt x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___mul_no_alloc_nt x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_mul_no_alloc_nt :: DMatrix -> DMatrix -> DMatrix -> IO ()
-dmatrix_mul_no_alloc_nt = casADi__Matrix_double___mul_no_alloc_nt
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___mul_no_alloc_tn_TIC" c_CasADi__Matrix_double___mul_no_alloc_tn_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CDouble) -> Ptr (CppVec CDouble) -> IO ()
-casADi__Matrix_double___mul_no_alloc_tn'
-  :: DMatrix -> Vector Double -> Vector Double -> IO ()
-casADi__Matrix_double___mul_no_alloc_tn' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___mul_no_alloc_tn_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_mul_no_alloc_tn' :: DMatrix -> Vector Double -> Vector Double -> IO ()
-dmatrix_mul_no_alloc_tn' = casADi__Matrix_double___mul_no_alloc_tn'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___mul_no_alloc_nn_TIC" c_CasADi__Matrix_double___mul_no_alloc_nn_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CDouble) -> Ptr (CppVec CDouble) -> IO ()
-casADi__Matrix_double___mul_no_alloc_nn'
-  :: DMatrix -> Vector Double -> Vector Double -> IO ()
-casADi__Matrix_double___mul_no_alloc_nn' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___mul_no_alloc_nn_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_mul_no_alloc_nn' :: DMatrix -> Vector Double -> Vector Double -> IO ()
-dmatrix_mul_no_alloc_nn' = casADi__Matrix_double___mul_no_alloc_nn'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___quad_form" c_CasADi__Matrix_double___quad_form
-  :: Ptr DMatrix' -> Ptr (CppVec CDouble) -> IO CDouble
-casADi__Matrix_double___quad_form
-  :: DMatrix -> Vector Double -> IO Double
-casADi__Matrix_double___quad_form x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___quad_form x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_quad_form :: DMatrix -> Vector Double -> IO Double
-dmatrix_quad_form = casADi__Matrix_double___quad_form
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___trans" c_CasADi__Matrix_double___trans
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___trans
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___trans x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___trans x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]   Transpose the
->matrix.
--}
-dmatrix_trans :: DMatrixClass a => a -> IO DMatrix
-dmatrix_trans x = casADi__Matrix_double___trans (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___sin" c_CasADi__Matrix_double___sin
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___sin
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___sin x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sin x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_sin :: DMatrixClass a => a -> IO DMatrix
-dmatrix_sin x = casADi__Matrix_double___sin (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___cos" c_CasADi__Matrix_double___cos
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___cos
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___cos x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___cos x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_cos :: DMatrixClass a => a -> IO DMatrix
-dmatrix_cos x = casADi__Matrix_double___cos (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___tan" c_CasADi__Matrix_double___tan
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___tan
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___tan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___tan x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_tan :: DMatrixClass a => a -> IO DMatrix
-dmatrix_tan x = casADi__Matrix_double___tan (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___arcsin" c_CasADi__Matrix_double___arcsin
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___arcsin
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___arcsin x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arcsin x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_arcsin :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arcsin x = casADi__Matrix_double___arcsin (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___arccos" c_CasADi__Matrix_double___arccos
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___arccos
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___arccos x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arccos x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_arccos :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arccos x = casADi__Matrix_double___arccos (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___arctan" c_CasADi__Matrix_double___arctan
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___arctan
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___arctan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arctan x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_arctan :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arctan x = casADi__Matrix_double___arctan (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___exp" c_CasADi__Matrix_double___exp
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___exp
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___exp x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___exp x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_exp :: DMatrixClass a => a -> IO DMatrix
-dmatrix_exp x = casADi__Matrix_double___exp (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___log" c_CasADi__Matrix_double___log
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___log
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___log x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___log x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_log :: DMatrixClass a => a -> IO DMatrix
-dmatrix_log x = casADi__Matrix_double___log (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___sqrt" c_CasADi__Matrix_double___sqrt
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___sqrt
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___sqrt x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sqrt x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_sqrt :: DMatrixClass a => a -> IO DMatrix
-dmatrix_sqrt x = casADi__Matrix_double___sqrt (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___floor" c_CasADi__Matrix_double___floor
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___floor
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___floor x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___floor x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_floor :: DMatrixClass a => a -> IO DMatrix
-dmatrix_floor x = casADi__Matrix_double___floor (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___ceil" c_CasADi__Matrix_double___ceil
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___ceil
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___ceil x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___ceil x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_ceil :: DMatrixClass a => a -> IO DMatrix
-dmatrix_ceil x = casADi__Matrix_double___ceil (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___fabs" c_CasADi__Matrix_double___fabs
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___fabs
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___fabs x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___fabs x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_fabs :: DMatrixClass a => a -> IO DMatrix
-dmatrix_fabs x = casADi__Matrix_double___fabs (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___sign" c_CasADi__Matrix_double___sign
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___sign
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___sign x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sign x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_sign :: DMatrixClass a => a -> IO DMatrix
-dmatrix_sign x = casADi__Matrix_double___sign (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double_____copysign__" c_CasADi__Matrix_double_____copysign__
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double_____copysign__
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double_____copysign__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____copysign__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix___copysign__ :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix___copysign__ x = casADi__Matrix_double_____copysign__ (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___erfinv" c_CasADi__Matrix_double___erfinv
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___erfinv
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___erfinv x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___erfinv x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_erfinv :: DMatrixClass a => a -> IO DMatrix
-dmatrix_erfinv x = casADi__Matrix_double___erfinv (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___fmin" c_CasADi__Matrix_double___fmin
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___fmin
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___fmin x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___fmin x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_fmin :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_fmin x = casADi__Matrix_double___fmin (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___fmax" c_CasADi__Matrix_double___fmax
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___fmax
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___fmax x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___fmax x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_fmax :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_fmax x = casADi__Matrix_double___fmax (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___erf" c_CasADi__Matrix_double___erf
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___erf
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___erf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___erf x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_erf :: DMatrixClass a => a -> IO DMatrix
-dmatrix_erf x = casADi__Matrix_double___erf (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___sinh" c_CasADi__Matrix_double___sinh
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___sinh
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___sinh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sinh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_sinh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_sinh x = casADi__Matrix_double___sinh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___cosh" c_CasADi__Matrix_double___cosh
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___cosh
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___cosh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___cosh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_cosh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_cosh x = casADi__Matrix_double___cosh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___tanh" c_CasADi__Matrix_double___tanh
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___tanh
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___tanh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___tanh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_tanh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_tanh x = casADi__Matrix_double___tanh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___arcsinh" c_CasADi__Matrix_double___arcsinh
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___arcsinh
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___arcsinh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arcsinh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_arcsinh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arcsinh x = casADi__Matrix_double___arcsinh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___arccosh" c_CasADi__Matrix_double___arccosh
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___arccosh
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___arccosh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arccosh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_arccosh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arccosh x = casADi__Matrix_double___arccosh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___arctanh" c_CasADi__Matrix_double___arctanh
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___arctanh
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___arctanh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arctanh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_arctanh :: DMatrixClass a => a -> IO DMatrix
-dmatrix_arctanh x = casADi__Matrix_double___arctanh (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___arctan2" c_CasADi__Matrix_double___arctan2
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___arctan2
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___arctan2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___arctan2 x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_arctan2 :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_arctan2 x = casADi__Matrix_double___arctan2 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___log10" c_CasADi__Matrix_double___log10
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___log10
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___log10 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___log10 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-dmatrix_log10 :: DMatrixClass a => a -> IO DMatrix
-dmatrix_log10 x = casADi__Matrix_double___log10 (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___printme" c_CasADi__Matrix_double___printme
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___printme
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___printme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___printme x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_printme :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_printme x = casADi__Matrix_double___printme (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___logic_not" c_CasADi__Matrix_double___logic_not
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___logic_not
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___logic_not x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___logic_not x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_logic_not :: DMatrixClass a => a -> IO DMatrix
-dmatrix_logic_not x = casADi__Matrix_double___logic_not (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___logic_and" c_CasADi__Matrix_double___logic_and
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___logic_and
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___logic_and x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___logic_and x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_logic_and :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_logic_and x = casADi__Matrix_double___logic_and (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___logic_or" c_CasADi__Matrix_double___logic_or
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___logic_or
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___logic_or x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___logic_or x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_logic_or :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_logic_or x = casADi__Matrix_double___logic_or (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___if_else_zero" c_CasADi__Matrix_double___if_else_zero
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___if_else_zero
-  :: DMatrix -> DMatrix -> IO DMatrix
-casADi__Matrix_double___if_else_zero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___if_else_zero x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-dmatrix_if_else_zero :: DMatrixClass a => a -> DMatrix -> IO DMatrix
-dmatrix_if_else_zero x = casADi__Matrix_double___if_else_zero (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setMaxNumCallsInPrint" c_CasADi__Matrix_double___setMaxNumCallsInPrint
-  :: CLong -> IO ()
-casADi__Matrix_double___setMaxNumCallsInPrint
-  :: Int -> IO ()
-casADi__Matrix_double___setMaxNumCallsInPrint x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___setMaxNumCallsInPrint x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setMaxNumCallsInPrint :: Int -> IO ()
-dmatrix_setMaxNumCallsInPrint = casADi__Matrix_double___setMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setMaxNumCallsInPrint_TIC" c_CasADi__Matrix_double___setMaxNumCallsInPrint_TIC
-  :: IO ()
-casADi__Matrix_double___setMaxNumCallsInPrint'
-  :: IO ()
-casADi__Matrix_double___setMaxNumCallsInPrint'  =
-  c_CasADi__Matrix_double___setMaxNumCallsInPrint_TIC  >>= wrapReturn
-
--- classy wrapper
-dmatrix_setMaxNumCallsInPrint' :: IO ()
-dmatrix_setMaxNumCallsInPrint' = casADi__Matrix_double___setMaxNumCallsInPrint'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___getMaxNumCallsInPrint" c_CasADi__Matrix_double___getMaxNumCallsInPrint
-  :: IO CLong
-casADi__Matrix_double___getMaxNumCallsInPrint
-  :: IO Int
-casADi__Matrix_double___getMaxNumCallsInPrint  =
-  c_CasADi__Matrix_double___getMaxNumCallsInPrint  >>= wrapReturn
-
--- classy wrapper
-dmatrix_getMaxNumCallsInPrint :: IO Int
-dmatrix_getMaxNumCallsInPrint = casADi__Matrix_double___getMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setEqualityCheckingDepth" c_CasADi__Matrix_double___setEqualityCheckingDepth
-  :: CInt -> IO ()
-casADi__Matrix_double___setEqualityCheckingDepth
-  :: Int -> IO ()
-casADi__Matrix_double___setEqualityCheckingDepth x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___setEqualityCheckingDepth x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_setEqualityCheckingDepth :: Int -> IO ()
-dmatrix_setEqualityCheckingDepth = casADi__Matrix_double___setEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setEqualityCheckingDepth_TIC" c_CasADi__Matrix_double___setEqualityCheckingDepth_TIC
-  :: IO ()
-casADi__Matrix_double___setEqualityCheckingDepth'
-  :: IO ()
-casADi__Matrix_double___setEqualityCheckingDepth'  =
-  c_CasADi__Matrix_double___setEqualityCheckingDepth_TIC  >>= wrapReturn
-
--- classy wrapper
-dmatrix_setEqualityCheckingDepth' :: IO ()
-dmatrix_setEqualityCheckingDepth' = casADi__Matrix_double___setEqualityCheckingDepth'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___getEqualityCheckingDepth" c_CasADi__Matrix_double___getEqualityCheckingDepth
-  :: IO CInt
-casADi__Matrix_double___getEqualityCheckingDepth
-  :: IO Int
-casADi__Matrix_double___getEqualityCheckingDepth  =
-  c_CasADi__Matrix_double___getEqualityCheckingDepth  >>= wrapReturn
-
--- classy wrapper
-dmatrix_getEqualityCheckingDepth :: IO Int
-dmatrix_getEqualityCheckingDepth = casADi__Matrix_double___getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___className" c_CasADi__Matrix_double___className
-  :: IO (Ptr StdString')
-casADi__Matrix_double___className
-  :: IO String
-casADi__Matrix_double___className  =
-  c_CasADi__Matrix_double___className  >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Printing.
--}
-dmatrix_className :: IO String
-dmatrix_className = casADi__Matrix_double___className
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___printScalar_TIC" c_CasADi__Matrix_double___printScalar_TIC
-  :: Ptr DMatrix' -> IO ()
-casADi__Matrix_double___printScalar'
-  :: DMatrix -> IO ()
-casADi__Matrix_double___printScalar' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___printScalar_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_printScalar' :: DMatrixClass a => a -> IO ()
-dmatrix_printScalar' x = casADi__Matrix_double___printScalar' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___printVector_TIC" c_CasADi__Matrix_double___printVector_TIC
-  :: Ptr DMatrix' -> IO ()
-casADi__Matrix_double___printVector'
-  :: DMatrix -> IO ()
-casADi__Matrix_double___printVector' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___printVector_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_printVector' :: DMatrixClass a => a -> IO ()
-dmatrix_printVector' x = casADi__Matrix_double___printVector' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___printDense_TIC" c_CasADi__Matrix_double___printDense_TIC
-  :: Ptr DMatrix' -> IO ()
-casADi__Matrix_double___printDense'
-  :: DMatrix -> IO ()
-casADi__Matrix_double___printDense' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___printDense_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_printDense' :: DMatrixClass a => a -> IO ()
-dmatrix_printDense' x = casADi__Matrix_double___printDense' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___printSparse_TIC" c_CasADi__Matrix_double___printSparse_TIC
-  :: Ptr DMatrix' -> IO ()
-casADi__Matrix_double___printSparse'
-  :: DMatrix -> IO ()
-casADi__Matrix_double___printSparse' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___printSparse_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_printSparse' :: DMatrixClass a => a -> IO ()
-dmatrix_printSparse' x = casADi__Matrix_double___printSparse' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___row" c_CasADi__Matrix_double___row
-  :: Ptr DMatrix' -> CInt -> IO CInt
-casADi__Matrix_double___row
-  :: DMatrix -> Int -> IO Int
-casADi__Matrix_double___row x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___row x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-dmatrix_row :: DMatrixClass a => a -> Int -> IO Int
-dmatrix_row x = casADi__Matrix_double___row (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___colind" c_CasADi__Matrix_double___colind
-  :: Ptr DMatrix' -> CInt -> IO CInt
-casADi__Matrix_double___colind
-  :: DMatrix -> Int -> IO Int
-casADi__Matrix_double___colind x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___colind x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-dmatrix_colind :: DMatrixClass a => a -> Int -> IO Int
-dmatrix_colind x = casADi__Matrix_double___colind (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___clear" c_CasADi__Matrix_double___clear
-  :: Ptr DMatrix' -> IO ()
-casADi__Matrix_double___clear
-  :: DMatrix -> IO ()
-casADi__Matrix_double___clear x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___clear x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-dmatrix_clear :: DMatrixClass a => a -> IO ()
-dmatrix_clear x = casADi__Matrix_double___clear (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___resize" c_CasADi__Matrix_double___resize
-  :: Ptr DMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_double___resize
-  :: DMatrix -> Int -> Int -> IO ()
-casADi__Matrix_double___resize x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___resize x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-dmatrix_resize :: DMatrixClass a => a -> Int -> Int -> IO ()
-dmatrix_resize x = casADi__Matrix_double___resize (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___reserve" c_CasADi__Matrix_double___reserve
-  :: Ptr DMatrix' -> CInt -> IO ()
-casADi__Matrix_double___reserve
-  :: DMatrix -> Int -> IO ()
-casADi__Matrix_double___reserve x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___reserve x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-dmatrix_reserve :: DMatrixClass a => a -> Int -> IO ()
-dmatrix_reserve x = casADi__Matrix_double___reserve (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___reserve_TIC" c_CasADi__Matrix_double___reserve_TIC
-  :: Ptr DMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_double___reserve'
-  :: DMatrix -> Int -> Int -> IO ()
-casADi__Matrix_double___reserve' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___reserve_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_reserve' :: DMatrixClass a => a -> Int -> Int -> IO ()
-dmatrix_reserve' x = casADi__Matrix_double___reserve' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___erase" c_CasADi__Matrix_double___erase
-  :: Ptr DMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_double___erase
-  :: DMatrix -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_double___erase x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___erase x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Erase a submatrix
->Erase rows and/or columns of a matrix.
--}
-dmatrix_erase :: DMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
-dmatrix_erase x = casADi__Matrix_double___erase (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___remove" c_CasADi__Matrix_double___remove
-  :: Ptr DMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_double___remove
-  :: DMatrix -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_double___remove x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___remove x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
-> [INTERNAL]  Remove cols or
->rows Rremove/delete rows and/or columns of a matrix.
--}
-dmatrix_remove :: DMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
-dmatrix_remove x = casADi__Matrix_double___remove (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___enlarge" c_CasADi__Matrix_double___enlarge
-  :: Ptr DMatrix' -> CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_double___enlarge
-  :: DMatrix -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_double___enlarge x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Matrix_double___enlarge x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Enlarge matrix
->Make the matrix larger by inserting empty rows and columns, keeping the
->existing non-zeros.
--}
-dmatrix_enlarge :: DMatrixClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-dmatrix_enlarge x = casADi__Matrix_double___enlarge (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___data" c_CasADi__Matrix_double___data
-  :: Ptr DMatrix' -> IO (Ptr (CppVec CDouble))
-casADi__Matrix_double___data
-  :: DMatrix -> IO (Vector Double)
-casADi__Matrix_double___data x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___data x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  std::vector< DataType > & CasADi::Matrix< DataType >::data()
->------------------------------------------------------------------------
->[INTERNAL] 
->Access the non-zero elements.
->
->>  const std::vector< DataType > & CasADi::Matrix< DataType >::data() const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Const access the non-zero elements.
--}
-dmatrix_data :: DMatrixClass a => a -> IO (Vector Double)
-dmatrix_data x = casADi__Matrix_double___data (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___sparsityRef" c_CasADi__Matrix_double___sparsityRef
-  :: Ptr DMatrix' -> IO (Ptr Sparsity')
-casADi__Matrix_double___sparsityRef
-  :: DMatrix -> IO Sparsity
-casADi__Matrix_double___sparsityRef x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sparsityRef x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Access the
->sparsity, make a copy if there are multiple references to it.
--}
-dmatrix_sparsityRef :: DMatrixClass a => a -> IO Sparsity
-dmatrix_sparsityRef x = casADi__Matrix_double___sparsityRef (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___set" c_CasADi__Matrix_double___set
-  :: Ptr DMatrix' -> CDouble -> CInt -> IO ()
-casADi__Matrix_double___set
-  :: DMatrix -> Double -> SparsityType -> IO ()
-casADi__Matrix_double___set x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___set x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< DataType >::set(DataType val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set the non-zero elements, scalar.
->
->>  void CasADi::Matrix< DataType >::set(const std::vector< DataType > &val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set the non-zero elements, vector.
->
->>  void CasADi::Matrix< DataType >::set(const Matrix< DataType > &val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set the non-zero elements, Matrix.
->
->>  void CasADi::Matrix< DataType >::set(const DataType *val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Legacy - use setArray instead.
--}
-dmatrix_set :: DMatrixClass a => a -> Double -> SparsityType -> IO ()
-dmatrix_set x = casADi__Matrix_double___set (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___set_TIC" c_CasADi__Matrix_double___set_TIC
-  :: Ptr DMatrix' -> CDouble -> IO ()
-casADi__Matrix_double___set'
-  :: DMatrix -> Double -> IO ()
-casADi__Matrix_double___set' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___set_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_set' :: DMatrixClass a => a -> Double -> IO ()
-dmatrix_set' x = casADi__Matrix_double___set' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___get" c_CasADi__Matrix_double___get
-  :: Ptr DMatrix' -> CDouble -> CInt -> IO ()
-casADi__Matrix_double___get
-  :: DMatrix -> Double -> SparsityType -> IO ()
-casADi__Matrix_double___get x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___get x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< DataType >::get(DataType &val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get the non-zero elements, scalar.
->
->>  void CasADi::Matrix< DataType >::get(std::vector< DataType > &val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get the non-zero elements, vector.
->
->>  void CasADi::Matrix< DataType >::get(Matrix< DataType > &val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get the non-zero elements, Matrix.
->
->>  void CasADi::Matrix< DataType >::get(DataType *val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Legacy - use getArray instead.
--}
-dmatrix_get :: DMatrixClass a => a -> Double -> SparsityType -> IO ()
-dmatrix_get x = casADi__Matrix_double___get (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___get_TIC" c_CasADi__Matrix_double___get_TIC
-  :: Ptr DMatrix' -> CDouble -> IO ()
-casADi__Matrix_double___get'
-  :: DMatrix -> Double -> IO ()
-casADi__Matrix_double___get' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___get_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_get' :: DMatrixClass a => a -> Double -> IO ()
-dmatrix_get' x = casADi__Matrix_double___get' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___set_TIC_TIC" c_CasADi__Matrix_double___set_TIC_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CDouble) -> CInt -> IO ()
-casADi__Matrix_double___set''
-  :: DMatrix -> Vector Double -> SparsityType -> IO ()
-casADi__Matrix_double___set'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___set_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_set'' :: DMatrixClass a => a -> Vector Double -> SparsityType -> IO ()
-dmatrix_set'' x = casADi__Matrix_double___set'' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___set_TIC_TIC_TIC" c_CasADi__Matrix_double___set_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CDouble) -> IO ()
-casADi__Matrix_double___set'''
-  :: DMatrix -> Vector Double -> IO ()
-casADi__Matrix_double___set''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___set_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_set''' :: DMatrixClass a => a -> Vector Double -> IO ()
-dmatrix_set''' x = casADi__Matrix_double___set''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___get_TIC_TIC" c_CasADi__Matrix_double___get_TIC_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CDouble) -> CInt -> IO ()
-casADi__Matrix_double___get''
-  :: DMatrix -> Vector Double -> SparsityType -> IO ()
-casADi__Matrix_double___get'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___get_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_get'' :: DMatrixClass a => a -> Vector Double -> SparsityType -> IO ()
-dmatrix_get'' x = casADi__Matrix_double___get'' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___get_TIC_TIC_TIC" c_CasADi__Matrix_double___get_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CDouble) -> IO ()
-casADi__Matrix_double___get'''
-  :: DMatrix -> Vector Double -> IO ()
-casADi__Matrix_double___get''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___get_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_get''' :: DMatrixClass a => a -> Vector Double -> IO ()
-dmatrix_get''' x = casADi__Matrix_double___get''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___set_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___set_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO ()
-casADi__Matrix_double___set''''
-  :: DMatrix -> DMatrix -> SparsityType -> IO ()
-casADi__Matrix_double___set'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___set_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_set'''' :: DMatrixClass a => a -> DMatrix -> SparsityType -> IO ()
-dmatrix_set'''' x = casADi__Matrix_double___set'''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___set_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___set_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___set'''''
-  :: DMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___set''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___set_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_set''''' :: DMatrixClass a => a -> DMatrix -> IO ()
-dmatrix_set''''' x = casADi__Matrix_double___set''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___get_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___get_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> CInt -> IO ()
-casADi__Matrix_double___get''''
-  :: DMatrix -> DMatrix -> SparsityType -> IO ()
-casADi__Matrix_double___get'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___get_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_get'''' :: DMatrixClass a => a -> DMatrix -> SparsityType -> IO ()
-dmatrix_get'''' x = casADi__Matrix_double___get'''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___get_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___get_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-casADi__Matrix_double___get'''''
-  :: DMatrix -> DMatrix -> IO ()
-casADi__Matrix_double___get''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___get_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_get''''' :: DMatrixClass a => a -> DMatrix -> IO ()
-dmatrix_get''''' x = casADi__Matrix_double___get''''' (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___triplet" c_CasADi__Matrix_double___triplet
-  :: Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CDouble) -> IO (Ptr DMatrix')
-casADi__Matrix_double___triplet
-  :: Vector Int -> Vector Int -> Vector Double -> IO DMatrix
-casADi__Matrix_double___triplet x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___triplet x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-dmatrix_triplet :: Vector Int -> Vector Int -> Vector Double -> IO DMatrix
-dmatrix_triplet = casADi__Matrix_double___triplet
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___triplet_TIC" c_CasADi__Matrix_double___triplet_TIC
-  :: Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CDouble) -> CInt -> CInt -> IO (Ptr DMatrix')
-casADi__Matrix_double___triplet'
-  :: Vector Int -> Vector Int -> Vector Double -> Int -> Int -> IO DMatrix
-casADi__Matrix_double___triplet' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Matrix_double___triplet_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-dmatrix_triplet' :: Vector Int -> Vector Int -> Vector Double -> Int -> Int -> IO DMatrix
-dmatrix_triplet' = casADi__Matrix_double___triplet'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___inf" c_CasADi__Matrix_double___inf
-  :: Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__Matrix_double___inf
-  :: Sparsity -> IO DMatrix
-casADi__Matrix_double___inf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___inf x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  create a matrix with
->all inf
--}
-dmatrix_inf :: Sparsity -> IO DMatrix
-dmatrix_inf = casADi__Matrix_double___inf
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___inf_TIC" c_CasADi__Matrix_double___inf_TIC
-  :: CInt -> CInt -> IO (Ptr DMatrix')
-casADi__Matrix_double___inf'
-  :: Int -> Int -> IO DMatrix
-casADi__Matrix_double___inf' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___inf_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_inf' :: Int -> Int -> IO DMatrix
-dmatrix_inf' = casADi__Matrix_double___inf'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___inf_TIC_TIC" c_CasADi__Matrix_double___inf_TIC_TIC
-  :: CInt -> IO (Ptr DMatrix')
-casADi__Matrix_double___inf''
-  :: Int -> IO DMatrix
-casADi__Matrix_double___inf'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___inf_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_inf'' :: Int -> IO DMatrix
-dmatrix_inf'' = casADi__Matrix_double___inf''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___inf_TIC_TIC_TIC" c_CasADi__Matrix_double___inf_TIC_TIC_TIC
-  :: IO (Ptr DMatrix')
-casADi__Matrix_double___inf'''
-  :: IO DMatrix
-casADi__Matrix_double___inf'''  =
-  c_CasADi__Matrix_double___inf_TIC_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-dmatrix_inf''' :: IO DMatrix
-dmatrix_inf''' = casADi__Matrix_double___inf'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___nan" c_CasADi__Matrix_double___nan
-  :: Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__Matrix_double___nan
-  :: Sparsity -> IO DMatrix
-casADi__Matrix_double___nan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___nan x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  create a matrix with
->all nan
--}
-dmatrix_nan :: Sparsity -> IO DMatrix
-dmatrix_nan = casADi__Matrix_double___nan
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___nan_TIC" c_CasADi__Matrix_double___nan_TIC
-  :: CInt -> CInt -> IO (Ptr DMatrix')
-casADi__Matrix_double___nan'
-  :: Int -> Int -> IO DMatrix
-casADi__Matrix_double___nan' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___nan_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_nan' :: Int -> Int -> IO DMatrix
-dmatrix_nan' = casADi__Matrix_double___nan'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___nan_TIC_TIC" c_CasADi__Matrix_double___nan_TIC_TIC
-  :: CInt -> IO (Ptr DMatrix')
-casADi__Matrix_double___nan''
-  :: Int -> IO DMatrix
-casADi__Matrix_double___nan'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___nan_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_nan'' :: Int -> IO DMatrix
-dmatrix_nan'' = casADi__Matrix_double___nan''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___nan_TIC_TIC_TIC" c_CasADi__Matrix_double___nan_TIC_TIC_TIC
-  :: IO (Ptr DMatrix')
-casADi__Matrix_double___nan'''
-  :: IO DMatrix
-casADi__Matrix_double___nan'''  =
-  c_CasADi__Matrix_double___nan_TIC_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-dmatrix_nan''' :: IO DMatrix
-dmatrix_nan''' = casADi__Matrix_double___nan'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___repmat" c_CasADi__Matrix_double___repmat
-  :: CDouble -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__Matrix_double___repmat
-  :: Double -> Sparsity -> IO DMatrix
-casADi__Matrix_double___repmat x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___repmat x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  create a matrix
->by repeating an existing matrix
--}
-dmatrix_repmat :: Double -> Sparsity -> IO DMatrix
-dmatrix_repmat = casADi__Matrix_double___repmat
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___repmat_TIC" c_CasADi__Matrix_double___repmat_TIC
-  :: Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__Matrix_double___repmat'
-  :: DMatrix -> Sparsity -> IO DMatrix
-casADi__Matrix_double___repmat' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___repmat_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_repmat' :: DMatrix -> Sparsity -> IO DMatrix
-dmatrix_repmat' = casADi__Matrix_double___repmat'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___repmat_TIC_TIC" c_CasADi__Matrix_double___repmat_TIC_TIC
-  :: Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
-casADi__Matrix_double___repmat''
-  :: DMatrix -> Int -> Int -> IO DMatrix
-casADi__Matrix_double___repmat'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___repmat_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix_repmat'' :: DMatrix -> Int -> Int -> IO DMatrix
-dmatrix_repmat'' = casADi__Matrix_double___repmat''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___repmat_TIC_TIC_TIC" c_CasADi__Matrix_double___repmat_TIC_TIC_TIC
-  :: Ptr DMatrix' -> CInt -> IO (Ptr DMatrix')
-casADi__Matrix_double___repmat'''
-  :: DMatrix -> Int -> IO DMatrix
-casADi__Matrix_double___repmat''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___repmat_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix_repmat''' :: DMatrix -> Int -> IO DMatrix
-dmatrix_repmat''' = casADi__Matrix_double___repmat'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___eye" c_CasADi__Matrix_double___eye
-  :: CInt -> IO (Ptr DMatrix')
-casADi__Matrix_double___eye
-  :: Int -> IO DMatrix
-casADi__Matrix_double___eye x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___eye x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix_eye :: Int -> IO DMatrix
-dmatrix_eye = casADi__Matrix_double___eye
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___isRegular" c_CasADi__Matrix_double___isRegular
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___isRegular
-  :: DMatrix -> IO Bool
-casADi__Matrix_double___isRegular x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___isRegular x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Checks if
->expression does not contain NaN or Inf.
--}
-dmatrix_isRegular :: DMatrixClass a => a -> IO Bool
-dmatrix_isRegular x = casADi__Matrix_double___isRegular (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___isSmooth" c_CasADi__Matrix_double___isSmooth
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___isSmooth
-  :: DMatrix -> IO Bool
-casADi__Matrix_double___isSmooth x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___isSmooth x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if
->smooth.
--}
-dmatrix_isSmooth :: DMatrixClass a => a -> IO Bool
-dmatrix_isSmooth x = casADi__Matrix_double___isSmooth (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___isSymbolic" c_CasADi__Matrix_double___isSymbolic
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___isSymbolic
-  :: DMatrix -> IO Bool
-casADi__Matrix_double___isSymbolic x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___isSymbolic x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if
->symbolic (Dense) Sparse matrices invariable return false.
--}
-dmatrix_isSymbolic :: DMatrixClass a => a -> IO Bool
-dmatrix_isSymbolic x = casADi__Matrix_double___isSymbolic (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___isSymbolicSparse" c_CasADi__Matrix_double___isSymbolicSparse
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___isSymbolicSparse
-  :: DMatrix -> IO Bool
-casADi__Matrix_double___isSymbolicSparse x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___isSymbolicSparse x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check
->if symbolic Sparse matrices can return true if all non-zero elements are
->symbolic.
--}
-dmatrix_isSymbolicSparse :: DMatrixClass a => a -> IO Bool
-dmatrix_isSymbolicSparse x = casADi__Matrix_double___isSymbolicSparse (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___isConstant" c_CasADi__Matrix_double___isConstant
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___isConstant
-  :: DMatrix -> IO Bool
-casADi__Matrix_double___isConstant x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___isConstant x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if the
->matrix is constant (note that false negative answers are possible)
--}
-dmatrix_isConstant :: DMatrixClass a => a -> IO Bool
-dmatrix_isConstant x = casADi__Matrix_double___isConstant (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___isInteger" c_CasADi__Matrix_double___isInteger
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___isInteger
-  :: DMatrix -> IO Bool
-casADi__Matrix_double___isInteger x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___isInteger x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if the
->matrix is integer-valued (note that false negative answers are possible)
--}
-dmatrix_isInteger :: DMatrixClass a => a -> IO Bool
-dmatrix_isInteger x = casADi__Matrix_double___isInteger (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___isZero" c_CasADi__Matrix_double___isZero
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___isZero
-  :: DMatrix -> IO Bool
-casADi__Matrix_double___isZero x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___isZero x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is 0 (note that false negative answers are possible)
--}
-dmatrix_isZero :: DMatrixClass a => a -> IO Bool
-dmatrix_isZero x = casADi__Matrix_double___isZero (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___isOne" c_CasADi__Matrix_double___isOne
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___isOne
-  :: DMatrix -> IO Bool
-casADi__Matrix_double___isOne x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___isOne x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is 1 (note that false negative answers are possible)
--}
-dmatrix_isOne :: DMatrixClass a => a -> IO Bool
-dmatrix_isOne x = casADi__Matrix_double___isOne (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___isMinusOne" c_CasADi__Matrix_double___isMinusOne
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___isMinusOne
-  :: DMatrix -> IO Bool
-casADi__Matrix_double___isMinusOne x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___isMinusOne x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is -1 (note that false negative answers are possible)
--}
-dmatrix_isMinusOne :: DMatrixClass a => a -> IO Bool
-dmatrix_isMinusOne x = casADi__Matrix_double___isMinusOne (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___isIdentity" c_CasADi__Matrix_double___isIdentity
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___isIdentity
-  :: DMatrix -> IO Bool
-casADi__Matrix_double___isIdentity x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___isIdentity x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is an identity matrix (note that false negative answers are possible)
--}
-dmatrix_isIdentity :: DMatrixClass a => a -> IO Bool
-dmatrix_isIdentity x = casADi__Matrix_double___isIdentity (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___isEqual" c_CasADi__Matrix_double___isEqual
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___isEqual
-  :: DMatrix -> DMatrix -> IO Bool
-casADi__Matrix_double___isEqual x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___isEqual x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if two
->expressions are equal May give false negatives.
->
->Note: does not work when CasadiOptions.setSimplificationOnTheFly(False) was
->called
--}
-dmatrix_isEqual :: DMatrixClass a => a -> DMatrix -> IO Bool
-dmatrix_isEqual x = casADi__Matrix_double___isEqual (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___hasNonStructuralZeros" c_CasADi__Matrix_double___hasNonStructuralZeros
-  :: Ptr DMatrix' -> IO CInt
-casADi__Matrix_double___hasNonStructuralZeros
-  :: DMatrix -> IO Bool
-casADi__Matrix_double___hasNonStructuralZeros x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___hasNonStructuralZeros x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]
->Check if the matrix has any zero entries which are not structural zeros.
--}
-dmatrix_hasNonStructuralZeros :: DMatrixClass a => a -> IO Bool
-dmatrix_hasNonStructuralZeros x = casADi__Matrix_double___hasNonStructuralZeros (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___getValue" c_CasADi__Matrix_double___getValue
-  :: Ptr DMatrix' -> IO CDouble
-casADi__Matrix_double___getValue
-  :: DMatrix -> IO Double
-casADi__Matrix_double___getValue x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___getValue x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Get double
->value (only if constant)
--}
-dmatrix_getValue :: DMatrixClass a => a -> IO Double
-dmatrix_getValue x = casADi__Matrix_double___getValue (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___getName" c_CasADi__Matrix_double___getName
-  :: Ptr DMatrix' -> IO (Ptr StdString')
-casADi__Matrix_double___getName
-  :: DMatrix -> IO String
-casADi__Matrix_double___getName x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___getName x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Get name (only
->if symbolic scalar)
--}
-dmatrix_getName :: DMatrixClass a => a -> IO String
-dmatrix_getName x = casADi__Matrix_double___getName (castDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setPrecision" c_CasADi__Matrix_double___setPrecision
-  :: CInt -> IO ()
-casADi__Matrix_double___setPrecision
-  :: Int -> IO ()
-casADi__Matrix_double___setPrecision x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___setPrecision x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the 'precision, width & scientific' used in printing and serializing to
->streams.
--}
-dmatrix_setPrecision :: Int -> IO ()
-dmatrix_setPrecision = casADi__Matrix_double___setPrecision
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setWidth" c_CasADi__Matrix_double___setWidth
-  :: CInt -> IO ()
-casADi__Matrix_double___setWidth
-  :: Int -> IO ()
-casADi__Matrix_double___setWidth x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___setWidth x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the 'precision, width & scientific' used in printing and serializing to
->streams.
--}
-dmatrix_setWidth :: Int -> IO ()
-dmatrix_setWidth = casADi__Matrix_double___setWidth
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___setScientific" c_CasADi__Matrix_double___setScientific
-  :: CInt -> IO ()
-casADi__Matrix_double___setScientific
-  :: Bool -> IO ()
-casADi__Matrix_double___setScientific x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___setScientific x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the 'precision, width & scientific' used in printing and serializing to
->streams.
--}
-dmatrix_setScientific :: Bool -> IO ()
-dmatrix_setScientific = casADi__Matrix_double___setScientific
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix" c_CasADi__Matrix_double___DMatrix
-  :: IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix
-  :: IO DMatrix
-casADi__Matrix_double___DMatrix  =
-  c_CasADi__Matrix_double___DMatrix  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::Matrix< DataType >::Matrix(int nrow, int ncol)
->
->>  CasADi::Matrix< DataType >::Matrix(int nrow, int ncol, const DataType &val)
->
->>  CasADi::Matrix< DataType >::Matrix(int nrow, int ncol, const std::vector< int > &colind, const std::vector< int > &row, const std::vector< DataType > &d=std::vector< DataType >())
->------------------------------------------------------------------------
->
->[DEPRECATED]
->
->>  CasADi::Matrix< DataType >::Matrix(const Sparsity &sparsity, const DataType &val=DataType(0))
->------------------------------------------------------------------------
->[INTERNAL] 
->Sparse matrix with a given sparsity.
->
->>  CasADi::Matrix< DataType >::Matrix()
->------------------------------------------------------------------------
->[INTERNAL] 
->constructors
->
->empty 0-by-0 matrix constructor
->
->>  CasADi::Matrix< DataType >::Matrix(const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Copy constructor.
->
->>  CasADi::Matrix< DataType >::Matrix(const std::vector< std::vector< DataType > > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Dense matrix constructor with data given as vector of vectors.
->
->>  CasADi::Matrix< DataType >::Matrix(const Sparsity &sparsity, const std::vector< DataType > &d)
->------------------------------------------------------------------------
->[INTERNAL] 
->Sparse matrix with a given sparsity and non-zero elements.
->
->>  CasADi::Matrix< DataType >::Matrix(double val)
->------------------------------------------------------------------------
->[INTERNAL] 
->This constructor enables implicit type conversion from a numeric type.
->
->>  CasADi::Matrix< DataType >::Matrix(const std::vector< DataType > &x)
->------------------------------------------------------------------------
->[INTERNAL] 
->Construct from a vector.
->
->Thanks to implicit conversion, you can pretend that Matrix(const SXElement&
->x); exists. Note: above remark applies only to C++, not python or octave
->interfaces
->
->>  CasADi::Matrix< DataType >::Matrix(const std::vector< DataType > &x, int nrow, int ncol)
->------------------------------------------------------------------------
->[INTERNAL] 
->Construct dense matrix from a vector with the elements in column major
->ordering.
->
->>  CasADi::Matrix< T >::Matrix(const Matrix< A > &x)
->------------------------------------------------------------------------
->
->Create a matrix from a matrix with a different type of matrix entries
->(assuming that the scalar conversion is valid)
->
->>  CasADi::Matrix< T >::Matrix(const std::vector< A > &x)
->------------------------------------------------------------------------
->
->Create an expression from an stl vector.
->
->>  CasADi::Matrix< T >::Matrix(const std::vector< A > &x, int nrow, int ncol)
->------------------------------------------------------------------------
->
->Create a non-vector expression from an stl vector.
--}
-dmatrix :: IO DMatrix
-dmatrix = casADi__Matrix_double___DMatrix
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix_TIC" c_CasADi__Matrix_double___DMatrix_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix'
-  :: DMatrix -> IO DMatrix
-casADi__Matrix_double___DMatrix' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___DMatrix_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix' :: DMatrix -> IO DMatrix
-dmatrix' = casADi__Matrix_double___DMatrix'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix_TIC_TIC" c_CasADi__Matrix_double___DMatrix_TIC_TIC
-  :: Ptr (CppVec (Ptr (CppVec CDouble))) -> IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix''
-  :: Vector (Vector Double) -> IO DMatrix
-casADi__Matrix_double___DMatrix'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix'' :: Vector (Vector Double) -> IO DMatrix
-dmatrix'' = casADi__Matrix_double___DMatrix''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC" c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC
-  :: Ptr Sparsity' -> CDouble -> IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix'''
-  :: Sparsity -> Double -> IO DMatrix
-casADi__Matrix_double___DMatrix''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix''' :: Sparsity -> Double -> IO DMatrix
-dmatrix''' = casADi__Matrix_double___DMatrix'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix''''
-  :: Sparsity -> IO DMatrix
-casADi__Matrix_double___DMatrix'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix'''' :: Sparsity -> IO DMatrix
-dmatrix'''' = casADi__Matrix_double___DMatrix''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CDouble) -> IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix'''''
-  :: Sparsity -> Vector Double -> IO DMatrix
-casADi__Matrix_double___DMatrix''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-dmatrix''''' :: Sparsity -> Vector Double -> IO DMatrix
-dmatrix''''' = casADi__Matrix_double___DMatrix'''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC
-  :: CDouble -> IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix''''''
-  :: Double -> IO DMatrix
-casADi__Matrix_double___DMatrix'''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix'''''' :: Double -> IO DMatrix
-dmatrix'''''' = casADi__Matrix_double___DMatrix''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CDouble) -> IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix'''''''
-  :: Vector Double -> IO DMatrix
-casADi__Matrix_double___DMatrix''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix''''''' :: Vector Double -> IO DMatrix
-dmatrix''''''' = casADi__Matrix_double___DMatrix'''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CDouble) -> CInt -> CInt -> IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix''''''''
-  :: Vector Double -> Int -> Int -> IO DMatrix
-casADi__Matrix_double___DMatrix'''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix'''''''' :: Vector Double -> Int -> Int -> IO DMatrix
-dmatrix'''''''' = casADi__Matrix_double___DMatrix''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix'''''''''
-  :: IMatrix -> IO DMatrix
-casADi__Matrix_double___DMatrix''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix''''''''' :: IMatrix -> IO DMatrix
-dmatrix''''''''' = casADi__Matrix_double___DMatrix'''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CInt) -> IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix''''''''''
-  :: Vector Int -> IO DMatrix
-casADi__Matrix_double___DMatrix'''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dmatrix'''''''''' :: Vector Int -> IO DMatrix
-dmatrix'''''''''' = casADi__Matrix_double___DMatrix''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CInt) -> CInt -> CInt -> IO (Ptr DMatrix')
-casADi__Matrix_double___DMatrix'''''''''''
-  :: Vector Int -> Int -> Int -> IO DMatrix
-casADi__Matrix_double___DMatrix''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-dmatrix''''''''''' :: Vector Int -> Int -> Int -> IO DMatrix
-dmatrix''''''''''' = casADi__Matrix_double___DMatrix'''''''''''
-
diff --git a/Casadi/Wrappers/Classes/DerivativeGenerator.hs b/Casadi/Wrappers/Classes/DerivativeGenerator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/DerivativeGenerator.hs
+++ /dev/null
@@ -1,56 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.DerivativeGenerator
-       (
-         DerivativeGenerator,
-         DerivativeGeneratorClass(..),
-         derivativeGenerator,
-       ) 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 DerivativeGenerator where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__DerivativeGenerator__DerivativeGenerator" c_CasADi__DerivativeGenerator__DerivativeGenerator
-  :: IO (Ptr DerivativeGenerator')
-casADi__DerivativeGenerator__DerivativeGenerator
-  :: IO DerivativeGenerator
-casADi__DerivativeGenerator__DerivativeGenerator  =
-  c_CasADi__DerivativeGenerator__DerivativeGenerator  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::DerivativeGenerator::DerivativeGenerator()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::DerivativeGenerator::DerivativeGenerator(DerivativeGeneratorCPtr ptr)
->------------------------------------------------------------------------
->
->Construct from C pointer.
--}
-derivativeGenerator :: IO DerivativeGenerator
-derivativeGenerator = casADi__DerivativeGenerator__DerivativeGenerator
-
diff --git a/Casadi/Wrappers/Classes/DirectCollocation.hs b/Casadi/Wrappers/Classes/DirectCollocation.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/DirectCollocation.hs
+++ /dev/null
@@ -1,236 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.DirectCollocation
-       (
-         DirectCollocation,
-         DirectCollocationClass(..),
-         directCollocation,
-         directCollocation',
-         directCollocation'',
-         directCollocation''',
-         directCollocation_getConstraintBounds,
-         directCollocation_getGuess,
-         directCollocation_getNLPSolver,
-         directCollocation_getReportConstraints,
-         directCollocation_getVariableBounds,
-         directCollocation_reportConstraints',
-         directCollocation_setOptimalSolution,
-       ) 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 DirectCollocation where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectCollocation__getGuess" c_CasADi__DirectCollocation__getGuess
-  :: Ptr DirectCollocation' -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectCollocation__getGuess
-  :: DirectCollocation -> Vector Double -> IO ()
-casADi__DirectCollocation__getGuess x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__DirectCollocation__getGuess x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the variables.
--}
-directCollocation_getGuess :: DirectCollocationClass a => a -> Vector Double -> IO ()
-directCollocation_getGuess x = casADi__DirectCollocation__getGuess (castDirectCollocation x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectCollocation__getVariableBounds" c_CasADi__DirectCollocation__getVariableBounds
-  :: Ptr DirectCollocation' -> Ptr (CppVec CDouble) -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectCollocation__getVariableBounds
-  :: DirectCollocation -> Vector Double -> Vector Double -> IO ()
-casADi__DirectCollocation__getVariableBounds x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__DirectCollocation__getVariableBounds x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the variables.
--}
-directCollocation_getVariableBounds :: DirectCollocationClass a => a -> Vector Double -> Vector Double -> IO ()
-directCollocation_getVariableBounds x = casADi__DirectCollocation__getVariableBounds (castDirectCollocation x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectCollocation__getConstraintBounds" c_CasADi__DirectCollocation__getConstraintBounds
-  :: Ptr DirectCollocation' -> Ptr (CppVec CDouble) -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectCollocation__getConstraintBounds
-  :: DirectCollocation -> Vector Double -> Vector Double -> IO ()
-casADi__DirectCollocation__getConstraintBounds x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__DirectCollocation__getConstraintBounds x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the constraints.
--}
-directCollocation_getConstraintBounds :: DirectCollocationClass a => a -> Vector Double -> Vector Double -> IO ()
-directCollocation_getConstraintBounds x = casADi__DirectCollocation__getConstraintBounds (castDirectCollocation x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectCollocation__setOptimalSolution" c_CasADi__DirectCollocation__setOptimalSolution
-  :: Ptr DirectCollocation' -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectCollocation__setOptimalSolution
-  :: DirectCollocation -> Vector Double -> IO ()
-casADi__DirectCollocation__setOptimalSolution x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__DirectCollocation__setOptimalSolution x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the optimal solution.
--}
-directCollocation_setOptimalSolution :: DirectCollocationClass a => a -> Vector Double -> IO ()
-directCollocation_setOptimalSolution x = casADi__DirectCollocation__setOptimalSolution (castDirectCollocation x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectCollocation__getNLPSolver" c_CasADi__DirectCollocation__getNLPSolver
-  :: Ptr DirectCollocation' -> IO (Ptr NLPSolver')
-casADi__DirectCollocation__getNLPSolver
-  :: DirectCollocation -> IO NLPSolver
-casADi__DirectCollocation__getNLPSolver x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DirectCollocation__getNLPSolver x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access the underlying NLPSolver object.
--}
-directCollocation_getNLPSolver :: DirectCollocationClass a => a -> IO NLPSolver
-directCollocation_getNLPSolver x = casADi__DirectCollocation__getNLPSolver (castDirectCollocation x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectCollocation__reportConstraints_TIC" c_CasADi__DirectCollocation__reportConstraints_TIC
-  :: Ptr DirectCollocation' -> IO ()
-casADi__DirectCollocation__reportConstraints'
-  :: DirectCollocation -> IO ()
-casADi__DirectCollocation__reportConstraints' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DirectCollocation__reportConstraints_TIC x0' >>= wrapReturn
-
--- classy wrapper
-directCollocation_reportConstraints' :: DirectCollocationClass a => a -> IO ()
-directCollocation_reportConstraints' x = casADi__DirectCollocation__reportConstraints' (castDirectCollocation x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectCollocation__getReportConstraints" c_CasADi__DirectCollocation__getReportConstraints
-  :: Ptr DirectCollocation' -> IO (Ptr StdString')
-casADi__DirectCollocation__getReportConstraints
-  :: DirectCollocation -> IO String
-casADi__DirectCollocation__getReportConstraints x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DirectCollocation__getReportConstraints x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Return the report as a string.
--}
-directCollocation_getReportConstraints :: DirectCollocationClass a => a -> IO String
-directCollocation_getReportConstraints x = casADi__DirectCollocation__getReportConstraints (castDirectCollocation x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectCollocation__DirectCollocation" c_CasADi__DirectCollocation__DirectCollocation
-  :: IO (Ptr DirectCollocation')
-casADi__DirectCollocation__DirectCollocation
-  :: IO DirectCollocation
-casADi__DirectCollocation__DirectCollocation  =
-  c_CasADi__DirectCollocation__DirectCollocation  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::DirectCollocation::DirectCollocation()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::DirectCollocation::DirectCollocation(const Function &ffcn, const Function &mfcn, const Function &cfcn=Function(), const Function &rfcn=Function())
->------------------------------------------------------------------------
->
->Constructor.
--}
-directCollocation :: IO DirectCollocation
-directCollocation = casADi__DirectCollocation__DirectCollocation
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectCollocation__DirectCollocation_TIC" c_CasADi__DirectCollocation__DirectCollocation_TIC
-  :: Ptr Function' -> Ptr Function' -> Ptr Function' -> Ptr Function' -> IO (Ptr DirectCollocation')
-casADi__DirectCollocation__DirectCollocation'
-  :: Function -> Function -> Function -> Function -> IO DirectCollocation
-casADi__DirectCollocation__DirectCollocation' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__DirectCollocation__DirectCollocation_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-directCollocation' :: Function -> Function -> Function -> Function -> IO DirectCollocation
-directCollocation' = casADi__DirectCollocation__DirectCollocation'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectCollocation__DirectCollocation_TIC_TIC" c_CasADi__DirectCollocation__DirectCollocation_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> Ptr Function' -> IO (Ptr DirectCollocation')
-casADi__DirectCollocation__DirectCollocation''
-  :: Function -> Function -> Function -> IO DirectCollocation
-casADi__DirectCollocation__DirectCollocation'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__DirectCollocation__DirectCollocation_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-directCollocation'' :: Function -> Function -> Function -> IO DirectCollocation
-directCollocation'' = casADi__DirectCollocation__DirectCollocation''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectCollocation__DirectCollocation_TIC_TIC_TIC" c_CasADi__DirectCollocation__DirectCollocation_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr DirectCollocation')
-casADi__DirectCollocation__DirectCollocation'''
-  :: Function -> Function -> IO DirectCollocation
-casADi__DirectCollocation__DirectCollocation''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__DirectCollocation__DirectCollocation_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-directCollocation''' :: Function -> Function -> IO DirectCollocation
-directCollocation''' = casADi__DirectCollocation__DirectCollocation'''
-
diff --git a/Casadi/Wrappers/Classes/DirectMultipleShooting.hs b/Casadi/Wrappers/Classes/DirectMultipleShooting.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/DirectMultipleShooting.hs
+++ /dev/null
@@ -1,307 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.DirectMultipleShooting
-       (
-         DirectMultipleShooting,
-         DirectMultipleShootingClass(..),
-         directMultipleShooting,
-         directMultipleShooting',
-         directMultipleShooting'',
-         directMultipleShooting''',
-         directMultipleShooting_getConstraintBounds,
-         directMultipleShooting_getGuess,
-         directMultipleShooting_getNLPSolver,
-         directMultipleShooting_getReportConstraints,
-         directMultipleShooting_getVariableBounds,
-         directMultipleShooting_reportConstraints',
-         directMultipleShooting_setOptimalSolution,
-       ) 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 DirectMultipleShooting where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectMultipleShooting__getGuess" c_CasADi__DirectMultipleShooting__getGuess
-  :: Ptr DirectMultipleShooting' -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectMultipleShooting__getGuess
-  :: DirectMultipleShooting -> Vector Double -> IO ()
-casADi__DirectMultipleShooting__getGuess x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__DirectMultipleShooting__getGuess x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the variables.
--}
-directMultipleShooting_getGuess :: DirectMultipleShootingClass a => a -> Vector Double -> IO ()
-directMultipleShooting_getGuess x = casADi__DirectMultipleShooting__getGuess (castDirectMultipleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectMultipleShooting__getVariableBounds" c_CasADi__DirectMultipleShooting__getVariableBounds
-  :: Ptr DirectMultipleShooting' -> Ptr (CppVec CDouble) -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectMultipleShooting__getVariableBounds
-  :: DirectMultipleShooting -> Vector Double -> Vector Double -> IO ()
-casADi__DirectMultipleShooting__getVariableBounds x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__DirectMultipleShooting__getVariableBounds x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the variables.
--}
-directMultipleShooting_getVariableBounds :: DirectMultipleShootingClass a => a -> Vector Double -> Vector Double -> IO ()
-directMultipleShooting_getVariableBounds x = casADi__DirectMultipleShooting__getVariableBounds (castDirectMultipleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectMultipleShooting__getConstraintBounds" c_CasADi__DirectMultipleShooting__getConstraintBounds
-  :: Ptr DirectMultipleShooting' -> Ptr (CppVec CDouble) -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectMultipleShooting__getConstraintBounds
-  :: DirectMultipleShooting -> Vector Double -> Vector Double -> IO ()
-casADi__DirectMultipleShooting__getConstraintBounds x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__DirectMultipleShooting__getConstraintBounds x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the constraints.
--}
-directMultipleShooting_getConstraintBounds :: DirectMultipleShootingClass a => a -> Vector Double -> Vector Double -> IO ()
-directMultipleShooting_getConstraintBounds x = casADi__DirectMultipleShooting__getConstraintBounds (castDirectMultipleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectMultipleShooting__setOptimalSolution" c_CasADi__DirectMultipleShooting__setOptimalSolution
-  :: Ptr DirectMultipleShooting' -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectMultipleShooting__setOptimalSolution
-  :: DirectMultipleShooting -> Vector Double -> IO ()
-casADi__DirectMultipleShooting__setOptimalSolution x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__DirectMultipleShooting__setOptimalSolution x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the optimal solution.
--}
-directMultipleShooting_setOptimalSolution :: DirectMultipleShootingClass a => a -> Vector Double -> IO ()
-directMultipleShooting_setOptimalSolution x = casADi__DirectMultipleShooting__setOptimalSolution (castDirectMultipleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectMultipleShooting__getNLPSolver" c_CasADi__DirectMultipleShooting__getNLPSolver
-  :: Ptr DirectMultipleShooting' -> IO (Ptr NLPSolver')
-casADi__DirectMultipleShooting__getNLPSolver
-  :: DirectMultipleShooting -> IO NLPSolver
-casADi__DirectMultipleShooting__getNLPSolver x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DirectMultipleShooting__getNLPSolver x0' >>= wrapReturn
-
--- classy wrapper
-directMultipleShooting_getNLPSolver :: DirectMultipleShootingClass a => a -> IO NLPSolver
-directMultipleShooting_getNLPSolver x = casADi__DirectMultipleShooting__getNLPSolver (castDirectMultipleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectMultipleShooting__reportConstraints_TIC" c_CasADi__DirectMultipleShooting__reportConstraints_TIC
-  :: Ptr DirectMultipleShooting' -> IO ()
-casADi__DirectMultipleShooting__reportConstraints'
-  :: DirectMultipleShooting -> IO ()
-casADi__DirectMultipleShooting__reportConstraints' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DirectMultipleShooting__reportConstraints_TIC x0' >>= wrapReturn
-
--- classy wrapper
-directMultipleShooting_reportConstraints' :: DirectMultipleShootingClass a => a -> IO ()
-directMultipleShooting_reportConstraints' x = casADi__DirectMultipleShooting__reportConstraints' (castDirectMultipleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectMultipleShooting__getReportConstraints" c_CasADi__DirectMultipleShooting__getReportConstraints
-  :: Ptr DirectMultipleShooting' -> IO (Ptr StdString')
-casADi__DirectMultipleShooting__getReportConstraints
-  :: DirectMultipleShooting -> IO String
-casADi__DirectMultipleShooting__getReportConstraints x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DirectMultipleShooting__getReportConstraints x0' >>= wrapReturn
-
--- classy wrapper
-directMultipleShooting_getReportConstraints :: DirectMultipleShootingClass a => a -> IO String
-directMultipleShooting_getReportConstraints x = casADi__DirectMultipleShooting__getReportConstraints (castDirectMultipleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectMultipleShooting__DirectMultipleShooting" c_CasADi__DirectMultipleShooting__DirectMultipleShooting
-  :: IO (Ptr DirectMultipleShooting')
-casADi__DirectMultipleShooting__DirectMultipleShooting
-  :: IO DirectMultipleShooting
-casADi__DirectMultipleShooting__DirectMultipleShooting  =
-  c_CasADi__DirectMultipleShooting__DirectMultipleShooting  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::DirectMultipleShooting::DirectMultipleShooting()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::DirectMultipleShooting::DirectMultipleShooting(const Function &ffcn, const Function &mfcn, const Function &cfcn=Function(), const Function &rfcn=Function())
->------------------------------------------------------------------------
->
->Create a multiple shooting OCP solver.
->
->Parameters:
->-----------
->
->ffcn:  Continuous time dynamics, an CasADi::Function with the folowing
->mapping:
->
->>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 . |
->+-----------+-------+--------------------------------------------+
-> Important notes:
->In the above table, INTEGRATOR_P input is not really of shape (np x
->1), but rather ( (np+nu) x 1 ).
->
->The first np entries of the INTEGRATOR_P input are interpreted as parameters
->to be optimized but constant over the whole domain. The remainder are
->interpreted as controls.
->
->BEWARE: if the right hand side of ffcn is dependent on time, the results
->will be incorrect.
->
->Parameters:
->-----------
->
->mfcn:  Mayer term, CasADi::Function mapping to cost (1 x 1)
->
->>Input scheme: CasADi::MayerInput (MAYER_NUM_IN = 3) [mayerIn]
->+-----------+-------+---------------------------------------------+
->| Full name | Short |                 Description                 |
->+===========+=======+=============================================+
->| MAYER_X   | x     | States at the end of integration (nx x 1) . |
->+-----------+-------+---------------------------------------------+
->| MAYER_P   | p     | Problem parameters (np x 1) .               |
->+-----------+-------+---------------------------------------------+
->
->Parameters:
->-----------
->
->cfcn:  Path constraints, CasADi::Function mapping to (nh x 1)
->
->>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 . |
->+-----------+-------+----------------------------+
->
->Parameters:
->-----------
->
->rfcn:  Initial value constraints
--}
-directMultipleShooting :: IO DirectMultipleShooting
-directMultipleShooting = casADi__DirectMultipleShooting__DirectMultipleShooting
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectMultipleShooting__DirectMultipleShooting_TIC" c_CasADi__DirectMultipleShooting__DirectMultipleShooting_TIC
-  :: Ptr Function' -> Ptr Function' -> Ptr Function' -> Ptr Function' -> IO (Ptr DirectMultipleShooting')
-casADi__DirectMultipleShooting__DirectMultipleShooting'
-  :: Function -> Function -> Function -> Function -> IO DirectMultipleShooting
-casADi__DirectMultipleShooting__DirectMultipleShooting' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__DirectMultipleShooting__DirectMultipleShooting_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-directMultipleShooting' :: Function -> Function -> Function -> Function -> IO DirectMultipleShooting
-directMultipleShooting' = casADi__DirectMultipleShooting__DirectMultipleShooting'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectMultipleShooting__DirectMultipleShooting_TIC_TIC" c_CasADi__DirectMultipleShooting__DirectMultipleShooting_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> Ptr Function' -> IO (Ptr DirectMultipleShooting')
-casADi__DirectMultipleShooting__DirectMultipleShooting''
-  :: Function -> Function -> Function -> IO DirectMultipleShooting
-casADi__DirectMultipleShooting__DirectMultipleShooting'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__DirectMultipleShooting__DirectMultipleShooting_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-directMultipleShooting'' :: Function -> Function -> Function -> IO DirectMultipleShooting
-directMultipleShooting'' = casADi__DirectMultipleShooting__DirectMultipleShooting''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectMultipleShooting__DirectMultipleShooting_TIC_TIC_TIC" c_CasADi__DirectMultipleShooting__DirectMultipleShooting_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr DirectMultipleShooting')
-casADi__DirectMultipleShooting__DirectMultipleShooting'''
-  :: Function -> Function -> IO DirectMultipleShooting
-casADi__DirectMultipleShooting__DirectMultipleShooting''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__DirectMultipleShooting__DirectMultipleShooting_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-directMultipleShooting''' :: Function -> Function -> IO DirectMultipleShooting
-directMultipleShooting''' = casADi__DirectMultipleShooting__DirectMultipleShooting'''
-
diff --git a/Casadi/Wrappers/Classes/DirectSingleShooting.hs b/Casadi/Wrappers/Classes/DirectSingleShooting.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/DirectSingleShooting.hs
+++ /dev/null
@@ -1,307 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.DirectSingleShooting
-       (
-         DirectSingleShooting,
-         DirectSingleShootingClass(..),
-         directSingleShooting,
-         directSingleShooting',
-         directSingleShooting'',
-         directSingleShooting''',
-         directSingleShooting_getConstraintBounds,
-         directSingleShooting_getGuess,
-         directSingleShooting_getNLPSolver,
-         directSingleShooting_getReportConstraints,
-         directSingleShooting_getVariableBounds,
-         directSingleShooting_reportConstraints',
-         directSingleShooting_setOptimalSolution,
-       ) 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 DirectSingleShooting where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectSingleShooting__getGuess" c_CasADi__DirectSingleShooting__getGuess
-  :: Ptr DirectSingleShooting' -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectSingleShooting__getGuess
-  :: DirectSingleShooting -> Vector Double -> IO ()
-casADi__DirectSingleShooting__getGuess x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__DirectSingleShooting__getGuess x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the variables.
--}
-directSingleShooting_getGuess :: DirectSingleShootingClass a => a -> Vector Double -> IO ()
-directSingleShooting_getGuess x = casADi__DirectSingleShooting__getGuess (castDirectSingleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectSingleShooting__getVariableBounds" c_CasADi__DirectSingleShooting__getVariableBounds
-  :: Ptr DirectSingleShooting' -> Ptr (CppVec CDouble) -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectSingleShooting__getVariableBounds
-  :: DirectSingleShooting -> Vector Double -> Vector Double -> IO ()
-casADi__DirectSingleShooting__getVariableBounds x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__DirectSingleShooting__getVariableBounds x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the variables.
--}
-directSingleShooting_getVariableBounds :: DirectSingleShootingClass a => a -> Vector Double -> Vector Double -> IO ()
-directSingleShooting_getVariableBounds x = casADi__DirectSingleShooting__getVariableBounds (castDirectSingleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectSingleShooting__getConstraintBounds" c_CasADi__DirectSingleShooting__getConstraintBounds
-  :: Ptr DirectSingleShooting' -> Ptr (CppVec CDouble) -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectSingleShooting__getConstraintBounds
-  :: DirectSingleShooting -> Vector Double -> Vector Double -> IO ()
-casADi__DirectSingleShooting__getConstraintBounds x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__DirectSingleShooting__getConstraintBounds x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the constraints.
--}
-directSingleShooting_getConstraintBounds :: DirectSingleShootingClass a => a -> Vector Double -> Vector Double -> IO ()
-directSingleShooting_getConstraintBounds x = casADi__DirectSingleShooting__getConstraintBounds (castDirectSingleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectSingleShooting__setOptimalSolution" c_CasADi__DirectSingleShooting__setOptimalSolution
-  :: Ptr DirectSingleShooting' -> Ptr (CppVec CDouble) -> IO ()
-casADi__DirectSingleShooting__setOptimalSolution
-  :: DirectSingleShooting -> Vector Double -> IO ()
-casADi__DirectSingleShooting__setOptimalSolution x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__DirectSingleShooting__setOptimalSolution x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the optimal solution.
--}
-directSingleShooting_setOptimalSolution :: DirectSingleShootingClass a => a -> Vector Double -> IO ()
-directSingleShooting_setOptimalSolution x = casADi__DirectSingleShooting__setOptimalSolution (castDirectSingleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectSingleShooting__getNLPSolver" c_CasADi__DirectSingleShooting__getNLPSolver
-  :: Ptr DirectSingleShooting' -> IO (Ptr NLPSolver')
-casADi__DirectSingleShooting__getNLPSolver
-  :: DirectSingleShooting -> IO NLPSolver
-casADi__DirectSingleShooting__getNLPSolver x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DirectSingleShooting__getNLPSolver x0' >>= wrapReturn
-
--- classy wrapper
-directSingleShooting_getNLPSolver :: DirectSingleShootingClass a => a -> IO NLPSolver
-directSingleShooting_getNLPSolver x = casADi__DirectSingleShooting__getNLPSolver (castDirectSingleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectSingleShooting__reportConstraints_TIC" c_CasADi__DirectSingleShooting__reportConstraints_TIC
-  :: Ptr DirectSingleShooting' -> IO ()
-casADi__DirectSingleShooting__reportConstraints'
-  :: DirectSingleShooting -> IO ()
-casADi__DirectSingleShooting__reportConstraints' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DirectSingleShooting__reportConstraints_TIC x0' >>= wrapReturn
-
--- classy wrapper
-directSingleShooting_reportConstraints' :: DirectSingleShootingClass a => a -> IO ()
-directSingleShooting_reportConstraints' x = casADi__DirectSingleShooting__reportConstraints' (castDirectSingleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectSingleShooting__getReportConstraints" c_CasADi__DirectSingleShooting__getReportConstraints
-  :: Ptr DirectSingleShooting' -> IO (Ptr StdString')
-casADi__DirectSingleShooting__getReportConstraints
-  :: DirectSingleShooting -> IO String
-casADi__DirectSingleShooting__getReportConstraints x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DirectSingleShooting__getReportConstraints x0' >>= wrapReturn
-
--- classy wrapper
-directSingleShooting_getReportConstraints :: DirectSingleShootingClass a => a -> IO String
-directSingleShooting_getReportConstraints x = casADi__DirectSingleShooting__getReportConstraints (castDirectSingleShooting x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectSingleShooting__DirectSingleShooting" c_CasADi__DirectSingleShooting__DirectSingleShooting
-  :: IO (Ptr DirectSingleShooting')
-casADi__DirectSingleShooting__DirectSingleShooting
-  :: IO DirectSingleShooting
-casADi__DirectSingleShooting__DirectSingleShooting  =
-  c_CasADi__DirectSingleShooting__DirectSingleShooting  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::DirectSingleShooting::DirectSingleShooting()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::DirectSingleShooting::DirectSingleShooting(const Function &ffcn, const Function &mfcn, const Function &cfcn=Function(), const Function &rfcn=Function())
->------------------------------------------------------------------------
->
->Create a multiple shooting OCP solver.
->
->Parameters:
->-----------
->
->ffcn:  Continuous time dynamics, an CasADi::Function with the folowing
->mapping:
->
->>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 . |
->+-----------+-------+--------------------------------------------+
-> Important notes:
->In the above table, INTEGRATOR_P input is not really of shape (np x
->1), but rather ( (np+nu) x 1 ).
->
->The first np entries of the INTEGRATOR_P input are interpreted as parameters
->to be optimized but constant over the whole domain. The remainder are
->interpreted as controls.
->
->BEWARE: if the right hand side of ffcn is dependent on time, the results
->will be incorrect.
->
->Parameters:
->-----------
->
->mfcn:  Mayer term, CasADi::Function mapping to cost (1 x 1)
->
->>Input scheme: CasADi::MayerInput (MAYER_NUM_IN = 3) [mayerIn]
->+-----------+-------+---------------------------------------------+
->| Full name | Short |                 Description                 |
->+===========+=======+=============================================+
->| MAYER_X   | x     | States at the end of integration (nx x 1) . |
->+-----------+-------+---------------------------------------------+
->| MAYER_P   | p     | Problem parameters (np x 1) .               |
->+-----------+-------+---------------------------------------------+
->
->Parameters:
->-----------
->
->cfcn:  Path constraints, CasADi::Function mapping to (nh x 1)
->
->>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 . |
->+-----------+-------+----------------------------+
->
->Parameters:
->-----------
->
->rfcn:  Initial value constraints
--}
-directSingleShooting :: IO DirectSingleShooting
-directSingleShooting = casADi__DirectSingleShooting__DirectSingleShooting
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectSingleShooting__DirectSingleShooting_TIC" c_CasADi__DirectSingleShooting__DirectSingleShooting_TIC
-  :: Ptr Function' -> Ptr Function' -> Ptr Function' -> Ptr Function' -> IO (Ptr DirectSingleShooting')
-casADi__DirectSingleShooting__DirectSingleShooting'
-  :: Function -> Function -> Function -> Function -> IO DirectSingleShooting
-casADi__DirectSingleShooting__DirectSingleShooting' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__DirectSingleShooting__DirectSingleShooting_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-directSingleShooting' :: Function -> Function -> Function -> Function -> IO DirectSingleShooting
-directSingleShooting' = casADi__DirectSingleShooting__DirectSingleShooting'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectSingleShooting__DirectSingleShooting_TIC_TIC" c_CasADi__DirectSingleShooting__DirectSingleShooting_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> Ptr Function' -> IO (Ptr DirectSingleShooting')
-casADi__DirectSingleShooting__DirectSingleShooting''
-  :: Function -> Function -> Function -> IO DirectSingleShooting
-casADi__DirectSingleShooting__DirectSingleShooting'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__DirectSingleShooting__DirectSingleShooting_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-directSingleShooting'' :: Function -> Function -> Function -> IO DirectSingleShooting
-directSingleShooting'' = casADi__DirectSingleShooting__DirectSingleShooting''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DirectSingleShooting__DirectSingleShooting_TIC_TIC_TIC" c_CasADi__DirectSingleShooting__DirectSingleShooting_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr DirectSingleShooting')
-casADi__DirectSingleShooting__DirectSingleShooting'''
-  :: Function -> Function -> IO DirectSingleShooting
-casADi__DirectSingleShooting__DirectSingleShooting''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__DirectSingleShooting__DirectSingleShooting_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-directSingleShooting''' :: Function -> Function -> IO DirectSingleShooting
-directSingleShooting''' = casADi__DirectSingleShooting__DirectSingleShooting'''
-
diff --git a/Casadi/Wrappers/Classes/DpleSolver.hs b/Casadi/Wrappers/Classes/DpleSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/DpleSolver.hs
+++ /dev/null
@@ -1,99 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.DpleSolver
-       (
-         DpleSolver,
-         DpleSolverClass(..),
-         dpleSolver,
-         dpleSolver_checkNode,
-         dpleSolver_clone,
-         dpleSolver_printStats',
-       ) 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 DpleSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__DpleSolver__clone" c_CasADi__DpleSolver__clone
-  :: Ptr DpleSolver' -> IO (Ptr DpleSolver')
-casADi__DpleSolver__clone
-  :: DpleSolver -> IO DpleSolver
-casADi__DpleSolver__clone x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DpleSolver__clone x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Clone.
--}
-dpleSolver_clone :: DpleSolverClass a => a -> IO DpleSolver
-dpleSolver_clone x = casADi__DpleSolver__clone (castDpleSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DpleSolver__printStats_TIC" c_CasADi__DpleSolver__printStats_TIC
-  :: Ptr DpleSolver' -> IO ()
-casADi__DpleSolver__printStats'
-  :: DpleSolver -> IO ()
-casADi__DpleSolver__printStats' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DpleSolver__printStats_TIC x0' >>= wrapReturn
-
--- classy wrapper
-dpleSolver_printStats' :: DpleSolverClass a => a -> IO ()
-dpleSolver_printStats' x = casADi__DpleSolver__printStats' (castDpleSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DpleSolver__checkNode" c_CasADi__DpleSolver__checkNode
-  :: Ptr DpleSolver' -> IO CInt
-casADi__DpleSolver__checkNode
-  :: DpleSolver -> IO Bool
-casADi__DpleSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__DpleSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-dpleSolver_checkNode :: DpleSolverClass a => a -> IO Bool
-dpleSolver_checkNode x = casADi__DpleSolver__checkNode (castDpleSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__DpleSolver__DpleSolver" c_CasADi__DpleSolver__DpleSolver
-  :: IO (Ptr DpleSolver')
-casADi__DpleSolver__DpleSolver
-  :: IO DpleSolver
-casADi__DpleSolver__DpleSolver  =
-  c_CasADi__DpleSolver__DpleSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-dpleSolver :: IO DpleSolver
-dpleSolver = casADi__DpleSolver__DpleSolver
-
diff --git a/Casadi/Wrappers/Classes/ExpDMatrix.hs b/Casadi/Wrappers/Classes/ExpDMatrix.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/ExpDMatrix.hs
+++ /dev/null
@@ -1,280 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.ExpDMatrix
-       (
-         ExpDMatrix,
-         ExpDMatrixClass(..),
-         expDMatrix___ge__,
-         expDMatrix___gt__,
-         expDMatrix___mldivide__,
-         expDMatrix___radd__,
-         expDMatrix___rdiv__,
-         expDMatrix___req__,
-         expDMatrix___rge__,
-         expDMatrix___rgt__,
-         expDMatrix___rle__,
-         expDMatrix___rlt__,
-         expDMatrix___rmul__,
-         expDMatrix___rne__,
-         expDMatrix___rsub__,
-         expDMatrix___rtruediv__,
-         expDMatrix___truediv__,
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______mldivide__" c_CasADi__GenericExpression_CasADi__Matrix_double______mldivide__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______mldivide__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______mldivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______mldivide__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Matrix division from left.
--}
-expDMatrix___mldivide__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___mldivide__ x = casADi__GenericExpression_CasADi__Matrix_double______mldivide__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______gt__" c_CasADi__GenericExpression_CasADi__Matrix_double______gt__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______gt__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______gt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______gt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->No need to have both < and >
--}
-expDMatrix___gt__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___gt__ x = casADi__GenericExpression_CasADi__Matrix_double______gt__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______ge__" c_CasADi__GenericExpression_CasADi__Matrix_double______ge__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______ge__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______ge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______ge__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->No need to have both <= and >=.
--}
-expDMatrix___ge__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___ge__ x = casADi__GenericExpression_CasADi__Matrix_double______ge__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______truediv__" c_CasADi__GenericExpression_CasADi__Matrix_double______truediv__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______truediv__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______truediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______truediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Division (with future.division in effect)
--}
-expDMatrix___truediv__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___truediv__ x = casADi__GenericExpression_CasADi__Matrix_double______truediv__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______radd__" c_CasADi__GenericExpression_CasADi__Matrix_double______radd__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______radd__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______radd__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______radd__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expDMatrix___radd__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___radd__ x = casADi__GenericExpression_CasADi__Matrix_double______radd__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______rsub__" c_CasADi__GenericExpression_CasADi__Matrix_double______rsub__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______rsub__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______rsub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______rsub__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expDMatrix___rsub__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___rsub__ x = casADi__GenericExpression_CasADi__Matrix_double______rsub__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______rmul__" c_CasADi__GenericExpression_CasADi__Matrix_double______rmul__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______rmul__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______rmul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______rmul__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expDMatrix___rmul__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___rmul__ x = casADi__GenericExpression_CasADi__Matrix_double______rmul__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______rdiv__" c_CasADi__GenericExpression_CasADi__Matrix_double______rdiv__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______rdiv__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______rdiv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______rdiv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expDMatrix___rdiv__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___rdiv__ x = casADi__GenericExpression_CasADi__Matrix_double______rdiv__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______rlt__" c_CasADi__GenericExpression_CasADi__Matrix_double______rlt__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______rlt__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______rlt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______rlt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expDMatrix___rlt__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___rlt__ x = casADi__GenericExpression_CasADi__Matrix_double______rlt__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______rle__" c_CasADi__GenericExpression_CasADi__Matrix_double______rle__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______rle__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______rle__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______rle__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expDMatrix___rle__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___rle__ x = casADi__GenericExpression_CasADi__Matrix_double______rle__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______rgt__" c_CasADi__GenericExpression_CasADi__Matrix_double______rgt__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______rgt__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______rgt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______rgt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expDMatrix___rgt__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___rgt__ x = casADi__GenericExpression_CasADi__Matrix_double______rgt__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______rge__" c_CasADi__GenericExpression_CasADi__Matrix_double______rge__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______rge__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______rge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______rge__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expDMatrix___rge__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___rge__ x = casADi__GenericExpression_CasADi__Matrix_double______rge__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______req__" c_CasADi__GenericExpression_CasADi__Matrix_double______req__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______req__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______req__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______req__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expDMatrix___req__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___req__ x = casADi__GenericExpression_CasADi__Matrix_double______req__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______rne__" c_CasADi__GenericExpression_CasADi__Matrix_double______rne__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______rne__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______rne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______rne__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expDMatrix___rne__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___rne__ x = casADi__GenericExpression_CasADi__Matrix_double______rne__ (castExpDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_double______rtruediv__" c_CasADi__GenericExpression_CasADi__Matrix_double______rtruediv__
-  :: Ptr ExpDMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-casADi__GenericExpression_CasADi__Matrix_double______rtruediv__
-  :: ExpDMatrix -> DMatrix -> IO DMatrix
-casADi__GenericExpression_CasADi__Matrix_double______rtruediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_double______rtruediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expDMatrix___rtruediv__ :: ExpDMatrixClass a => a -> DMatrix -> IO DMatrix
-expDMatrix___rtruediv__ x = casADi__GenericExpression_CasADi__Matrix_double______rtruediv__ (castExpDMatrix x)
-
diff --git a/Casadi/Wrappers/Classes/ExpIMatrix.hs b/Casadi/Wrappers/Classes/ExpIMatrix.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/ExpIMatrix.hs
+++ /dev/null
@@ -1,280 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.ExpIMatrix
-       (
-         ExpIMatrix,
-         ExpIMatrixClass(..),
-         expIMatrix___ge__,
-         expIMatrix___gt__,
-         expIMatrix___mldivide__,
-         expIMatrix___radd__,
-         expIMatrix___rdiv__,
-         expIMatrix___req__,
-         expIMatrix___rge__,
-         expIMatrix___rgt__,
-         expIMatrix___rle__,
-         expIMatrix___rlt__,
-         expIMatrix___rmul__,
-         expIMatrix___rne__,
-         expIMatrix___rsub__,
-         expIMatrix___rtruediv__,
-         expIMatrix___truediv__,
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______mldivide__" c_CasADi__GenericExpression_CasADi__Matrix_int______mldivide__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______mldivide__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______mldivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______mldivide__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Matrix division from left.
--}
-expIMatrix___mldivide__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___mldivide__ x = casADi__GenericExpression_CasADi__Matrix_int______mldivide__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______gt__" c_CasADi__GenericExpression_CasADi__Matrix_int______gt__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______gt__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______gt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______gt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->No need to have both < and >
--}
-expIMatrix___gt__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___gt__ x = casADi__GenericExpression_CasADi__Matrix_int______gt__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______ge__" c_CasADi__GenericExpression_CasADi__Matrix_int______ge__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______ge__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______ge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______ge__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->No need to have both <= and >=.
--}
-expIMatrix___ge__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___ge__ x = casADi__GenericExpression_CasADi__Matrix_int______ge__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______truediv__" c_CasADi__GenericExpression_CasADi__Matrix_int______truediv__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______truediv__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______truediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______truediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Division (with future.division in effect)
--}
-expIMatrix___truediv__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___truediv__ x = casADi__GenericExpression_CasADi__Matrix_int______truediv__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______radd__" c_CasADi__GenericExpression_CasADi__Matrix_int______radd__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______radd__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______radd__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______radd__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expIMatrix___radd__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___radd__ x = casADi__GenericExpression_CasADi__Matrix_int______radd__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______rsub__" c_CasADi__GenericExpression_CasADi__Matrix_int______rsub__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______rsub__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______rsub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______rsub__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expIMatrix___rsub__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___rsub__ x = casADi__GenericExpression_CasADi__Matrix_int______rsub__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______rmul__" c_CasADi__GenericExpression_CasADi__Matrix_int______rmul__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______rmul__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______rmul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______rmul__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expIMatrix___rmul__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___rmul__ x = casADi__GenericExpression_CasADi__Matrix_int______rmul__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______rdiv__" c_CasADi__GenericExpression_CasADi__Matrix_int______rdiv__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______rdiv__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______rdiv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______rdiv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expIMatrix___rdiv__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___rdiv__ x = casADi__GenericExpression_CasADi__Matrix_int______rdiv__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______rlt__" c_CasADi__GenericExpression_CasADi__Matrix_int______rlt__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______rlt__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______rlt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______rlt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expIMatrix___rlt__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___rlt__ x = casADi__GenericExpression_CasADi__Matrix_int______rlt__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______rle__" c_CasADi__GenericExpression_CasADi__Matrix_int______rle__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______rle__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______rle__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______rle__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expIMatrix___rle__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___rle__ x = casADi__GenericExpression_CasADi__Matrix_int______rle__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______rgt__" c_CasADi__GenericExpression_CasADi__Matrix_int______rgt__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______rgt__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______rgt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______rgt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expIMatrix___rgt__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___rgt__ x = casADi__GenericExpression_CasADi__Matrix_int______rgt__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______rge__" c_CasADi__GenericExpression_CasADi__Matrix_int______rge__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______rge__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______rge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______rge__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expIMatrix___rge__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___rge__ x = casADi__GenericExpression_CasADi__Matrix_int______rge__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______req__" c_CasADi__GenericExpression_CasADi__Matrix_int______req__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______req__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______req__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______req__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expIMatrix___req__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___req__ x = casADi__GenericExpression_CasADi__Matrix_int______req__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______rne__" c_CasADi__GenericExpression_CasADi__Matrix_int______rne__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______rne__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______rne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______rne__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expIMatrix___rne__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___rne__ x = casADi__GenericExpression_CasADi__Matrix_int______rne__ (castExpIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_int______rtruediv__" c_CasADi__GenericExpression_CasADi__Matrix_int______rtruediv__
-  :: Ptr ExpIMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__GenericExpression_CasADi__Matrix_int______rtruediv__
-  :: ExpIMatrix -> IMatrix -> IO IMatrix
-casADi__GenericExpression_CasADi__Matrix_int______rtruediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_int______rtruediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expIMatrix___rtruediv__ :: ExpIMatrixClass a => a -> IMatrix -> IO IMatrix
-expIMatrix___rtruediv__ x = casADi__GenericExpression_CasADi__Matrix_int______rtruediv__ (castExpIMatrix x)
-
diff --git a/Casadi/Wrappers/Classes/ExpMX.hs b/Casadi/Wrappers/Classes/ExpMX.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/ExpMX.hs
+++ /dev/null
@@ -1,280 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.ExpMX
-       (
-         ExpMX,
-         ExpMXClass(..),
-         expMX___ge__,
-         expMX___gt__,
-         expMX___mldivide__,
-         expMX___radd__,
-         expMX___rdiv__,
-         expMX___req__,
-         expMX___rge__,
-         expMX___rgt__,
-         expMX___rle__,
-         expMX___rlt__,
-         expMX___rmul__,
-         expMX___rne__,
-         expMX___rsub__,
-         expMX___rtruediv__,
-         expMX___truediv__,
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____mldivide__" c_CasADi__GenericExpression_CasADi__MX_____mldivide__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____mldivide__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____mldivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____mldivide__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Matrix division from left.
--}
-expMX___mldivide__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___mldivide__ x = casADi__GenericExpression_CasADi__MX_____mldivide__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____gt__" c_CasADi__GenericExpression_CasADi__MX_____gt__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____gt__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____gt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____gt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->No need to have both < and >
--}
-expMX___gt__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___gt__ x = casADi__GenericExpression_CasADi__MX_____gt__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____ge__" c_CasADi__GenericExpression_CasADi__MX_____ge__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____ge__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____ge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____ge__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->No need to have both <= and >=.
--}
-expMX___ge__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___ge__ x = casADi__GenericExpression_CasADi__MX_____ge__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____truediv__" c_CasADi__GenericExpression_CasADi__MX_____truediv__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____truediv__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____truediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____truediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Division (with future.division in effect)
--}
-expMX___truediv__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___truediv__ x = casADi__GenericExpression_CasADi__MX_____truediv__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____radd__" c_CasADi__GenericExpression_CasADi__MX_____radd__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____radd__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____radd__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____radd__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expMX___radd__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___radd__ x = casADi__GenericExpression_CasADi__MX_____radd__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____rsub__" c_CasADi__GenericExpression_CasADi__MX_____rsub__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____rsub__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____rsub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____rsub__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expMX___rsub__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___rsub__ x = casADi__GenericExpression_CasADi__MX_____rsub__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____rmul__" c_CasADi__GenericExpression_CasADi__MX_____rmul__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____rmul__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____rmul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____rmul__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expMX___rmul__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___rmul__ x = casADi__GenericExpression_CasADi__MX_____rmul__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____rdiv__" c_CasADi__GenericExpression_CasADi__MX_____rdiv__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____rdiv__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____rdiv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____rdiv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expMX___rdiv__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___rdiv__ x = casADi__GenericExpression_CasADi__MX_____rdiv__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____rlt__" c_CasADi__GenericExpression_CasADi__MX_____rlt__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____rlt__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____rlt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____rlt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expMX___rlt__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___rlt__ x = casADi__GenericExpression_CasADi__MX_____rlt__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____rle__" c_CasADi__GenericExpression_CasADi__MX_____rle__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____rle__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____rle__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____rle__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expMX___rle__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___rle__ x = casADi__GenericExpression_CasADi__MX_____rle__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____rgt__" c_CasADi__GenericExpression_CasADi__MX_____rgt__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____rgt__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____rgt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____rgt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expMX___rgt__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___rgt__ x = casADi__GenericExpression_CasADi__MX_____rgt__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____rge__" c_CasADi__GenericExpression_CasADi__MX_____rge__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____rge__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____rge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____rge__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expMX___rge__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___rge__ x = casADi__GenericExpression_CasADi__MX_____rge__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____req__" c_CasADi__GenericExpression_CasADi__MX_____req__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____req__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____req__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____req__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expMX___req__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___req__ x = casADi__GenericExpression_CasADi__MX_____req__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____rne__" c_CasADi__GenericExpression_CasADi__MX_____rne__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____rne__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____rne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____rne__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expMX___rne__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___rne__ x = casADi__GenericExpression_CasADi__MX_____rne__ (castExpMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__MX_____rtruediv__" c_CasADi__GenericExpression_CasADi__MX_____rtruediv__
-  :: Ptr ExpMX' -> Ptr MX' -> IO (Ptr MX')
-casADi__GenericExpression_CasADi__MX_____rtruediv__
-  :: ExpMX -> MX -> IO MX
-casADi__GenericExpression_CasADi__MX_____rtruediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__MX_____rtruediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expMX___rtruediv__ :: ExpMXClass a => a -> MX -> IO MX
-expMX___rtruediv__ x = casADi__GenericExpression_CasADi__MX_____rtruediv__ (castExpMX x)
-
diff --git a/Casadi/Wrappers/Classes/ExpSX.hs b/Casadi/Wrappers/Classes/ExpSX.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/ExpSX.hs
+++ /dev/null
@@ -1,280 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.ExpSX
-       (
-         ExpSX,
-         ExpSXClass(..),
-         expSX___ge__,
-         expSX___gt__,
-         expSX___mldivide__,
-         expSX___radd__,
-         expSX___rdiv__,
-         expSX___req__,
-         expSX___rge__,
-         expSX___rgt__,
-         expSX___rle__,
-         expSX___rlt__,
-         expSX___rmul__,
-         expSX___rne__,
-         expSX___rsub__,
-         expSX___rtruediv__,
-         expSX___truediv__,
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______mldivide__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______mldivide__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______mldivide__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______mldivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______mldivide__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Matrix division from left.
--}
-expSX___mldivide__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___mldivide__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______mldivide__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______gt__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______gt__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______gt__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______gt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______gt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->No need to have both < and >
--}
-expSX___gt__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___gt__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______gt__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______ge__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______ge__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______ge__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______ge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______ge__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->No need to have both <= and >=.
--}
-expSX___ge__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___ge__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______ge__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______truediv__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______truediv__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______truediv__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______truediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______truediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Division (with future.division in effect)
--}
-expSX___truediv__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___truediv__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______truediv__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______radd__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______radd__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______radd__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______radd__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______radd__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSX___radd__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___radd__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______radd__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rsub__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rsub__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rsub__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rsub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rsub__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSX___rsub__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___rsub__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rsub__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rmul__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rmul__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rmul__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rmul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rmul__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSX___rmul__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___rmul__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rmul__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rdiv__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rdiv__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rdiv__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rdiv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rdiv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSX___rdiv__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___rdiv__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rdiv__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rlt__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rlt__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rlt__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rlt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rlt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSX___rlt__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___rlt__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rlt__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rle__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rle__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rle__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rle__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rle__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSX___rle__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___rle__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rle__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rgt__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rgt__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rgt__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rgt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rgt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSX___rgt__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___rgt__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rgt__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rge__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rge__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rge__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rge__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSX___rge__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___rge__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rge__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______req__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______req__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______req__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______req__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______req__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSX___req__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___req__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______req__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rne__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rne__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rne__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rne__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSX___rne__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___rne__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rne__ (castExpSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rtruediv__" c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rtruediv__
-  :: Ptr ExpSX' -> Ptr SX' -> IO (Ptr SX')
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rtruediv__
-  :: ExpSX -> SX -> IO SX
-casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rtruediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rtruediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSX___rtruediv__ :: ExpSXClass a => a -> SX -> IO SX
-expSX___rtruediv__ x = casADi__GenericExpression_CasADi__Matrix_CasADi__SXElement______rtruediv__ (castExpSX x)
-
diff --git a/Casadi/Wrappers/Classes/ExpSXElement.hs b/Casadi/Wrappers/Classes/ExpSXElement.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/ExpSXElement.hs
+++ /dev/null
@@ -1,280 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.ExpSXElement
-       (
-         ExpSXElement,
-         ExpSXElementClass(..),
-         expSXElement___ge__,
-         expSXElement___gt__,
-         expSXElement___mldivide__,
-         expSXElement___radd__,
-         expSXElement___rdiv__,
-         expSXElement___req__,
-         expSXElement___rge__,
-         expSXElement___rgt__,
-         expSXElement___rle__,
-         expSXElement___rlt__,
-         expSXElement___rmul__,
-         expSXElement___rne__,
-         expSXElement___rsub__,
-         expSXElement___rtruediv__,
-         expSXElement___truediv__,
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____mldivide__" c_CasADi__GenericExpression_CasADi__SXElement_____mldivide__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____mldivide__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____mldivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____mldivide__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Matrix division from left.
--}
-expSXElement___mldivide__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___mldivide__ x = casADi__GenericExpression_CasADi__SXElement_____mldivide__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____gt__" c_CasADi__GenericExpression_CasADi__SXElement_____gt__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____gt__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____gt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____gt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->No need to have both < and >
--}
-expSXElement___gt__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___gt__ x = casADi__GenericExpression_CasADi__SXElement_____gt__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____ge__" c_CasADi__GenericExpression_CasADi__SXElement_____ge__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____ge__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____ge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____ge__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->No need to have both <= and >=.
--}
-expSXElement___ge__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___ge__ x = casADi__GenericExpression_CasADi__SXElement_____ge__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____truediv__" c_CasADi__GenericExpression_CasADi__SXElement_____truediv__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____truediv__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____truediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____truediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Division (with future.division in effect)
--}
-expSXElement___truediv__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___truediv__ x = casADi__GenericExpression_CasADi__SXElement_____truediv__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____radd__" c_CasADi__GenericExpression_CasADi__SXElement_____radd__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____radd__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____radd__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____radd__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSXElement___radd__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___radd__ x = casADi__GenericExpression_CasADi__SXElement_____radd__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____rsub__" c_CasADi__GenericExpression_CasADi__SXElement_____rsub__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____rsub__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____rsub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____rsub__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSXElement___rsub__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___rsub__ x = casADi__GenericExpression_CasADi__SXElement_____rsub__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____rmul__" c_CasADi__GenericExpression_CasADi__SXElement_____rmul__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____rmul__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____rmul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____rmul__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSXElement___rmul__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___rmul__ x = casADi__GenericExpression_CasADi__SXElement_____rmul__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____rdiv__" c_CasADi__GenericExpression_CasADi__SXElement_____rdiv__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____rdiv__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____rdiv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____rdiv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSXElement___rdiv__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___rdiv__ x = casADi__GenericExpression_CasADi__SXElement_____rdiv__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____rlt__" c_CasADi__GenericExpression_CasADi__SXElement_____rlt__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____rlt__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____rlt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____rlt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSXElement___rlt__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___rlt__ x = casADi__GenericExpression_CasADi__SXElement_____rlt__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____rle__" c_CasADi__GenericExpression_CasADi__SXElement_____rle__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____rle__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____rle__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____rle__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSXElement___rle__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___rle__ x = casADi__GenericExpression_CasADi__SXElement_____rle__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____rgt__" c_CasADi__GenericExpression_CasADi__SXElement_____rgt__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____rgt__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____rgt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____rgt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSXElement___rgt__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___rgt__ x = casADi__GenericExpression_CasADi__SXElement_____rgt__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____rge__" c_CasADi__GenericExpression_CasADi__SXElement_____rge__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____rge__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____rge__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____rge__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSXElement___rge__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___rge__ x = casADi__GenericExpression_CasADi__SXElement_____rge__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____req__" c_CasADi__GenericExpression_CasADi__SXElement_____req__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____req__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____req__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____req__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSXElement___req__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___req__ x = casADi__GenericExpression_CasADi__SXElement_____req__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____rne__" c_CasADi__GenericExpression_CasADi__SXElement_____rne__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____rne__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____rne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____rne__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSXElement___rne__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___rne__ x = casADi__GenericExpression_CasADi__SXElement_____rne__ (castExpSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericExpression_CasADi__SXElement_____rtruediv__" c_CasADi__GenericExpression_CasADi__SXElement_____rtruediv__
-  :: Ptr ExpSXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__GenericExpression_CasADi__SXElement_____rtruediv__
-  :: ExpSXElement -> SXElement -> IO SXElement
-casADi__GenericExpression_CasADi__SXElement_____rtruediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericExpression_CasADi__SXElement_____rtruediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-expSXElement___rtruediv__ :: ExpSXElementClass a => a -> SXElement -> IO SXElement
-expSXElement___rtruediv__ x = casADi__GenericExpression_CasADi__SXElement_____rtruediv__ (castExpSXElement x)
-
diff --git a/Casadi/Wrappers/Classes/ExternalFunction.hs b/Casadi/Wrappers/Classes/ExternalFunction.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/ExternalFunction.hs
+++ /dev/null
@@ -1,91 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.ExternalFunction
-       (
-         ExternalFunction,
-         ExternalFunctionClass(..),
-         externalFunction,
-         externalFunction',
-         externalFunction_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 ExternalFunction where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__ExternalFunction__checkNode" c_CasADi__ExternalFunction__checkNode
-  :: Ptr ExternalFunction' -> IO CInt
-casADi__ExternalFunction__checkNode
-  :: ExternalFunction -> IO Bool
-casADi__ExternalFunction__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ExternalFunction__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the pointer points towards a valid object.
--}
-externalFunction_checkNode :: ExternalFunctionClass a => a -> IO Bool
-externalFunction_checkNode x = casADi__ExternalFunction__checkNode (castExternalFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ExternalFunction__ExternalFunction" c_CasADi__ExternalFunction__ExternalFunction
-  :: IO (Ptr ExternalFunction')
-casADi__ExternalFunction__ExternalFunction
-  :: IO ExternalFunction
-casADi__ExternalFunction__ExternalFunction  =
-  c_CasADi__ExternalFunction__ExternalFunction  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::ExternalFunction::ExternalFunction()
->------------------------------------------------------------------------
->
->CONSTRUCTORS:
->
->default constructor
->
->>  CasADi::ExternalFunction::ExternalFunction(const std::string &bin_name)
->------------------------------------------------------------------------
->
->Create an empty function.
--}
-externalFunction :: IO ExternalFunction
-externalFunction = casADi__ExternalFunction__ExternalFunction
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ExternalFunction__ExternalFunction_TIC" c_CasADi__ExternalFunction__ExternalFunction_TIC
-  :: Ptr StdString' -> IO (Ptr ExternalFunction')
-casADi__ExternalFunction__ExternalFunction'
-  :: String -> IO ExternalFunction
-casADi__ExternalFunction__ExternalFunction' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ExternalFunction__ExternalFunction_TIC x0' >>= wrapReturn
-
--- classy wrapper
-externalFunction' :: String -> IO ExternalFunction
-externalFunction' = casADi__ExternalFunction__ExternalFunction'
-
diff --git a/Casadi/Wrappers/Classes/FixedStepIntegrator.hs b/Casadi/Wrappers/Classes/FixedStepIntegrator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/FixedStepIntegrator.hs
+++ /dev/null
@@ -1,66 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.FixedStepIntegrator
-       (
-         FixedStepIntegrator,
-         FixedStepIntegratorClass(..),
-         fixedStepIntegrator,
-         fixedStepIntegrator_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 FixedStepIntegrator where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__FixedStepIntegrator__checkNode" c_CasADi__FixedStepIntegrator__checkNode
-  :: Ptr FixedStepIntegrator' -> IO CInt
-casADi__FixedStepIntegrator__checkNode
-  :: FixedStepIntegrator -> IO Bool
-casADi__FixedStepIntegrator__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__FixedStepIntegrator__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-fixedStepIntegrator_checkNode :: FixedStepIntegratorClass a => a -> IO Bool
-fixedStepIntegrator_checkNode x = casADi__FixedStepIntegrator__checkNode (castFixedStepIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__FixedStepIntegrator__FixedStepIntegrator" c_CasADi__FixedStepIntegrator__FixedStepIntegrator
-  :: IO (Ptr FixedStepIntegrator')
-casADi__FixedStepIntegrator__FixedStepIntegrator
-  :: IO FixedStepIntegrator
-casADi__FixedStepIntegrator__FixedStepIntegrator  =
-  c_CasADi__FixedStepIntegrator__FixedStepIntegrator  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-fixedStepIntegrator :: IO FixedStepIntegrator
-fixedStepIntegrator = casADi__FixedStepIntegrator__FixedStepIntegrator
-
diff --git a/Casadi/Wrappers/Classes/Function.hs b/Casadi/Wrappers/Classes/Function.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/Function.hs
+++ /dev/null
@@ -1,2215 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.Function
-       (
-         Function,
-         FunctionClass(..),
-         function,
-         function_addMonitor,
-         function_call,
-         function_call',
-         function_call'',
-         function_call''',
-         function_call'''',
-         function_call''''',
-         function_call'''''',
-         function_call''''''',
-         function_call'''''''',
-         function_callDerivative,
-         function_callDerivative',
-         function_callDerivative'',
-         function_callDerivative''',
-         function_callDerivative'''',
-         function_callDerivative''''',
-         function_callDerivative'''''',
-         function_callDerivative''''''',
-         function_callDerivative'''''''',
-         function_callParallel,
-         function_checkInputs,
-         function_checkNode,
-         function_derivative,
-         function_evaluate,
-         function_fullJacobian,
-         function_generateCode,
-         function_generateCode',
-         function_getInputScheme,
-         function_getNumInputElements,
-         function_getNumInputNonzeros,
-         function_getNumOutputElements,
-         function_getNumOutputNonzeros,
-         function_getOutputScheme,
-         function_getStat,
-         function_gradient,
-         function_gradient',
-         function_gradient'',
-         function_gradient''',
-         function_gradient'''',
-         function_gradient''''',
-         function_gradient'''''',
-         function_hessian,
-         function_hessian',
-         function_hessian'',
-         function_hessian''',
-         function_hessian'''',
-         function_hessian''''',
-         function_hessian'''''',
-         function_inputScheme,
-         function_jacSparsity,
-         function_jacSparsity',
-         function_jacSparsity'',
-         function_jacSparsity''',
-         function_jacSparsity'''',
-         function_jacSparsity''''',
-         function_jacSparsity'''''',
-         function_jacSparsity''''''',
-         function_jacSparsity'''''''',
-         function_jacSparsity''''''''',
-         function_jacSparsity'''''''''',
-         function_jacSparsity''''''''''',
-         function_jacSparsity'''''''''''',
-         function_jacSparsity''''''''''''',
-         function_jacSparsity'''''''''''''',
-         function_jacobian,
-         function_jacobian',
-         function_jacobian'',
-         function_jacobian''',
-         function_jacobian'''',
-         function_jacobian''''',
-         function_jacobian'''''',
-         function_jacobian''''''',
-         function_jacobian'''''''',
-         function_jacobian''''''''',
-         function_jacobian'''''''''',
-         function_jacobian''''''''''',
-         function_jacobian'''''''''''',
-         function_jacobian''''''''''''',
-         function_jacobian'''''''''''''',
-         function_operator_call,
-         function_operator_call',
-         function_operator_call'',
-         function_outputScheme,
-         function_removeMonitor,
-         function_setDerivative,
-         function_setFullJacobian,
-         function_setInputScheme,
-         function_setJacSparsity,
-         function_setJacSparsity',
-         function_setJacSparsity'',
-         function_setJacSparsity''',
-         function_setJacSparsity'''',
-         function_setJacSparsity''''',
-         function_setJacSparsity'''''',
-         function_setJacSparsity''''''',
-         function_setJacobian,
-         function_setJacobian',
-         function_setJacobian'',
-         function_setJacobian''',
-         function_setOutputScheme,
-         function_solve,
-         function_spCanEvaluate,
-         function_spEvaluate,
-         function_spInit,
-         function_symbolicInput,
-         function_symbolicInputSX,
-         function_tangent,
-         function_tangent',
-         function_tangent'',
-         function_tangent''',
-         function_tangent'''',
-         function_tangent''''',
-         function_tangent'''''',
-       ) 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 Function where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__inputScheme" c_CasADi__Function__inputScheme
-  :: Ptr Function' -> IO (Ptr IOScheme')
-casADi__Function__inputScheme
-  :: Function -> IO IOScheme
-casADi__Function__inputScheme x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__inputScheme x0' >>= wrapReturn
-
--- classy wrapper
-{-|
-> [INTERNAL]  Access input/output scheme.
--}
-function_inputScheme :: FunctionClass a => a -> IO IOScheme
-function_inputScheme x = casADi__Function__inputScheme (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__outputScheme" c_CasADi__Function__outputScheme
-  :: Ptr Function' -> IO (Ptr IOScheme')
-casADi__Function__outputScheme
-  :: Function -> IO IOScheme
-casADi__Function__outputScheme x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__outputScheme x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Access
->input/output scheme.
--}
-function_outputScheme :: FunctionClass a => a -> IO IOScheme
-function_outputScheme x = casADi__Function__outputScheme (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__getNumInputNonzeros" c_CasADi__Function__getNumInputNonzeros
-  :: Ptr Function' -> IO CInt
-casADi__Function__getNumInputNonzeros
-  :: Function -> IO Int
-casADi__Function__getNumInputNonzeros x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__getNumInputNonzeros x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get total number of nonzeros in all of the matrix-valued inputs.
--}
-function_getNumInputNonzeros :: FunctionClass a => a -> IO Int
-function_getNumInputNonzeros x = casADi__Function__getNumInputNonzeros (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__getNumOutputNonzeros" c_CasADi__Function__getNumOutputNonzeros
-  :: Ptr Function' -> IO CInt
-casADi__Function__getNumOutputNonzeros
-  :: Function -> IO Int
-casADi__Function__getNumOutputNonzeros x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__getNumOutputNonzeros x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get total number of nonzeros in all of the matrix-valued outputs.
--}
-function_getNumOutputNonzeros :: FunctionClass a => a -> IO Int
-function_getNumOutputNonzeros x = casADi__Function__getNumOutputNonzeros (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__getNumInputElements" c_CasADi__Function__getNumInputElements
-  :: Ptr Function' -> IO CInt
-casADi__Function__getNumInputElements
-  :: Function -> IO Int
-casADi__Function__getNumInputElements x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__getNumInputElements x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get total number of elements in all of the matrix-valued inputs.
--}
-function_getNumInputElements :: FunctionClass a => a -> IO Int
-function_getNumInputElements x = casADi__Function__getNumInputElements (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__getNumOutputElements" c_CasADi__Function__getNumOutputElements
-  :: Ptr Function' -> IO CInt
-casADi__Function__getNumOutputElements
-  :: Function -> IO Int
-casADi__Function__getNumOutputElements x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__getNumOutputElements x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get total number of elements in all of the matrix-valued outputs.
--}
-function_getNumOutputElements :: FunctionClass a => a -> IO Int
-function_getNumOutputElements x = casADi__Function__getNumOutputElements (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setInputScheme" c_CasADi__Function__setInputScheme
-  :: Ptr Function' -> Ptr IOScheme' -> IO ()
-casADi__Function__setInputScheme
-  :: Function -> IOScheme -> IO ()
-casADi__Function__setInputScheme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__setInputScheme x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set input scheme.
--}
-function_setInputScheme :: FunctionClass a => a -> IOScheme -> IO ()
-function_setInputScheme x = casADi__Function__setInputScheme (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setOutputScheme" c_CasADi__Function__setOutputScheme
-  :: Ptr Function' -> Ptr IOScheme' -> IO ()
-casADi__Function__setOutputScheme
-  :: Function -> IOScheme -> IO ()
-casADi__Function__setOutputScheme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__setOutputScheme x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set output scheme.
--}
-function_setOutputScheme :: FunctionClass a => a -> IOScheme -> IO ()
-function_setOutputScheme x = casADi__Function__setOutputScheme (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__getInputScheme" c_CasADi__Function__getInputScheme
-  :: Ptr Function' -> IO (Ptr IOScheme')
-casADi__Function__getInputScheme
-  :: Function -> IO IOScheme
-casADi__Function__getInputScheme x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__getInputScheme x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get input scheme.
--}
-function_getInputScheme :: FunctionClass a => a -> IO IOScheme
-function_getInputScheme x = casADi__Function__getInputScheme (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__getOutputScheme" c_CasADi__Function__getOutputScheme
-  :: Ptr Function' -> IO (Ptr IOScheme')
-casADi__Function__getOutputScheme
-  :: Function -> IO IOScheme
-casADi__Function__getOutputScheme x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__getOutputScheme x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get output scheme.
--}
-function_getOutputScheme :: FunctionClass a => a -> IO IOScheme
-function_getOutputScheme x = casADi__Function__getOutputScheme (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__evaluate" c_CasADi__Function__evaluate
-  :: Ptr Function' -> IO ()
-casADi__Function__evaluate
-  :: Function -> IO ()
-casADi__Function__evaluate x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__evaluate x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Evaluate.
--}
-function_evaluate :: FunctionClass a => a -> IO ()
-function_evaluate x = casADi__Function__evaluate (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__solve" c_CasADi__Function__solve
-  :: Ptr Function' -> IO ()
-casADi__Function__solve
-  :: Function -> IO ()
-casADi__Function__solve x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__solve x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->the same as evaluate()
--}
-function_solve :: FunctionClass a => a -> IO ()
-function_solve x = casADi__Function__solve (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian" c_CasADi__Function__jacobian
-  :: Ptr Function' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr Function')
-casADi__Function__jacobian
-  :: Function -> Int -> Int -> Bool -> Bool -> IO Function
-casADi__Function__jacobian x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__jacobian x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->Generate a Jacobian function of output oind with respect to input iind.
->
->Parameters:
->-----------
->
->iind:  The index of the input
->
->oind:  The index of the output
->
->The default behavior of this class is defined by the derived class. If
->compact is set to true, only the nonzeros of the input and output
->expressions are considered. If symmetric is set to true, the Jacobian being
->calculated is known to be symmetric (usually a Hessian), which can be
->exploited by the algorithm.
->
->The generated Jacobian has one more output than the calling function
->corresponding to the Jacobian and the same number of inputs.
--}
-function_jacobian :: FunctionClass a => a -> Int -> Int -> Bool -> Bool -> IO Function
-function_jacobian x = casADi__Function__jacobian (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC" c_CasADi__Function__jacobian_TIC
-  :: Ptr Function' -> CInt -> CInt -> CInt -> IO (Ptr Function')
-casADi__Function__jacobian'
-  :: Function -> Int -> Int -> Bool -> IO Function
-casADi__Function__jacobian' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__jacobian_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_jacobian' :: FunctionClass a => a -> Int -> Int -> Bool -> IO Function
-function_jacobian' x = casADi__Function__jacobian' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC
-  :: Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-casADi__Function__jacobian''
-  :: Function -> Int -> Int -> IO Function
-casADi__Function__jacobian'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__jacobian_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_jacobian'' :: FunctionClass a => a -> Int -> Int -> IO Function
-function_jacobian'' x = casADi__Function__jacobian'' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC
-  :: Ptr Function' -> CInt -> IO (Ptr Function')
-casADi__Function__jacobian'''
-  :: Function -> Int -> IO Function
-casADi__Function__jacobian''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_jacobian''' :: FunctionClass a => a -> Int -> IO Function
-function_jacobian''' x = casADi__Function__jacobian''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> IO (Ptr Function')
-casADi__Function__jacobian''''
-  :: Function -> IO Function
-casADi__Function__jacobian'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-function_jacobian'''' :: FunctionClass a => a -> IO Function
-function_jacobian'''' x = casADi__Function__jacobian'''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> CInt -> CInt -> CInt -> IO (Ptr Function')
-casADi__Function__jacobian'''''
-  :: Function -> String -> Int -> Bool -> Bool -> IO Function
-casADi__Function__jacobian''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-function_jacobian''''' :: FunctionClass a => a -> String -> Int -> Bool -> Bool -> IO Function
-function_jacobian''''' x = casADi__Function__jacobian''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> CInt -> CInt -> IO (Ptr Function')
-casADi__Function__jacobian''''''
-  :: Function -> String -> Int -> Bool -> IO Function
-casADi__Function__jacobian'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_jacobian'''''' :: FunctionClass a => a -> String -> Int -> Bool -> IO Function
-function_jacobian'''''' x = casADi__Function__jacobian'''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> CInt -> IO (Ptr Function')
-casADi__Function__jacobian'''''''
-  :: Function -> String -> Int -> IO Function
-casADi__Function__jacobian''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_jacobian''''''' :: FunctionClass a => a -> String -> Int -> IO Function
-function_jacobian''''''' x = casADi__Function__jacobian''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__jacobian''''''''
-  :: Function -> String -> IO Function
-casADi__Function__jacobian'''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_jacobian'''''''' :: FunctionClass a => a -> String -> IO Function
-function_jacobian'''''''' x = casADi__Function__jacobian'''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> CInt -> Ptr StdString' -> CInt -> CInt -> IO (Ptr Function')
-casADi__Function__jacobian'''''''''
-  :: Function -> Int -> String -> Bool -> Bool -> IO Function
-casADi__Function__jacobian''''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-function_jacobian''''''''' :: FunctionClass a => a -> Int -> String -> Bool -> Bool -> IO Function
-function_jacobian''''''''' x = casADi__Function__jacobian''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> CInt -> Ptr StdString' -> CInt -> IO (Ptr Function')
-casADi__Function__jacobian''''''''''
-  :: Function -> Int -> String -> Bool -> IO Function
-casADi__Function__jacobian'''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_jacobian'''''''''' :: FunctionClass a => a -> Int -> String -> Bool -> IO Function
-function_jacobian'''''''''' x = casADi__Function__jacobian'''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> CInt -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__jacobian'''''''''''
-  :: Function -> Int -> String -> IO Function
-casADi__Function__jacobian''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_jacobian''''''''''' :: FunctionClass a => a -> Int -> String -> IO Function
-function_jacobian''''''''''' x = casADi__Function__jacobian''''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> Ptr StdString' -> CInt -> CInt -> IO (Ptr Function')
-casADi__Function__jacobian''''''''''''
-  :: Function -> String -> String -> Bool -> Bool -> IO Function
-casADi__Function__jacobian'''''''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-function_jacobian'''''''''''' :: FunctionClass a => a -> String -> String -> Bool -> Bool -> IO Function
-function_jacobian'''''''''''' x = casADi__Function__jacobian'''''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> Ptr StdString' -> CInt -> IO (Ptr Function')
-casADi__Function__jacobian'''''''''''''
-  :: Function -> String -> String -> Bool -> IO Function
-casADi__Function__jacobian''''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_jacobian''''''''''''' :: FunctionClass a => a -> String -> String -> Bool -> IO Function
-function_jacobian''''''''''''' x = casADi__Function__jacobian''''''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__jacobian''''''''''''''
-  :: Function -> String -> String -> IO Function
-casADi__Function__jacobian'''''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__jacobian_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_jacobian'''''''''''''' :: FunctionClass a => a -> String -> String -> IO Function
-function_jacobian'''''''''''''' x = casADi__Function__jacobian'''''''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacobian" c_CasADi__Function__setJacobian
-  :: Ptr Function' -> Ptr Function' -> CInt -> CInt -> CInt -> IO ()
-casADi__Function__setJacobian
-  :: Function -> Function -> Int -> Int -> Bool -> IO ()
-casADi__Function__setJacobian x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__setJacobian x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the Jacobian function of output oind with respect to input iind NOTE:
->Does not take ownership, only weak references to the Jacobians are kept
->internally
--}
-function_setJacobian :: FunctionClass a => a -> Function -> Int -> Int -> Bool -> IO ()
-function_setJacobian x = casADi__Function__setJacobian (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacobian_TIC" c_CasADi__Function__setJacobian_TIC
-  :: Ptr Function' -> Ptr Function' -> CInt -> CInt -> IO ()
-casADi__Function__setJacobian'
-  :: Function -> Function -> Int -> Int -> IO ()
-casADi__Function__setJacobian' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__setJacobian_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_setJacobian' :: FunctionClass a => a -> Function -> Int -> Int -> IO ()
-function_setJacobian' x = casADi__Function__setJacobian' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacobian_TIC_TIC" c_CasADi__Function__setJacobian_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> CInt -> IO ()
-casADi__Function__setJacobian''
-  :: Function -> Function -> Int -> IO ()
-casADi__Function__setJacobian'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__setJacobian_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_setJacobian'' :: FunctionClass a => a -> Function -> Int -> IO ()
-function_setJacobian'' x = casADi__Function__setJacobian'' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacobian_TIC_TIC_TIC" c_CasADi__Function__setJacobian_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> IO ()
-casADi__Function__setJacobian'''
-  :: Function -> Function -> IO ()
-casADi__Function__setJacobian''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__setJacobian_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_setJacobian''' :: FunctionClass a => a -> Function -> IO ()
-function_setJacobian''' x = casADi__Function__setJacobian''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__gradient" c_CasADi__Function__gradient
-  :: Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-casADi__Function__gradient
-  :: Function -> Int -> Int -> IO Function
-casADi__Function__gradient x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__gradient x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Generate a gradient function of output oind with respect to input iind.
->
->Parameters:
->-----------
->
->iind:  The index of the input
->
->oind:  The index of the output
->
->The default behavior of this class is defined by the derived class. Note
->that the output must be scalar. In other cases, use the Jacobian instead.
--}
-function_gradient :: FunctionClass a => a -> Int -> Int -> IO Function
-function_gradient x = casADi__Function__gradient (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__gradient_TIC" c_CasADi__Function__gradient_TIC
-  :: Ptr Function' -> CInt -> IO (Ptr Function')
-casADi__Function__gradient'
-  :: Function -> Int -> IO Function
-casADi__Function__gradient' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__gradient_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_gradient' :: FunctionClass a => a -> Int -> IO Function
-function_gradient' x = casADi__Function__gradient' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__gradient_TIC_TIC" c_CasADi__Function__gradient_TIC_TIC
-  :: Ptr Function' -> IO (Ptr Function')
-casADi__Function__gradient''
-  :: Function -> IO Function
-casADi__Function__gradient'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__gradient_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-function_gradient'' :: FunctionClass a => a -> IO Function
-function_gradient'' x = casADi__Function__gradient'' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__gradient_TIC_TIC_TIC" c_CasADi__Function__gradient_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> CInt -> IO (Ptr Function')
-casADi__Function__gradient'''
-  :: Function -> String -> Int -> IO Function
-casADi__Function__gradient''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__gradient_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_gradient''' :: FunctionClass a => a -> String -> Int -> IO Function
-function_gradient''' x = casADi__Function__gradient''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__gradient_TIC_TIC_TIC_TIC" c_CasADi__Function__gradient_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__gradient''''
-  :: Function -> String -> IO Function
-casADi__Function__gradient'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__gradient_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_gradient'''' :: FunctionClass a => a -> String -> IO Function
-function_gradient'''' x = casADi__Function__gradient'''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__gradient_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__gradient_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> CInt -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__gradient'''''
-  :: Function -> Int -> String -> IO Function
-casADi__Function__gradient''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__gradient_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_gradient''''' :: FunctionClass a => a -> Int -> String -> IO Function
-function_gradient''''' x = casADi__Function__gradient''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__gradient_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__gradient_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__gradient''''''
-  :: Function -> String -> String -> IO Function
-casADi__Function__gradient'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__gradient_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_gradient'''''' :: FunctionClass a => a -> String -> String -> IO Function
-function_gradient'''''' x = casADi__Function__gradient'''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__tangent" c_CasADi__Function__tangent
-  :: Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-casADi__Function__tangent
-  :: Function -> Int -> Int -> IO Function
-casADi__Function__tangent x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__tangent x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Generate a tangent function of output oind with respect to input iind.
->
->Parameters:
->-----------
->
->iind:  The index of the input
->
->oind:  The index of the output
->
->The default behavior of this class is defined by the derived class. Note
->that the input must be scalar. In other cases, use the Jacobian instead.
--}
-function_tangent :: FunctionClass a => a -> Int -> Int -> IO Function
-function_tangent x = casADi__Function__tangent (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__tangent_TIC" c_CasADi__Function__tangent_TIC
-  :: Ptr Function' -> CInt -> IO (Ptr Function')
-casADi__Function__tangent'
-  :: Function -> Int -> IO Function
-casADi__Function__tangent' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__tangent_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_tangent' :: FunctionClass a => a -> Int -> IO Function
-function_tangent' x = casADi__Function__tangent' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__tangent_TIC_TIC" c_CasADi__Function__tangent_TIC_TIC
-  :: Ptr Function' -> IO (Ptr Function')
-casADi__Function__tangent''
-  :: Function -> IO Function
-casADi__Function__tangent'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__tangent_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-function_tangent'' :: FunctionClass a => a -> IO Function
-function_tangent'' x = casADi__Function__tangent'' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__tangent_TIC_TIC_TIC" c_CasADi__Function__tangent_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> CInt -> IO (Ptr Function')
-casADi__Function__tangent'''
-  :: Function -> String -> Int -> IO Function
-casADi__Function__tangent''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__tangent_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_tangent''' :: FunctionClass a => a -> String -> Int -> IO Function
-function_tangent''' x = casADi__Function__tangent''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__tangent_TIC_TIC_TIC_TIC" c_CasADi__Function__tangent_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__tangent''''
-  :: Function -> String -> IO Function
-casADi__Function__tangent'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__tangent_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_tangent'''' :: FunctionClass a => a -> String -> IO Function
-function_tangent'''' x = casADi__Function__tangent'''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__tangent_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__tangent_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> CInt -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__tangent'''''
-  :: Function -> Int -> String -> IO Function
-casADi__Function__tangent''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__tangent_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_tangent''''' :: FunctionClass a => a -> Int -> String -> IO Function
-function_tangent''''' x = casADi__Function__tangent''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__tangent_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__tangent_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__tangent''''''
-  :: Function -> String -> String -> IO Function
-casADi__Function__tangent'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__tangent_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_tangent'''''' :: FunctionClass a => a -> String -> String -> IO Function
-function_tangent'''''' x = casADi__Function__tangent'''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__hessian" c_CasADi__Function__hessian
-  :: Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-casADi__Function__hessian
-  :: Function -> Int -> Int -> IO Function
-casADi__Function__hessian x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__hessian x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Generate a Hessian function of output oind with respect to input iind.
->
->Parameters:
->-----------
->
->iind:  The index of the input
->
->oind:  The index of the output
->
->The generated Hessian has two more outputs than the calling function
->corresponding to the Hessian and the gradients.
--}
-function_hessian :: FunctionClass a => a -> Int -> Int -> IO Function
-function_hessian x = casADi__Function__hessian (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__hessian_TIC" c_CasADi__Function__hessian_TIC
-  :: Ptr Function' -> CInt -> IO (Ptr Function')
-casADi__Function__hessian'
-  :: Function -> Int -> IO Function
-casADi__Function__hessian' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__hessian_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_hessian' :: FunctionClass a => a -> Int -> IO Function
-function_hessian' x = casADi__Function__hessian' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__hessian_TIC_TIC" c_CasADi__Function__hessian_TIC_TIC
-  :: Ptr Function' -> IO (Ptr Function')
-casADi__Function__hessian''
-  :: Function -> IO Function
-casADi__Function__hessian'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__hessian_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-function_hessian'' :: FunctionClass a => a -> IO Function
-function_hessian'' x = casADi__Function__hessian'' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__hessian_TIC_TIC_TIC" c_CasADi__Function__hessian_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> CInt -> IO (Ptr Function')
-casADi__Function__hessian'''
-  :: Function -> String -> Int -> IO Function
-casADi__Function__hessian''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__hessian_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_hessian''' :: FunctionClass a => a -> String -> Int -> IO Function
-function_hessian''' x = casADi__Function__hessian''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__hessian_TIC_TIC_TIC_TIC" c_CasADi__Function__hessian_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__hessian''''
-  :: Function -> String -> IO Function
-casADi__Function__hessian'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__hessian_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_hessian'''' :: FunctionClass a => a -> String -> IO Function
-function_hessian'''' x = casADi__Function__hessian'''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__hessian_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__hessian_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> CInt -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__hessian'''''
-  :: Function -> Int -> String -> IO Function
-casADi__Function__hessian''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__hessian_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_hessian''''' :: FunctionClass a => a -> Int -> String -> IO Function
-function_hessian''''' x = casADi__Function__hessian''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__hessian_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__hessian_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr Function')
-casADi__Function__hessian''''''
-  :: Function -> String -> String -> IO Function
-casADi__Function__hessian'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__hessian_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_hessian'''''' :: FunctionClass a => a -> String -> String -> IO Function
-function_hessian'''''' x = casADi__Function__hessian'''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__fullJacobian" c_CasADi__Function__fullJacobian
-  :: Ptr Function' -> IO (Ptr Function')
-casADi__Function__fullJacobian
-  :: Function -> IO Function
-casADi__Function__fullJacobian x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__fullJacobian x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Generate a Jacobian function of all the inputs elements with respect to all
->the output elements).
--}
-function_fullJacobian :: FunctionClass a => a -> IO Function
-function_fullJacobian x = casADi__Function__fullJacobian (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setFullJacobian" c_CasADi__Function__setFullJacobian
-  :: Ptr Function' -> Ptr Function' -> IO ()
-casADi__Function__setFullJacobian
-  :: Function -> Function -> IO ()
-casADi__Function__setFullJacobian x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__setFullJacobian x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the Jacobian of all the input nonzeros with respect to all output
->nonzeros NOTE: Does not take ownership, only weak references to the Jacobian
->are kept internally
--}
-function_setFullJacobian :: FunctionClass a => a -> Function -> IO ()
-function_setFullJacobian x = casADi__Function__setFullJacobian (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__call" c_CasADi__Function__call
-  :: Ptr Function' -> Ptr (CppVec (Ptr DMatrix')) -> CInt -> CInt -> IO (Ptr (CppVec (Ptr DMatrix')))
-casADi__Function__call
-  :: Function -> Vector DMatrix -> Bool -> Bool -> IO (Vector DMatrix)
-casADi__Function__call x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__call x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  std::vector<DMatrix> CasADi::Function::call(const std::vector< DMatrix > &arg, bool always_inline=false, bool never_inline=false)
->
->>  std::vector<SX> CasADi::Function::call(const std::vector< SX > &arg, bool always_inline=false, bool never_inline=false)
->
->>  std::vector<MX> CasADi::Function::call(const std::vector< MX > &arg, bool always_inline=false, bool never_inline=false)
->------------------------------------------------------------------------
->
->Evaluate the function symbolically or numerically.
->
->>  std::vector<std::vector<MX> > CasADi::Function::call(const std::vector< std::vector< MX > > &arg, const Dictionary &paropt=Dictionary())
->
->>  void CasADi::Function::call(const MXVector &arg, MXVector &output_res, const MXVectorVector &fseed, MXVectorVector &output_fsens, const MXVectorVector &aseed, MXVectorVector &output_asens)
->
->>  std::vector<MX> CasADi::Function::call(const MX &arg)
->------------------------------------------------------------------------
->
->[DEPRECATED]
--}
-function_call :: FunctionClass a => a -> Vector DMatrix -> Bool -> Bool -> IO (Vector DMatrix)
-function_call x = casADi__Function__call (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__call_TIC" c_CasADi__Function__call_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr DMatrix')) -> CInt -> IO (Ptr (CppVec (Ptr DMatrix')))
-casADi__Function__call'
-  :: Function -> Vector DMatrix -> Bool -> IO (Vector DMatrix)
-casADi__Function__call' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__call_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_call' :: FunctionClass a => a -> Vector DMatrix -> Bool -> IO (Vector DMatrix)
-function_call' x = casADi__Function__call' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__call_TIC_TIC" c_CasADi__Function__call_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr (CppVec (Ptr DMatrix')))
-casADi__Function__call''
-  :: Function -> Vector DMatrix -> IO (Vector DMatrix)
-casADi__Function__call'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__call_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_call'' :: FunctionClass a => a -> Vector DMatrix -> IO (Vector DMatrix)
-function_call'' x = casADi__Function__call'' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__call_TIC_TIC_TIC" c_CasADi__Function__call_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr SX')) -> CInt -> CInt -> IO (Ptr (CppVec (Ptr SX')))
-casADi__Function__call'''
-  :: Function -> Vector SX -> Bool -> Bool -> IO (Vector SX)
-casADi__Function__call''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__call_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_call''' :: FunctionClass a => a -> Vector SX -> Bool -> Bool -> IO (Vector SX)
-function_call''' x = casADi__Function__call''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__call_TIC_TIC_TIC_TIC" c_CasADi__Function__call_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr SX')) -> CInt -> IO (Ptr (CppVec (Ptr SX')))
-casADi__Function__call''''
-  :: Function -> Vector SX -> Bool -> IO (Vector SX)
-casADi__Function__call'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__call_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_call'''' :: FunctionClass a => a -> Vector SX -> Bool -> IO (Vector SX)
-function_call'''' x = casADi__Function__call'''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__call_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__call_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr SX')) -> IO (Ptr (CppVec (Ptr SX')))
-casADi__Function__call'''''
-  :: Function -> Vector SX -> IO (Vector SX)
-casADi__Function__call''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__call_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_call''''' :: FunctionClass a => a -> Vector SX -> IO (Vector SX)
-function_call''''' x = casADi__Function__call''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__call_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__call_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr MX')) -> CInt -> CInt -> IO (Ptr (CppVec (Ptr MX')))
-casADi__Function__call''''''
-  :: Function -> Vector MX -> Bool -> Bool -> IO (Vector MX)
-casADi__Function__call'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__call_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_call'''''' :: FunctionClass a => a -> Vector MX -> Bool -> Bool -> IO (Vector MX)
-function_call'''''' x = casADi__Function__call'''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__call_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__call_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr MX')) -> CInt -> IO (Ptr (CppVec (Ptr MX')))
-casADi__Function__call'''''''
-  :: Function -> Vector MX -> Bool -> IO (Vector MX)
-casADi__Function__call''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__call_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_call''''''' :: FunctionClass a => a -> Vector MX -> Bool -> IO (Vector MX)
-function_call''''''' x = casADi__Function__call''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__call_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__call_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr MX')) -> IO (Ptr (CppVec (Ptr MX')))
-casADi__Function__call''''''''
-  :: Function -> Vector MX -> IO (Vector MX)
-casADi__Function__call'''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__call_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_call'''''''' :: FunctionClass a => a -> Vector MX -> IO (Vector MX)
-function_call'''''''' x = casADi__Function__call'''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__operator_call" c_CasADi__Function__operator_call
-  :: Ptr Function' -> Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr (CppVec (Ptr DMatrix')))
-casADi__Function__operator_call
-  :: Function -> Vector DMatrix -> IO (Vector DMatrix)
-casADi__Function__operator_call x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__operator_call x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_operator_call :: FunctionClass a => a -> Vector DMatrix -> IO (Vector DMatrix)
-function_operator_call x = casADi__Function__operator_call (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__operator_call_TIC" c_CasADi__Function__operator_call_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr SX')) -> IO (Ptr (CppVec (Ptr SX')))
-casADi__Function__operator_call'
-  :: Function -> Vector SX -> IO (Vector SX)
-casADi__Function__operator_call' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__operator_call_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_operator_call' :: FunctionClass a => a -> Vector SX -> IO (Vector SX)
-function_operator_call' x = casADi__Function__operator_call' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__operator_call_TIC_TIC" c_CasADi__Function__operator_call_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr MX')) -> IO (Ptr (CppVec (Ptr MX')))
-casADi__Function__operator_call''
-  :: Function -> Vector MX -> IO (Vector MX)
-casADi__Function__operator_call'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__operator_call_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_operator_call'' :: FunctionClass a => a -> Vector MX -> IO (Vector MX)
-function_operator_call'' x = casADi__Function__operator_call'' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__callDerivative" c_CasADi__Function__callDerivative
-  :: Ptr Function' -> Ptr (CppVec (Ptr DMatrix')) -> Ptr (CppVec (Ptr DMatrix')) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> CInt -> CInt -> IO ()
-casADi__Function__callDerivative
-  :: Function -> Vector DMatrix -> Vector DMatrix -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Bool -> Bool -> IO ()
-casADi__Function__callDerivative x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  c_CasADi__Function__callDerivative x0' x1' x2' x3' x4' x5' x6' x7' x8' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]
->Evaluate the function symbolically or numerically with directional
->derivatives The first two arguments are the nondifferentiated inputs and
->results of the evaluation, the next two arguments are a set of forward
->directional seeds and the resulting forward directional derivatives, the
->length of the vector being the number of forward directions. The next two
->arguments are a set of adjoint directional seeds and the resulting adjoint
->directional derivatives, the length of the vector being the number of
->adjoint directions.
--}
-function_callDerivative :: FunctionClass a => a -> Vector DMatrix -> Vector DMatrix -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Bool -> Bool -> IO ()
-function_callDerivative x = casADi__Function__callDerivative (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__callDerivative_TIC" c_CasADi__Function__callDerivative_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr DMatrix')) -> Ptr (CppVec (Ptr DMatrix')) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> CInt -> IO ()
-casADi__Function__callDerivative'
-  :: Function -> Vector DMatrix -> Vector DMatrix -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Bool -> IO ()
-casADi__Function__callDerivative' x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  c_CasADi__Function__callDerivative_TIC x0' x1' x2' x3' x4' x5' x6' x7' >>= wrapReturn
-
--- classy wrapper
-function_callDerivative' :: FunctionClass a => a -> Vector DMatrix -> Vector DMatrix -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Bool -> IO ()
-function_callDerivative' x = casADi__Function__callDerivative' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__callDerivative_TIC_TIC" c_CasADi__Function__callDerivative_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr DMatrix')) -> Ptr (CppVec (Ptr DMatrix')) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> IO ()
-casADi__Function__callDerivative''
-  :: Function -> Vector DMatrix -> Vector DMatrix -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> IO ()
-casADi__Function__callDerivative'' x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  c_CasADi__Function__callDerivative_TIC_TIC x0' x1' x2' x3' x4' x5' x6' >>= wrapReturn
-
--- classy wrapper
-function_callDerivative'' :: FunctionClass a => a -> Vector DMatrix -> Vector DMatrix -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> Vector (Vector DMatrix) -> IO ()
-function_callDerivative'' x = casADi__Function__callDerivative'' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__callDerivative_TIC_TIC_TIC" c_CasADi__Function__callDerivative_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> CInt -> CInt -> IO ()
-casADi__Function__callDerivative'''
-  :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Bool -> Bool -> IO ()
-casADi__Function__callDerivative''' x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  c_CasADi__Function__callDerivative_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' >>= wrapReturn
-
--- classy wrapper
-function_callDerivative''' :: FunctionClass a => a -> Vector SX -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Bool -> Bool -> IO ()
-function_callDerivative''' x = casADi__Function__callDerivative''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__callDerivative_TIC_TIC_TIC_TIC" c_CasADi__Function__callDerivative_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> CInt -> IO ()
-casADi__Function__callDerivative''''
-  :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Bool -> IO ()
-casADi__Function__callDerivative'''' x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  c_CasADi__Function__callDerivative_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' >>= wrapReturn
-
--- classy wrapper
-function_callDerivative'''' :: FunctionClass a => a -> Vector SX -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Bool -> IO ()
-function_callDerivative'''' x = casADi__Function__callDerivative'''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> IO ()
-casADi__Function__callDerivative'''''
-  :: Function -> Vector SX -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> IO ()
-casADi__Function__callDerivative''''' x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  c_CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' >>= wrapReturn
-
--- classy wrapper
-function_callDerivative''''' :: FunctionClass a => a -> Vector SX -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> Vector (Vector SX) -> IO ()
-function_callDerivative''''' x = casADi__Function__callDerivative''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> CInt -> CInt -> IO ()
-casADi__Function__callDerivative''''''
-  :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Bool -> Bool -> IO ()
-casADi__Function__callDerivative'''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  c_CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' >>= wrapReturn
-
--- classy wrapper
-function_callDerivative'''''' :: FunctionClass a => a -> Vector MX -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Bool -> Bool -> IO ()
-function_callDerivative'''''' x = casADi__Function__callDerivative'''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> CInt -> IO ()
-casADi__Function__callDerivative'''''''
-  :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Bool -> IO ()
-casADi__Function__callDerivative''''''' x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  c_CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' >>= wrapReturn
-
--- classy wrapper
-function_callDerivative''''''' :: FunctionClass a => a -> Vector MX -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Bool -> IO ()
-function_callDerivative''''''' x = casADi__Function__callDerivative''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> IO ()
-casADi__Function__callDerivative''''''''
-  :: Function -> Vector MX -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> IO ()
-casADi__Function__callDerivative'''''''' x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  c_CasADi__Function__callDerivative_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' >>= wrapReturn
-
--- classy wrapper
-function_callDerivative'''''''' :: FunctionClass a => a -> Vector MX -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> Vector (Vector MX) -> IO ()
-function_callDerivative'''''''' x = casADi__Function__callDerivative'''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__callParallel" c_CasADi__Function__callParallel
-  :: Ptr Function' -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> IO (Ptr (CppVec (Ptr (CppVec (Ptr MX')))))
-casADi__Function__callParallel
-  :: Function -> Vector (Vector MX) -> IO (Vector (Vector MX))
-casADi__Function__callParallel x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__callParallel x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Evaluate symbolically in parallel (matrix graph) paropt: Set of options to
->be passed to the Parallelizer.
--}
-function_callParallel :: FunctionClass a => a -> Vector (Vector MX) -> IO (Vector (Vector MX))
-function_callParallel x = casADi__Function__callParallel (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__derivative" c_CasADi__Function__derivative
-  :: Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-casADi__Function__derivative
-  :: Function -> Int -> Int -> IO Function
-casADi__Function__derivative x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__derivative x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get a function that calculates nfwd forward derivatives and nadj adjoint
->derivatives.
->
->Returns a function with (1+nfwd)*n_in+nadj*n_out inputs and (1+nfwd)*n_out +
->nadj*n_in outputs. The first n_in inputs corresponds to nondifferentiated
->inputs. The next nfwd*n_in inputs corresponds to forward seeds, one
->direction at a time and the last nadj*n_out inputs corresponds to adjoint
->seeds, one direction at a time. The first n_out outputs corresponds to
->nondifferentiated outputs. The next nfwd*n_out outputs corresponds to
->forward sensitivities, one direction at a time and the last nadj*n_in
->outputs corresponds to adjoint sensitivties, one direction at a time.
->
->(n_in = getNumInputs(), n_out = getNumOutputs())
->
->The functions returned are cached, meaning that if called multiple timed
->with the same value, then multiple references to the same function will be
->returned.
--}
-function_derivative :: FunctionClass a => a -> Int -> Int -> IO Function
-function_derivative x = casADi__Function__derivative (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setDerivative" c_CasADi__Function__setDerivative
-  :: Ptr Function' -> Ptr Function' -> CInt -> CInt -> IO ()
-casADi__Function__setDerivative
-  :: Function -> Function -> Int -> Int -> IO ()
-casADi__Function__setDerivative x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__setDerivative x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set a function that calculates nfwd forward dedrivatives and nadj adjoint
->derivatives NOTE: Does not take ownership, only weak references to the
->derivatives are kept internally
--}
-function_setDerivative :: FunctionClass a => a -> Function -> Int -> Int -> IO ()
-function_setDerivative x = casADi__Function__setDerivative (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity" c_CasADi__Function__jacSparsity
-  :: Ptr Function' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity
-  :: Function -> Int -> Int -> Bool -> Bool -> IO Sparsity
-casADi__Function__jacSparsity x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__jacSparsity x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get, if necessary generate, the sparsity of a Jacobian block.
--}
-function_jacSparsity :: FunctionClass a => a -> Int -> Int -> Bool -> Bool -> IO Sparsity
-function_jacSparsity x = casADi__Function__jacSparsity (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC" c_CasADi__Function__jacSparsity_TIC
-  :: Ptr Function' -> CInt -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity'
-  :: Function -> Int -> Int -> Bool -> IO Sparsity
-casADi__Function__jacSparsity' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__jacSparsity_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity' :: FunctionClass a => a -> Int -> Int -> Bool -> IO Sparsity
-function_jacSparsity' x = casADi__Function__jacSparsity' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC
-  :: Ptr Function' -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity''
-  :: Function -> Int -> Int -> IO Sparsity
-casADi__Function__jacSparsity'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity'' :: FunctionClass a => a -> Int -> Int -> IO Sparsity
-function_jacSparsity'' x = casADi__Function__jacSparsity'' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC
-  :: Ptr Function' -> CInt -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity'''
-  :: Function -> Int -> IO Sparsity
-casADi__Function__jacSparsity''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity''' :: FunctionClass a => a -> Int -> IO Sparsity
-function_jacSparsity''' x = casADi__Function__jacSparsity''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity''''
-  :: Function -> IO Sparsity
-casADi__Function__jacSparsity'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity'''' :: FunctionClass a => a -> IO Sparsity
-function_jacSparsity'''' x = casADi__Function__jacSparsity'''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> CInt -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity'''''
-  :: Function -> String -> Int -> Bool -> Bool -> IO Sparsity
-casADi__Function__jacSparsity''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity''''' :: FunctionClass a => a -> String -> Int -> Bool -> Bool -> IO Sparsity
-function_jacSparsity''''' x = casADi__Function__jacSparsity''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity''''''
-  :: Function -> String -> Int -> Bool -> IO Sparsity
-casADi__Function__jacSparsity'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity'''''' :: FunctionClass a => a -> String -> Int -> Bool -> IO Sparsity
-function_jacSparsity'''''' x = casADi__Function__jacSparsity'''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> CInt -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity'''''''
-  :: Function -> String -> Int -> IO Sparsity
-casADi__Function__jacSparsity''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity''''''' :: FunctionClass a => a -> String -> Int -> IO Sparsity
-function_jacSparsity''''''' x = casADi__Function__jacSparsity''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity''''''''
-  :: Function -> String -> IO Sparsity
-casADi__Function__jacSparsity'''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity'''''''' :: FunctionClass a => a -> String -> IO Sparsity
-function_jacSparsity'''''''' x = casADi__Function__jacSparsity'''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> CInt -> Ptr StdString' -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity'''''''''
-  :: Function -> Int -> String -> Bool -> Bool -> IO Sparsity
-casADi__Function__jacSparsity''''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity''''''''' :: FunctionClass a => a -> Int -> String -> Bool -> Bool -> IO Sparsity
-function_jacSparsity''''''''' x = casADi__Function__jacSparsity''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> CInt -> Ptr StdString' -> CInt -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity''''''''''
-  :: Function -> Int -> String -> Bool -> IO Sparsity
-casADi__Function__jacSparsity'''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity'''''''''' :: FunctionClass a => a -> Int -> String -> Bool -> IO Sparsity
-function_jacSparsity'''''''''' x = casADi__Function__jacSparsity'''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> CInt -> Ptr StdString' -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity'''''''''''
-  :: Function -> Int -> String -> IO Sparsity
-casADi__Function__jacSparsity''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity''''''''''' :: FunctionClass a => a -> Int -> String -> IO Sparsity
-function_jacSparsity''''''''''' x = casADi__Function__jacSparsity''''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> Ptr StdString' -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity''''''''''''
-  :: Function -> String -> String -> Bool -> Bool -> IO Sparsity
-casADi__Function__jacSparsity'''''''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity'''''''''''' :: FunctionClass a => a -> String -> String -> Bool -> Bool -> IO Sparsity
-function_jacSparsity'''''''''''' x = casADi__Function__jacSparsity'''''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> Ptr StdString' -> CInt -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity'''''''''''''
-  :: Function -> String -> String -> Bool -> IO Sparsity
-casADi__Function__jacSparsity''''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity''''''''''''' :: FunctionClass a => a -> String -> String -> Bool -> IO Sparsity
-function_jacSparsity''''''''''''' x = casADi__Function__jacSparsity''''''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr Sparsity')
-casADi__Function__jacSparsity''''''''''''''
-  :: Function -> String -> String -> IO Sparsity
-casADi__Function__jacSparsity'''''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Function__jacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-function_jacSparsity'''''''''''''' :: FunctionClass a => a -> String -> String -> IO Sparsity
-function_jacSparsity'''''''''''''' x = casADi__Function__jacSparsity'''''''''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacSparsity" c_CasADi__Function__setJacSparsity
-  :: Ptr Function' -> Ptr Sparsity' -> CInt -> CInt -> CInt -> IO ()
-casADi__Function__setJacSparsity
-  :: Function -> Sparsity -> Int -> Int -> Bool -> IO ()
-casADi__Function__setJacSparsity x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__setJacSparsity x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->Generate the sparsity of a Jacobian block.
--}
-function_setJacSparsity :: FunctionClass a => a -> Sparsity -> Int -> Int -> Bool -> IO ()
-function_setJacSparsity x = casADi__Function__setJacSparsity (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacSparsity_TIC" c_CasADi__Function__setJacSparsity_TIC
-  :: Ptr Function' -> Ptr Sparsity' -> CInt -> CInt -> IO ()
-casADi__Function__setJacSparsity'
-  :: Function -> Sparsity -> Int -> Int -> IO ()
-casADi__Function__setJacSparsity' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__setJacSparsity_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_setJacSparsity' :: FunctionClass a => a -> Sparsity -> Int -> Int -> IO ()
-function_setJacSparsity' x = casADi__Function__setJacSparsity' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacSparsity_TIC_TIC" c_CasADi__Function__setJacSparsity_TIC_TIC
-  :: Ptr Function' -> Ptr Sparsity' -> Ptr StdString' -> CInt -> CInt -> IO ()
-casADi__Function__setJacSparsity''
-  :: Function -> Sparsity -> String -> Int -> Bool -> IO ()
-casADi__Function__setJacSparsity'' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__setJacSparsity_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-function_setJacSparsity'' :: FunctionClass a => a -> Sparsity -> String -> Int -> Bool -> IO ()
-function_setJacSparsity'' x = casADi__Function__setJacSparsity'' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacSparsity_TIC_TIC_TIC" c_CasADi__Function__setJacSparsity_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr Sparsity' -> Ptr StdString' -> CInt -> IO ()
-casADi__Function__setJacSparsity'''
-  :: Function -> Sparsity -> String -> Int -> IO ()
-casADi__Function__setJacSparsity''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__setJacSparsity_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_setJacSparsity''' :: FunctionClass a => a -> Sparsity -> String -> Int -> IO ()
-function_setJacSparsity''' x = casADi__Function__setJacSparsity''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC" c_CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr Sparsity' -> CInt -> Ptr StdString' -> CInt -> IO ()
-casADi__Function__setJacSparsity''''
-  :: Function -> Sparsity -> Int -> String -> Bool -> IO ()
-casADi__Function__setJacSparsity'''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-function_setJacSparsity'''' :: FunctionClass a => a -> Sparsity -> Int -> String -> Bool -> IO ()
-function_setJacSparsity'''' x = casADi__Function__setJacSparsity'''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr Sparsity' -> CInt -> Ptr StdString' -> IO ()
-casADi__Function__setJacSparsity'''''
-  :: Function -> Sparsity -> Int -> String -> IO ()
-casADi__Function__setJacSparsity''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_setJacSparsity''''' :: FunctionClass a => a -> Sparsity -> Int -> String -> IO ()
-function_setJacSparsity''''' x = casADi__Function__setJacSparsity''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr Sparsity' -> Ptr StdString' -> Ptr StdString' -> CInt -> IO ()
-casADi__Function__setJacSparsity''''''
-  :: Function -> Sparsity -> String -> String -> Bool -> IO ()
-casADi__Function__setJacSparsity'''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-function_setJacSparsity'''''' :: FunctionClass a => a -> Sparsity -> String -> String -> Bool -> IO ()
-function_setJacSparsity'''''' x = casADi__Function__setJacSparsity'''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> Ptr Sparsity' -> Ptr StdString' -> Ptr StdString' -> IO ()
-casADi__Function__setJacSparsity'''''''
-  :: Function -> Sparsity -> String -> String -> IO ()
-casADi__Function__setJacSparsity''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Function__setJacSparsity_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-function_setJacSparsity''''''' :: FunctionClass a => a -> Sparsity -> String -> String -> IO ()
-function_setJacSparsity''''''' x = casADi__Function__setJacSparsity''''''' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__generateCode" c_CasADi__Function__generateCode
-  :: Ptr Function' -> Ptr StdString' -> IO ()
-casADi__Function__generateCode
-  :: Function -> String -> IO ()
-casADi__Function__generateCode x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__generateCode x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Function::generateCode(const std::string &filename)
->------------------------------------------------------------------------
->
->Export / Generate C code for the function.
->
->>  std::string CasADi::Function::generateCode()
->
->>  void CasADi::Function::generateCode(std::ostream &filename)
->------------------------------------------------------------------------
->
->Generate C code for the function.
--}
-function_generateCode :: FunctionClass a => a -> String -> IO ()
-function_generateCode x = casADi__Function__generateCode (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__generateCode_TIC" c_CasADi__Function__generateCode_TIC
-  :: Ptr Function' -> IO (Ptr StdString')
-casADi__Function__generateCode'
-  :: Function -> IO String
-casADi__Function__generateCode' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__generateCode_TIC x0' >>= wrapReturn
-
--- classy wrapper
-function_generateCode' :: FunctionClass a => a -> IO String
-function_generateCode' x = casADi__Function__generateCode' (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__checkNode" c_CasADi__Function__checkNode
-  :: Ptr Function' -> IO CInt
-casADi__Function__checkNode
-  :: Function -> IO Bool
-casADi__Function__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if the
->node is pointing to the right type of object.
--}
-function_checkNode :: FunctionClass a => a -> IO Bool
-function_checkNode x = casADi__Function__checkNode (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__getStat" c_CasADi__Function__getStat
-  :: Ptr Function' -> Ptr StdString' -> IO (Ptr GenericType')
-casADi__Function__getStat
-  :: Function -> String -> IO GenericType
-casADi__Function__getStat x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__getStat x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get a single statistic obtained at the end of the last evaluate call.
--}
-function_getStat :: FunctionClass a => a -> String -> IO GenericType
-function_getStat x = casADi__Function__getStat (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__symbolicInput" c_CasADi__Function__symbolicInput
-  :: Ptr Function' -> IO (Ptr (CppVec (Ptr MX')))
-casADi__Function__symbolicInput
-  :: Function -> IO (Vector MX)
-casADi__Function__symbolicInput x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__symbolicInput x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get a vector of symbolic variables with the same dimensions as the inputs.
->
->There is no guarantee that consecutive calls return identical objects
--}
-function_symbolicInput :: FunctionClass a => a -> IO (Vector MX)
-function_symbolicInput x = casADi__Function__symbolicInput (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__symbolicInputSX" c_CasADi__Function__symbolicInputSX
-  :: Ptr Function' -> IO (Ptr (CppVec (Ptr SX')))
-casADi__Function__symbolicInputSX
-  :: Function -> IO (Vector SX)
-casADi__Function__symbolicInputSX x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__symbolicInputSX x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get a vector of symbolic variables with the same dimensions as the inputs,
->SX graph.
->
->There is no guarantee that consecutive calls return identical objects
--}
-function_symbolicInputSX :: FunctionClass a => a -> IO (Vector SX)
-function_symbolicInputSX x = casADi__Function__symbolicInputSX (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__spCanEvaluate" c_CasADi__Function__spCanEvaluate
-  :: Ptr Function' -> CInt -> IO CInt
-casADi__Function__spCanEvaluate
-  :: Function -> Bool -> IO Bool
-casADi__Function__spCanEvaluate x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__spCanEvaluate x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Is the
->class able to propate seeds through the algorithm? (for usage, see the
->example propagating_sparsity.cpp)
--}
-function_spCanEvaluate :: FunctionClass a => a -> Bool -> IO Bool
-function_spCanEvaluate x = casADi__Function__spCanEvaluate (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__spInit" c_CasADi__Function__spInit
-  :: Ptr Function' -> CInt -> IO ()
-casADi__Function__spInit
-  :: Function -> Bool -> IO ()
-casADi__Function__spInit x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__spInit x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Reset the
->sparsity propagation (for usage, see the example propagating_sparsity.cpp)
--}
-function_spInit :: FunctionClass a => a -> Bool -> IO ()
-function_spInit x = casADi__Function__spInit (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__spEvaluate" c_CasADi__Function__spEvaluate
-  :: Ptr Function' -> CInt -> IO ()
-casADi__Function__spEvaluate
-  :: Function -> Bool -> IO ()
-casADi__Function__spEvaluate x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__spEvaluate x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Propagate
->the sparsity pattern through a set of directional derivatives forward or
->backward (for usage, see the example propagating_sparsity.cpp)
--}
-function_spEvaluate :: FunctionClass a => a -> Bool -> IO ()
-function_spEvaluate x = casADi__Function__spEvaluate (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__addMonitor" c_CasADi__Function__addMonitor
-  :: Ptr Function' -> Ptr StdString' -> IO ()
-casADi__Function__addMonitor
-  :: Function -> String -> IO ()
-casADi__Function__addMonitor x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__addMonitor x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Add modules to be monitored.
--}
-function_addMonitor :: FunctionClass a => a -> String -> IO ()
-function_addMonitor x = casADi__Function__addMonitor (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__removeMonitor" c_CasADi__Function__removeMonitor
-  :: Ptr Function' -> Ptr StdString' -> IO ()
-casADi__Function__removeMonitor
-  :: Function -> String -> IO ()
-casADi__Function__removeMonitor x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Function__removeMonitor x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Remove modules to be monitored.
--}
-function_removeMonitor :: FunctionClass a => a -> String -> IO ()
-function_removeMonitor x = casADi__Function__removeMonitor (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__checkInputs" c_CasADi__Function__checkInputs
-  :: Ptr Function' -> IO ()
-casADi__Function__checkInputs
-  :: Function -> IO ()
-casADi__Function__checkInputs x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Function__checkInputs x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if
->the numerical values of the supplied bounds make sense.
--}
-function_checkInputs :: FunctionClass a => a -> IO ()
-function_checkInputs x = casADi__Function__checkInputs (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Function__Function" c_CasADi__Function__Function
-  :: IO (Ptr Function')
-casADi__Function__Function
-  :: IO Function
-casADi__Function__Function  =
-  c_CasADi__Function__Function  >>= wrapReturn
-
--- classy wrapper
-{-|
->default constructor
--}
-function :: IO Function
-function = casADi__Function__Function
-
diff --git a/Casadi/Wrappers/Classes/GenDMatrix.hs b/Casadi/Wrappers/Classes/GenDMatrix.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/GenDMatrix.hs
+++ /dev/null
@@ -1,746 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.GenDMatrix
-       (
-         GenDMatrix,
-         GenDMatrixClass(..),
-         genDMatrix_dimString,
-         genDMatrix_isDense,
-         genDMatrix_isEmpty,
-         genDMatrix_isEmpty',
-         genDMatrix_isScalar,
-         genDMatrix_isScalar',
-         genDMatrix_isSquare,
-         genDMatrix_isTril,
-         genDMatrix_isTriu,
-         genDMatrix_isVector,
-         genDMatrix_mul_smart,
-         genDMatrix_numel,
-         genDMatrix_ones,
-         genDMatrix_ones',
-         genDMatrix_ones'',
-         genDMatrix_ones''',
-         genDMatrix_size,
-         genDMatrix_size',
-         genDMatrix_size1,
-         genDMatrix_size2,
-         genDMatrix_sizeD,
-         genDMatrix_sizeL,
-         genDMatrix_sizeU,
-         genDMatrix_sparse,
-         genDMatrix_sparse',
-         genDMatrix_sparse'',
-         genDMatrix_sparsityRef,
-         genDMatrix_sym,
-         genDMatrix_sym',
-         genDMatrix_sym'',
-         genDMatrix_sym''',
-         genDMatrix_sym'''',
-         genDMatrix_sym''''',
-         genDMatrix_sym'''''',
-         genDMatrix_sym''''''',
-         genDMatrix_zeros,
-         genDMatrix_zeros',
-         genDMatrix_zeros'',
-         genDMatrix_zeros''',
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____size" c_CasADi__GenericMatrix_CasADi__Matrix_double____size
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____size
-  :: GenDMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_double____size x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____size x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  int CasADi::GenericMatrix< MatType >::size() const 
->------------------------------------------------------------------------
->
->Get the number of (structural) non-zero elements.
->
->>  int CasADi::GenericMatrix< MatType >::size(SparsityType sp) const 
->------------------------------------------------------------------------
->
->Get the number if non-zeros for a given sparsity pattern.
--}
-genDMatrix_size :: GenDMatrixClass a => a -> IO Int
-genDMatrix_size x = casADi__GenericMatrix_CasADi__Matrix_double____size (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sizeL" c_CasADi__GenericMatrix_CasADi__Matrix_double____sizeL
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____sizeL
-  :: GenDMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_double____sizeL x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sizeL x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of non-zeros in the lower triangular half.
--}
-genDMatrix_sizeL :: GenDMatrixClass a => a -> IO Int
-genDMatrix_sizeL x = casADi__GenericMatrix_CasADi__Matrix_double____sizeL (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sizeU" c_CasADi__GenericMatrix_CasADi__Matrix_double____sizeU
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____sizeU
-  :: GenDMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_double____sizeU x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sizeU x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of non-zeros in the upper triangular half.
--}
-genDMatrix_sizeU :: GenDMatrixClass a => a -> IO Int
-genDMatrix_sizeU x = casADi__GenericMatrix_CasADi__Matrix_double____sizeU (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sizeD" c_CasADi__GenericMatrix_CasADi__Matrix_double____sizeD
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____sizeD
-  :: GenDMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_double____sizeD x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sizeD x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get get the number of non-zeros on the diagonal.
--}
-genDMatrix_sizeD :: GenDMatrixClass a => a -> IO Int
-genDMatrix_sizeD x = casADi__GenericMatrix_CasADi__Matrix_double____sizeD (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____numel" c_CasADi__GenericMatrix_CasADi__Matrix_double____numel
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____numel
-  :: GenDMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_double____numel x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____numel x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of elements.
--}
-genDMatrix_numel :: GenDMatrixClass a => a -> IO Int
-genDMatrix_numel x = casADi__GenericMatrix_CasADi__Matrix_double____numel (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____size1" c_CasADi__GenericMatrix_CasADi__Matrix_double____size1
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____size1
-  :: GenDMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_double____size1 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____size1 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the first dimension (i.e. number of rows)
--}
-genDMatrix_size1 :: GenDMatrixClass a => a -> IO Int
-genDMatrix_size1 x = casADi__GenericMatrix_CasADi__Matrix_double____size1 (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____size2" c_CasADi__GenericMatrix_CasADi__Matrix_double____size2
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____size2
-  :: GenDMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_double____size2 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____size2 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the second dimension (i.e. number of columns)
--}
-genDMatrix_size2 :: GenDMatrixClass a => a -> IO Int
-genDMatrix_size2 x = casADi__GenericMatrix_CasADi__Matrix_double____size2 (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____size_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____size_TIC
-  :: Ptr GenDMatrix' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____size'
-  :: GenDMatrix -> SparsityType -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_double____size' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____size_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_size' :: GenDMatrixClass a => a -> SparsityType -> IO Int
-genDMatrix_size' x = casADi__GenericMatrix_CasADi__Matrix_double____size' (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____dimString" c_CasADi__GenericMatrix_CasADi__Matrix_double____dimString
-  :: Ptr GenDMatrix' -> IO (Ptr StdString')
-casADi__GenericMatrix_CasADi__Matrix_double____dimString
-  :: GenDMatrix -> IO String
-casADi__GenericMatrix_CasADi__Matrix_double____dimString x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____dimString x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get string representation of dimensions. The representation is (nrow x ncol
->= numel | size)
--}
-genDMatrix_dimString :: GenDMatrixClass a => a -> IO String
-genDMatrix_dimString x = casADi__GenericMatrix_CasADi__Matrix_double____dimString (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____isEmpty" c_CasADi__GenericMatrix_CasADi__Matrix_double____isEmpty
-  :: Ptr GenDMatrix' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____isEmpty
-  :: GenDMatrix -> Bool -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_double____isEmpty x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____isEmpty x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the sparsity is empty, i.e. if one of the dimensions is zero (or
->optionally both dimensions)
--}
-genDMatrix_isEmpty :: GenDMatrixClass a => a -> Bool -> IO Bool
-genDMatrix_isEmpty x = casADi__GenericMatrix_CasADi__Matrix_double____isEmpty (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____isEmpty_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____isEmpty_TIC
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____isEmpty'
-  :: GenDMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_double____isEmpty' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____isEmpty_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_isEmpty' :: GenDMatrixClass a => a -> IO Bool
-genDMatrix_isEmpty' x = casADi__GenericMatrix_CasADi__Matrix_double____isEmpty' (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____isDense" c_CasADi__GenericMatrix_CasADi__Matrix_double____isDense
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____isDense
-  :: GenDMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_double____isDense x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____isDense x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is dense.
--}
-genDMatrix_isDense :: GenDMatrixClass a => a -> IO Bool
-genDMatrix_isDense x = casADi__GenericMatrix_CasADi__Matrix_double____isDense (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____isScalar" c_CasADi__GenericMatrix_CasADi__Matrix_double____isScalar
-  :: Ptr GenDMatrix' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____isScalar
-  :: GenDMatrix -> Bool -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_double____isScalar x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____isScalar x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is scalar.
--}
-genDMatrix_isScalar :: GenDMatrixClass a => a -> Bool -> IO Bool
-genDMatrix_isScalar x = casADi__GenericMatrix_CasADi__Matrix_double____isScalar (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____isScalar_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____isScalar_TIC
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____isScalar'
-  :: GenDMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_double____isScalar' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____isScalar_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_isScalar' :: GenDMatrixClass a => a -> IO Bool
-genDMatrix_isScalar' x = casADi__GenericMatrix_CasADi__Matrix_double____isScalar' (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____isSquare" c_CasADi__GenericMatrix_CasADi__Matrix_double____isSquare
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____isSquare
-  :: GenDMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_double____isSquare x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____isSquare x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is square.
--}
-genDMatrix_isSquare :: GenDMatrixClass a => a -> IO Bool
-genDMatrix_isSquare x = casADi__GenericMatrix_CasADi__Matrix_double____isSquare (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____isVector" c_CasADi__GenericMatrix_CasADi__Matrix_double____isVector
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____isVector
-  :: GenDMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_double____isVector x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____isVector x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is a vector (i.e. size2()==1)
--}
-genDMatrix_isVector :: GenDMatrixClass a => a -> IO Bool
-genDMatrix_isVector x = casADi__GenericMatrix_CasADi__Matrix_double____isVector (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____isTriu" c_CasADi__GenericMatrix_CasADi__Matrix_double____isTriu
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____isTriu
-  :: GenDMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_double____isTriu x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____isTriu x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is upper triangular.
--}
-genDMatrix_isTriu :: GenDMatrixClass a => a -> IO Bool
-genDMatrix_isTriu x = casADi__GenericMatrix_CasADi__Matrix_double____isTriu (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____isTril" c_CasADi__GenericMatrix_CasADi__Matrix_double____isTril
-  :: Ptr GenDMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_double____isTril
-  :: GenDMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_double____isTril x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____isTril x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is lower triangular.
--}
-genDMatrix_isTril :: GenDMatrixClass a => a -> IO Bool
-genDMatrix_isTril x = casADi__GenericMatrix_CasADi__Matrix_double____isTril (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sparsityRef" c_CasADi__GenericMatrix_CasADi__Matrix_double____sparsityRef
-  :: Ptr GenDMatrix' -> IO (Ptr Sparsity')
-casADi__GenericMatrix_CasADi__Matrix_double____sparsityRef
-  :: GenDMatrix -> IO Sparsity
-casADi__GenericMatrix_CasADi__Matrix_double____sparsityRef x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sparsityRef x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access the sparsity, make a copy if there are multiple references to it.
--}
-genDMatrix_sparsityRef :: GenDMatrixClass a => a -> IO Sparsity
-genDMatrix_sparsityRef x = casADi__GenericMatrix_CasADi__Matrix_double____sparsityRef (castGenDMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sym" c_CasADi__GenericMatrix_CasADi__Matrix_double____sym
-  :: Ptr StdString' -> CInt -> CInt -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____sym
-  :: String -> Int -> Int -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____sym x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sym x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  static MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow=1, int ncol=1)
->------------------------------------------------------------------------
->
->Create an nrow-by-ncol symbolic primitive.
->
->>  static MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, const std::pair< int, int > &rc)
->------------------------------------------------------------------------
->
->Construct a symbolic primitive with given dimensions.
->
->>  MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp)
->------------------------------------------------------------------------
->
->Create symbolic primitive with a given sparsity pattern.
->
->>  std::vector< MatType > CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp, int p)
->------------------------------------------------------------------------
->
->Create a vector of length p with with matrices with symbolic primitives of
->given sparsity.
->
->>  static std::vector<MatType > CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow, int ncol, int p)
->------------------------------------------------------------------------
->
->Create a vector of length p with nrow-by-ncol symbolic primitives.
->
->>  std::vector< std::vector< MatType > > CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp, int p, int r)
->------------------------------------------------------------------------
->
->Create a vector of length r of vectors of length p with symbolic primitives
->with given sparsity.
->
->>  static std::vector<std::vector<MatType> > CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow, int ncol, int p, int r)
->------------------------------------------------------------------------
->
->Create a vector of length r of vectors of length p with nrow-by-ncol
->symbolic primitives.
--}
-genDMatrix_sym :: String -> Int -> Int -> IO DMatrix
-genDMatrix_sym = casADi__GenericMatrix_CasADi__Matrix_double____sym
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC
-  :: Ptr StdString' -> CInt -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____sym'
-  :: String -> Int -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____sym' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_sym' :: String -> Int -> IO DMatrix
-genDMatrix_sym' = casADi__GenericMatrix_CasADi__Matrix_double____sym'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC
-  :: Ptr StdString' -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____sym''
-  :: String -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____sym'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_sym'' :: String -> IO DMatrix
-genDMatrix_sym'' = casADi__GenericMatrix_CasADi__Matrix_double____sym''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____sym'''
-  :: String -> Sparsity -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____sym''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_sym''' :: String -> Sparsity -> IO DMatrix
-genDMatrix_sym''' = casADi__GenericMatrix_CasADi__Matrix_double____sym'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> CInt -> IO (Ptr (CppVec (Ptr DMatrix')))
-casADi__GenericMatrix_CasADi__Matrix_double____sym''''
-  :: String -> Sparsity -> Int -> IO (Vector DMatrix)
-casADi__GenericMatrix_CasADi__Matrix_double____sym'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_sym'''' :: String -> Sparsity -> Int -> IO (Vector DMatrix)
-genDMatrix_sym'''' = casADi__GenericMatrix_CasADi__Matrix_double____sym''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr DMatrix')))
-casADi__GenericMatrix_CasADi__Matrix_double____sym'''''
-  :: String -> Int -> Int -> Int -> IO (Vector DMatrix)
-casADi__GenericMatrix_CasADi__Matrix_double____sym''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_sym''''' :: String -> Int -> Int -> Int -> IO (Vector DMatrix)
-genDMatrix_sym''''' = casADi__GenericMatrix_CasADi__Matrix_double____sym'''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))))
-casADi__GenericMatrix_CasADi__Matrix_double____sym''''''
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector DMatrix))
-casADi__GenericMatrix_CasADi__Matrix_double____sym'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_sym'''''' :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector DMatrix))
-genDMatrix_sym'''''' = casADi__GenericMatrix_CasADi__Matrix_double____sym''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))))
-casADi__GenericMatrix_CasADi__Matrix_double____sym'''''''
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector DMatrix))
-casADi__GenericMatrix_CasADi__Matrix_double____sym''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_sym''''''' :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector DMatrix))
-genDMatrix_sym''''''' = casADi__GenericMatrix_CasADi__Matrix_double____sym'''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sparse" c_CasADi__GenericMatrix_CasADi__Matrix_double____sparse
-  :: CInt -> CInt -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____sparse
-  :: Int -> Int -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____sparse x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sparse x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->create a sparse matrix with all zeros
--}
-genDMatrix_sparse :: Int -> Int -> IO DMatrix
-genDMatrix_sparse = casADi__GenericMatrix_CasADi__Matrix_double____sparse
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sparse_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____sparse_TIC
-  :: CInt -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____sparse'
-  :: Int -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____sparse' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sparse_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_sparse' :: Int -> IO DMatrix
-genDMatrix_sparse' = casADi__GenericMatrix_CasADi__Matrix_double____sparse'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____sparse_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____sparse_TIC_TIC
-  :: IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____sparse''
-  :: IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____sparse''  =
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____sparse_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genDMatrix_sparse'' :: IO DMatrix
-genDMatrix_sparse'' = casADi__GenericMatrix_CasADi__Matrix_double____sparse''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____zeros" c_CasADi__GenericMatrix_CasADi__Matrix_double____zeros
-  :: CInt -> CInt -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____zeros
-  :: Int -> Int -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____zeros x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____zeros x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create a dense matrix or a matrix with specified sparsity with all entries
->zero.
--}
-genDMatrix_zeros :: Int -> Int -> IO DMatrix
-genDMatrix_zeros = casADi__GenericMatrix_CasADi__Matrix_double____zeros
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____zeros_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____zeros_TIC
-  :: CInt -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____zeros'
-  :: Int -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____zeros' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____zeros_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_zeros' :: Int -> IO DMatrix
-genDMatrix_zeros' = casADi__GenericMatrix_CasADi__Matrix_double____zeros'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____zeros_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____zeros_TIC_TIC
-  :: IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____zeros''
-  :: IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____zeros''  =
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____zeros_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genDMatrix_zeros'' :: IO DMatrix
-genDMatrix_zeros'' = casADi__GenericMatrix_CasADi__Matrix_double____zeros''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____zeros_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____zeros_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____zeros'''
-  :: Sparsity -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____zeros''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____zeros_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_zeros''' :: Sparsity -> IO DMatrix
-genDMatrix_zeros''' = casADi__GenericMatrix_CasADi__Matrix_double____zeros'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____ones" c_CasADi__GenericMatrix_CasADi__Matrix_double____ones
-  :: CInt -> CInt -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____ones
-  :: Int -> Int -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____ones x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____ones x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create a dense matrix or a matrix with specified sparsity with all entries
->one.
--}
-genDMatrix_ones :: Int -> Int -> IO DMatrix
-genDMatrix_ones = casADi__GenericMatrix_CasADi__Matrix_double____ones
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____ones_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____ones_TIC
-  :: CInt -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____ones'
-  :: Int -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____ones' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____ones_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_ones' :: Int -> IO DMatrix
-genDMatrix_ones' = casADi__GenericMatrix_CasADi__Matrix_double____ones'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____ones_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____ones_TIC_TIC
-  :: IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____ones''
-  :: IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____ones''  =
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____ones_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genDMatrix_ones'' :: IO DMatrix
-genDMatrix_ones'' = casADi__GenericMatrix_CasADi__Matrix_double____ones''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____ones_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_double____ones_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____ones'''
-  :: Sparsity -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____ones''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____ones_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genDMatrix_ones''' :: Sparsity -> IO DMatrix
-genDMatrix_ones''' = casADi__GenericMatrix_CasADi__Matrix_double____ones'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_double____mul_smart" c_CasADi__GenericMatrix_CasADi__Matrix_double____mul_smart
-  :: Ptr GenDMatrix' -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-casADi__GenericMatrix_CasADi__Matrix_double____mul_smart
-  :: GenDMatrix -> DMatrix -> Sparsity -> IO DMatrix
-casADi__GenericMatrix_CasADi__Matrix_double____mul_smart x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_double____mul_smart x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Matrix-matrix multiplication. Attempts to identify quick returns on matrix-
->level and delegates to MatType::mul_full if no such quick returns are found.
--}
-genDMatrix_mul_smart :: GenDMatrixClass a => a -> DMatrix -> Sparsity -> IO DMatrix
-genDMatrix_mul_smart x = casADi__GenericMatrix_CasADi__Matrix_double____mul_smart (castGenDMatrix x)
-
diff --git a/Casadi/Wrappers/Classes/GenIMatrix.hs b/Casadi/Wrappers/Classes/GenIMatrix.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/GenIMatrix.hs
+++ /dev/null
@@ -1,746 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.GenIMatrix
-       (
-         GenIMatrix,
-         GenIMatrixClass(..),
-         genIMatrix_dimString,
-         genIMatrix_isDense,
-         genIMatrix_isEmpty,
-         genIMatrix_isEmpty',
-         genIMatrix_isScalar,
-         genIMatrix_isScalar',
-         genIMatrix_isSquare,
-         genIMatrix_isTril,
-         genIMatrix_isTriu,
-         genIMatrix_isVector,
-         genIMatrix_mul_smart,
-         genIMatrix_numel,
-         genIMatrix_ones,
-         genIMatrix_ones',
-         genIMatrix_ones'',
-         genIMatrix_ones''',
-         genIMatrix_size,
-         genIMatrix_size',
-         genIMatrix_size1,
-         genIMatrix_size2,
-         genIMatrix_sizeD,
-         genIMatrix_sizeL,
-         genIMatrix_sizeU,
-         genIMatrix_sparse,
-         genIMatrix_sparse',
-         genIMatrix_sparse'',
-         genIMatrix_sparsityRef,
-         genIMatrix_sym,
-         genIMatrix_sym',
-         genIMatrix_sym'',
-         genIMatrix_sym''',
-         genIMatrix_sym'''',
-         genIMatrix_sym''''',
-         genIMatrix_sym'''''',
-         genIMatrix_sym''''''',
-         genIMatrix_zeros,
-         genIMatrix_zeros',
-         genIMatrix_zeros'',
-         genIMatrix_zeros''',
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____size" c_CasADi__GenericMatrix_CasADi__Matrix_int____size
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____size
-  :: GenIMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_int____size x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____size x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  int CasADi::GenericMatrix< MatType >::size() const 
->------------------------------------------------------------------------
->
->Get the number of (structural) non-zero elements.
->
->>  int CasADi::GenericMatrix< MatType >::size(SparsityType sp) const 
->------------------------------------------------------------------------
->
->Get the number if non-zeros for a given sparsity pattern.
--}
-genIMatrix_size :: GenIMatrixClass a => a -> IO Int
-genIMatrix_size x = casADi__GenericMatrix_CasADi__Matrix_int____size (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sizeL" c_CasADi__GenericMatrix_CasADi__Matrix_int____sizeL
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____sizeL
-  :: GenIMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_int____sizeL x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sizeL x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of non-zeros in the lower triangular half.
--}
-genIMatrix_sizeL :: GenIMatrixClass a => a -> IO Int
-genIMatrix_sizeL x = casADi__GenericMatrix_CasADi__Matrix_int____sizeL (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sizeU" c_CasADi__GenericMatrix_CasADi__Matrix_int____sizeU
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____sizeU
-  :: GenIMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_int____sizeU x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sizeU x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of non-zeros in the upper triangular half.
--}
-genIMatrix_sizeU :: GenIMatrixClass a => a -> IO Int
-genIMatrix_sizeU x = casADi__GenericMatrix_CasADi__Matrix_int____sizeU (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sizeD" c_CasADi__GenericMatrix_CasADi__Matrix_int____sizeD
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____sizeD
-  :: GenIMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_int____sizeD x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sizeD x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get get the number of non-zeros on the diagonal.
--}
-genIMatrix_sizeD :: GenIMatrixClass a => a -> IO Int
-genIMatrix_sizeD x = casADi__GenericMatrix_CasADi__Matrix_int____sizeD (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____numel" c_CasADi__GenericMatrix_CasADi__Matrix_int____numel
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____numel
-  :: GenIMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_int____numel x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____numel x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of elements.
--}
-genIMatrix_numel :: GenIMatrixClass a => a -> IO Int
-genIMatrix_numel x = casADi__GenericMatrix_CasADi__Matrix_int____numel (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____size1" c_CasADi__GenericMatrix_CasADi__Matrix_int____size1
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____size1
-  :: GenIMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_int____size1 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____size1 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the first dimension (i.e. number of rows)
--}
-genIMatrix_size1 :: GenIMatrixClass a => a -> IO Int
-genIMatrix_size1 x = casADi__GenericMatrix_CasADi__Matrix_int____size1 (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____size2" c_CasADi__GenericMatrix_CasADi__Matrix_int____size2
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____size2
-  :: GenIMatrix -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_int____size2 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____size2 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the second dimension (i.e. number of columns)
--}
-genIMatrix_size2 :: GenIMatrixClass a => a -> IO Int
-genIMatrix_size2 x = casADi__GenericMatrix_CasADi__Matrix_int____size2 (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____size_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____size_TIC
-  :: Ptr GenIMatrix' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____size'
-  :: GenIMatrix -> SparsityType -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_int____size' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____size_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_size' :: GenIMatrixClass a => a -> SparsityType -> IO Int
-genIMatrix_size' x = casADi__GenericMatrix_CasADi__Matrix_int____size' (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____dimString" c_CasADi__GenericMatrix_CasADi__Matrix_int____dimString
-  :: Ptr GenIMatrix' -> IO (Ptr StdString')
-casADi__GenericMatrix_CasADi__Matrix_int____dimString
-  :: GenIMatrix -> IO String
-casADi__GenericMatrix_CasADi__Matrix_int____dimString x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____dimString x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get string representation of dimensions. The representation is (nrow x ncol
->= numel | size)
--}
-genIMatrix_dimString :: GenIMatrixClass a => a -> IO String
-genIMatrix_dimString x = casADi__GenericMatrix_CasADi__Matrix_int____dimString (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____isEmpty" c_CasADi__GenericMatrix_CasADi__Matrix_int____isEmpty
-  :: Ptr GenIMatrix' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____isEmpty
-  :: GenIMatrix -> Bool -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_int____isEmpty x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____isEmpty x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the sparsity is empty, i.e. if one of the dimensions is zero (or
->optionally both dimensions)
--}
-genIMatrix_isEmpty :: GenIMatrixClass a => a -> Bool -> IO Bool
-genIMatrix_isEmpty x = casADi__GenericMatrix_CasADi__Matrix_int____isEmpty (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____isEmpty_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____isEmpty_TIC
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____isEmpty'
-  :: GenIMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_int____isEmpty' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____isEmpty_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_isEmpty' :: GenIMatrixClass a => a -> IO Bool
-genIMatrix_isEmpty' x = casADi__GenericMatrix_CasADi__Matrix_int____isEmpty' (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____isDense" c_CasADi__GenericMatrix_CasADi__Matrix_int____isDense
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____isDense
-  :: GenIMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_int____isDense x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____isDense x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is dense.
--}
-genIMatrix_isDense :: GenIMatrixClass a => a -> IO Bool
-genIMatrix_isDense x = casADi__GenericMatrix_CasADi__Matrix_int____isDense (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____isScalar" c_CasADi__GenericMatrix_CasADi__Matrix_int____isScalar
-  :: Ptr GenIMatrix' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____isScalar
-  :: GenIMatrix -> Bool -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_int____isScalar x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____isScalar x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is scalar.
--}
-genIMatrix_isScalar :: GenIMatrixClass a => a -> Bool -> IO Bool
-genIMatrix_isScalar x = casADi__GenericMatrix_CasADi__Matrix_int____isScalar (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____isScalar_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____isScalar_TIC
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____isScalar'
-  :: GenIMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_int____isScalar' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____isScalar_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_isScalar' :: GenIMatrixClass a => a -> IO Bool
-genIMatrix_isScalar' x = casADi__GenericMatrix_CasADi__Matrix_int____isScalar' (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____isSquare" c_CasADi__GenericMatrix_CasADi__Matrix_int____isSquare
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____isSquare
-  :: GenIMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_int____isSquare x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____isSquare x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is square.
--}
-genIMatrix_isSquare :: GenIMatrixClass a => a -> IO Bool
-genIMatrix_isSquare x = casADi__GenericMatrix_CasADi__Matrix_int____isSquare (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____isVector" c_CasADi__GenericMatrix_CasADi__Matrix_int____isVector
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____isVector
-  :: GenIMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_int____isVector x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____isVector x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is a vector (i.e. size2()==1)
--}
-genIMatrix_isVector :: GenIMatrixClass a => a -> IO Bool
-genIMatrix_isVector x = casADi__GenericMatrix_CasADi__Matrix_int____isVector (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____isTriu" c_CasADi__GenericMatrix_CasADi__Matrix_int____isTriu
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____isTriu
-  :: GenIMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_int____isTriu x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____isTriu x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is upper triangular.
--}
-genIMatrix_isTriu :: GenIMatrixClass a => a -> IO Bool
-genIMatrix_isTriu x = casADi__GenericMatrix_CasADi__Matrix_int____isTriu (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____isTril" c_CasADi__GenericMatrix_CasADi__Matrix_int____isTril
-  :: Ptr GenIMatrix' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_int____isTril
-  :: GenIMatrix -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_int____isTril x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____isTril x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is lower triangular.
--}
-genIMatrix_isTril :: GenIMatrixClass a => a -> IO Bool
-genIMatrix_isTril x = casADi__GenericMatrix_CasADi__Matrix_int____isTril (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sparsityRef" c_CasADi__GenericMatrix_CasADi__Matrix_int____sparsityRef
-  :: Ptr GenIMatrix' -> IO (Ptr Sparsity')
-casADi__GenericMatrix_CasADi__Matrix_int____sparsityRef
-  :: GenIMatrix -> IO Sparsity
-casADi__GenericMatrix_CasADi__Matrix_int____sparsityRef x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sparsityRef x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access the sparsity, make a copy if there are multiple references to it.
--}
-genIMatrix_sparsityRef :: GenIMatrixClass a => a -> IO Sparsity
-genIMatrix_sparsityRef x = casADi__GenericMatrix_CasADi__Matrix_int____sparsityRef (castGenIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sym" c_CasADi__GenericMatrix_CasADi__Matrix_int____sym
-  :: Ptr StdString' -> CInt -> CInt -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____sym
-  :: String -> Int -> Int -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____sym x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sym x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  static MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow=1, int ncol=1)
->------------------------------------------------------------------------
->
->Create an nrow-by-ncol symbolic primitive.
->
->>  static MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, const std::pair< int, int > &rc)
->------------------------------------------------------------------------
->
->Construct a symbolic primitive with given dimensions.
->
->>  MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp)
->------------------------------------------------------------------------
->
->Create symbolic primitive with a given sparsity pattern.
->
->>  std::vector< MatType > CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp, int p)
->------------------------------------------------------------------------
->
->Create a vector of length p with with matrices with symbolic primitives of
->given sparsity.
->
->>  static std::vector<MatType > CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow, int ncol, int p)
->------------------------------------------------------------------------
->
->Create a vector of length p with nrow-by-ncol symbolic primitives.
->
->>  std::vector< std::vector< MatType > > CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp, int p, int r)
->------------------------------------------------------------------------
->
->Create a vector of length r of vectors of length p with symbolic primitives
->with given sparsity.
->
->>  static std::vector<std::vector<MatType> > CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow, int ncol, int p, int r)
->------------------------------------------------------------------------
->
->Create a vector of length r of vectors of length p with nrow-by-ncol
->symbolic primitives.
--}
-genIMatrix_sym :: String -> Int -> Int -> IO IMatrix
-genIMatrix_sym = casADi__GenericMatrix_CasADi__Matrix_int____sym
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC
-  :: Ptr StdString' -> CInt -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____sym'
-  :: String -> Int -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____sym' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_sym' :: String -> Int -> IO IMatrix
-genIMatrix_sym' = casADi__GenericMatrix_CasADi__Matrix_int____sym'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC
-  :: Ptr StdString' -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____sym''
-  :: String -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____sym'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_sym'' :: String -> IO IMatrix
-genIMatrix_sym'' = casADi__GenericMatrix_CasADi__Matrix_int____sym''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____sym'''
-  :: String -> Sparsity -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____sym''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_sym''' :: String -> Sparsity -> IO IMatrix
-genIMatrix_sym''' = casADi__GenericMatrix_CasADi__Matrix_int____sym'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> CInt -> IO (Ptr (CppVec (Ptr IMatrix')))
-casADi__GenericMatrix_CasADi__Matrix_int____sym''''
-  :: String -> Sparsity -> Int -> IO (Vector IMatrix)
-casADi__GenericMatrix_CasADi__Matrix_int____sym'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_sym'''' :: String -> Sparsity -> Int -> IO (Vector IMatrix)
-genIMatrix_sym'''' = casADi__GenericMatrix_CasADi__Matrix_int____sym''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr IMatrix')))
-casADi__GenericMatrix_CasADi__Matrix_int____sym'''''
-  :: String -> Int -> Int -> Int -> IO (Vector IMatrix)
-casADi__GenericMatrix_CasADi__Matrix_int____sym''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_sym''''' :: String -> Int -> Int -> Int -> IO (Vector IMatrix)
-genIMatrix_sym''''' = casADi__GenericMatrix_CasADi__Matrix_int____sym'''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr IMatrix')))))
-casADi__GenericMatrix_CasADi__Matrix_int____sym''''''
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector IMatrix))
-casADi__GenericMatrix_CasADi__Matrix_int____sym'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_sym'''''' :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector IMatrix))
-genIMatrix_sym'''''' = casADi__GenericMatrix_CasADi__Matrix_int____sym''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr IMatrix')))))
-casADi__GenericMatrix_CasADi__Matrix_int____sym'''''''
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector IMatrix))
-casADi__GenericMatrix_CasADi__Matrix_int____sym''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_sym''''''' :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector IMatrix))
-genIMatrix_sym''''''' = casADi__GenericMatrix_CasADi__Matrix_int____sym'''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sparse" c_CasADi__GenericMatrix_CasADi__Matrix_int____sparse
-  :: CInt -> CInt -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____sparse
-  :: Int -> Int -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____sparse x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sparse x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->create a sparse matrix with all zeros
--}
-genIMatrix_sparse :: Int -> Int -> IO IMatrix
-genIMatrix_sparse = casADi__GenericMatrix_CasADi__Matrix_int____sparse
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sparse_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____sparse_TIC
-  :: CInt -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____sparse'
-  :: Int -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____sparse' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sparse_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_sparse' :: Int -> IO IMatrix
-genIMatrix_sparse' = casADi__GenericMatrix_CasADi__Matrix_int____sparse'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____sparse_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____sparse_TIC_TIC
-  :: IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____sparse''
-  :: IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____sparse''  =
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____sparse_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genIMatrix_sparse'' :: IO IMatrix
-genIMatrix_sparse'' = casADi__GenericMatrix_CasADi__Matrix_int____sparse''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____zeros" c_CasADi__GenericMatrix_CasADi__Matrix_int____zeros
-  :: CInt -> CInt -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____zeros
-  :: Int -> Int -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____zeros x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____zeros x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create a dense matrix or a matrix with specified sparsity with all entries
->zero.
--}
-genIMatrix_zeros :: Int -> Int -> IO IMatrix
-genIMatrix_zeros = casADi__GenericMatrix_CasADi__Matrix_int____zeros
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____zeros_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____zeros_TIC
-  :: CInt -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____zeros'
-  :: Int -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____zeros' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____zeros_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_zeros' :: Int -> IO IMatrix
-genIMatrix_zeros' = casADi__GenericMatrix_CasADi__Matrix_int____zeros'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____zeros_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____zeros_TIC_TIC
-  :: IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____zeros''
-  :: IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____zeros''  =
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____zeros_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genIMatrix_zeros'' :: IO IMatrix
-genIMatrix_zeros'' = casADi__GenericMatrix_CasADi__Matrix_int____zeros''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____zeros_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____zeros_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____zeros'''
-  :: Sparsity -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____zeros''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____zeros_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_zeros''' :: Sparsity -> IO IMatrix
-genIMatrix_zeros''' = casADi__GenericMatrix_CasADi__Matrix_int____zeros'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____ones" c_CasADi__GenericMatrix_CasADi__Matrix_int____ones
-  :: CInt -> CInt -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____ones
-  :: Int -> Int -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____ones x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____ones x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create a dense matrix or a matrix with specified sparsity with all entries
->one.
--}
-genIMatrix_ones :: Int -> Int -> IO IMatrix
-genIMatrix_ones = casADi__GenericMatrix_CasADi__Matrix_int____ones
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____ones_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____ones_TIC
-  :: CInt -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____ones'
-  :: Int -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____ones' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____ones_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_ones' :: Int -> IO IMatrix
-genIMatrix_ones' = casADi__GenericMatrix_CasADi__Matrix_int____ones'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____ones_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____ones_TIC_TIC
-  :: IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____ones''
-  :: IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____ones''  =
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____ones_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genIMatrix_ones'' :: IO IMatrix
-genIMatrix_ones'' = casADi__GenericMatrix_CasADi__Matrix_int____ones''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____ones_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_int____ones_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____ones'''
-  :: Sparsity -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____ones''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____ones_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genIMatrix_ones''' :: Sparsity -> IO IMatrix
-genIMatrix_ones''' = casADi__GenericMatrix_CasADi__Matrix_int____ones'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_int____mul_smart" c_CasADi__GenericMatrix_CasADi__Matrix_int____mul_smart
-  :: Ptr GenIMatrix' -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__GenericMatrix_CasADi__Matrix_int____mul_smart
-  :: GenIMatrix -> IMatrix -> Sparsity -> IO IMatrix
-casADi__GenericMatrix_CasADi__Matrix_int____mul_smart x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_int____mul_smart x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Matrix-matrix multiplication. Attempts to identify quick returns on matrix-
->level and delegates to MatType::mul_full if no such quick returns are found.
--}
-genIMatrix_mul_smart :: GenIMatrixClass a => a -> IMatrix -> Sparsity -> IO IMatrix
-genIMatrix_mul_smart x = casADi__GenericMatrix_CasADi__Matrix_int____mul_smart (castGenIMatrix x)
-
diff --git a/Casadi/Wrappers/Classes/GenMX.hs b/Casadi/Wrappers/Classes/GenMX.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/GenMX.hs
+++ /dev/null
@@ -1,746 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.GenMX
-       (
-         GenMX,
-         GenMXClass(..),
-         genMX_dimString,
-         genMX_isDense,
-         genMX_isEmpty,
-         genMX_isEmpty',
-         genMX_isScalar,
-         genMX_isScalar',
-         genMX_isSquare,
-         genMX_isTril,
-         genMX_isTriu,
-         genMX_isVector,
-         genMX_mul_smart,
-         genMX_numel,
-         genMX_ones,
-         genMX_ones',
-         genMX_ones'',
-         genMX_ones''',
-         genMX_size,
-         genMX_size',
-         genMX_size1,
-         genMX_size2,
-         genMX_sizeD,
-         genMX_sizeL,
-         genMX_sizeU,
-         genMX_sparse,
-         genMX_sparse',
-         genMX_sparse'',
-         genMX_sparsityRef,
-         genMX_sym,
-         genMX_sym',
-         genMX_sym'',
-         genMX_sym''',
-         genMX_sym'''',
-         genMX_sym''''',
-         genMX_sym'''''',
-         genMX_sym''''''',
-         genMX_zeros,
-         genMX_zeros',
-         genMX_zeros'',
-         genMX_zeros''',
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___size" c_CasADi__GenericMatrix_CasADi__MX___size
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___size
-  :: GenMX -> IO Int
-casADi__GenericMatrix_CasADi__MX___size x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___size x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  int CasADi::GenericMatrix< MatType >::size() const 
->------------------------------------------------------------------------
->
->Get the number of (structural) non-zero elements.
->
->>  int CasADi::GenericMatrix< MatType >::size(SparsityType sp) const 
->------------------------------------------------------------------------
->
->Get the number if non-zeros for a given sparsity pattern.
--}
-genMX_size :: GenMXClass a => a -> IO Int
-genMX_size x = casADi__GenericMatrix_CasADi__MX___size (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sizeL" c_CasADi__GenericMatrix_CasADi__MX___sizeL
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___sizeL
-  :: GenMX -> IO Int
-casADi__GenericMatrix_CasADi__MX___sizeL x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sizeL x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of non-zeros in the lower triangular half.
--}
-genMX_sizeL :: GenMXClass a => a -> IO Int
-genMX_sizeL x = casADi__GenericMatrix_CasADi__MX___sizeL (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sizeU" c_CasADi__GenericMatrix_CasADi__MX___sizeU
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___sizeU
-  :: GenMX -> IO Int
-casADi__GenericMatrix_CasADi__MX___sizeU x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sizeU x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of non-zeros in the upper triangular half.
--}
-genMX_sizeU :: GenMXClass a => a -> IO Int
-genMX_sizeU x = casADi__GenericMatrix_CasADi__MX___sizeU (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sizeD" c_CasADi__GenericMatrix_CasADi__MX___sizeD
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___sizeD
-  :: GenMX -> IO Int
-casADi__GenericMatrix_CasADi__MX___sizeD x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sizeD x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get get the number of non-zeros on the diagonal.
--}
-genMX_sizeD :: GenMXClass a => a -> IO Int
-genMX_sizeD x = casADi__GenericMatrix_CasADi__MX___sizeD (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___numel" c_CasADi__GenericMatrix_CasADi__MX___numel
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___numel
-  :: GenMX -> IO Int
-casADi__GenericMatrix_CasADi__MX___numel x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___numel x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of elements.
--}
-genMX_numel :: GenMXClass a => a -> IO Int
-genMX_numel x = casADi__GenericMatrix_CasADi__MX___numel (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___size1" c_CasADi__GenericMatrix_CasADi__MX___size1
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___size1
-  :: GenMX -> IO Int
-casADi__GenericMatrix_CasADi__MX___size1 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___size1 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the first dimension (i.e. number of rows)
--}
-genMX_size1 :: GenMXClass a => a -> IO Int
-genMX_size1 x = casADi__GenericMatrix_CasADi__MX___size1 (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___size2" c_CasADi__GenericMatrix_CasADi__MX___size2
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___size2
-  :: GenMX -> IO Int
-casADi__GenericMatrix_CasADi__MX___size2 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___size2 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the second dimension (i.e. number of columns)
--}
-genMX_size2 :: GenMXClass a => a -> IO Int
-genMX_size2 x = casADi__GenericMatrix_CasADi__MX___size2 (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___size_TIC" c_CasADi__GenericMatrix_CasADi__MX___size_TIC
-  :: Ptr GenMX' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__MX___size'
-  :: GenMX -> SparsityType -> IO Int
-casADi__GenericMatrix_CasADi__MX___size' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__MX___size_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genMX_size' :: GenMXClass a => a -> SparsityType -> IO Int
-genMX_size' x = casADi__GenericMatrix_CasADi__MX___size' (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___dimString" c_CasADi__GenericMatrix_CasADi__MX___dimString
-  :: Ptr GenMX' -> IO (Ptr StdString')
-casADi__GenericMatrix_CasADi__MX___dimString
-  :: GenMX -> IO String
-casADi__GenericMatrix_CasADi__MX___dimString x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___dimString x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get string representation of dimensions. The representation is (nrow x ncol
->= numel | size)
--}
-genMX_dimString :: GenMXClass a => a -> IO String
-genMX_dimString x = casADi__GenericMatrix_CasADi__MX___dimString (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___isEmpty" c_CasADi__GenericMatrix_CasADi__MX___isEmpty
-  :: Ptr GenMX' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__MX___isEmpty
-  :: GenMX -> Bool -> IO Bool
-casADi__GenericMatrix_CasADi__MX___isEmpty x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__MX___isEmpty x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the sparsity is empty, i.e. if one of the dimensions is zero (or
->optionally both dimensions)
--}
-genMX_isEmpty :: GenMXClass a => a -> Bool -> IO Bool
-genMX_isEmpty x = casADi__GenericMatrix_CasADi__MX___isEmpty (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___isEmpty_TIC" c_CasADi__GenericMatrix_CasADi__MX___isEmpty_TIC
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___isEmpty'
-  :: GenMX -> IO Bool
-casADi__GenericMatrix_CasADi__MX___isEmpty' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___isEmpty_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genMX_isEmpty' :: GenMXClass a => a -> IO Bool
-genMX_isEmpty' x = casADi__GenericMatrix_CasADi__MX___isEmpty' (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___isDense" c_CasADi__GenericMatrix_CasADi__MX___isDense
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___isDense
-  :: GenMX -> IO Bool
-casADi__GenericMatrix_CasADi__MX___isDense x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___isDense x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is dense.
--}
-genMX_isDense :: GenMXClass a => a -> IO Bool
-genMX_isDense x = casADi__GenericMatrix_CasADi__MX___isDense (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___isScalar" c_CasADi__GenericMatrix_CasADi__MX___isScalar
-  :: Ptr GenMX' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__MX___isScalar
-  :: GenMX -> Bool -> IO Bool
-casADi__GenericMatrix_CasADi__MX___isScalar x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__MX___isScalar x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is scalar.
--}
-genMX_isScalar :: GenMXClass a => a -> Bool -> IO Bool
-genMX_isScalar x = casADi__GenericMatrix_CasADi__MX___isScalar (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___isScalar_TIC" c_CasADi__GenericMatrix_CasADi__MX___isScalar_TIC
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___isScalar'
-  :: GenMX -> IO Bool
-casADi__GenericMatrix_CasADi__MX___isScalar' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___isScalar_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genMX_isScalar' :: GenMXClass a => a -> IO Bool
-genMX_isScalar' x = casADi__GenericMatrix_CasADi__MX___isScalar' (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___isSquare" c_CasADi__GenericMatrix_CasADi__MX___isSquare
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___isSquare
-  :: GenMX -> IO Bool
-casADi__GenericMatrix_CasADi__MX___isSquare x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___isSquare x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is square.
--}
-genMX_isSquare :: GenMXClass a => a -> IO Bool
-genMX_isSquare x = casADi__GenericMatrix_CasADi__MX___isSquare (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___isVector" c_CasADi__GenericMatrix_CasADi__MX___isVector
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___isVector
-  :: GenMX -> IO Bool
-casADi__GenericMatrix_CasADi__MX___isVector x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___isVector x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is a vector (i.e. size2()==1)
--}
-genMX_isVector :: GenMXClass a => a -> IO Bool
-genMX_isVector x = casADi__GenericMatrix_CasADi__MX___isVector (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___isTriu" c_CasADi__GenericMatrix_CasADi__MX___isTriu
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___isTriu
-  :: GenMX -> IO Bool
-casADi__GenericMatrix_CasADi__MX___isTriu x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___isTriu x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is upper triangular.
--}
-genMX_isTriu :: GenMXClass a => a -> IO Bool
-genMX_isTriu x = casADi__GenericMatrix_CasADi__MX___isTriu (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___isTril" c_CasADi__GenericMatrix_CasADi__MX___isTril
-  :: Ptr GenMX' -> IO CInt
-casADi__GenericMatrix_CasADi__MX___isTril
-  :: GenMX -> IO Bool
-casADi__GenericMatrix_CasADi__MX___isTril x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___isTril x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is lower triangular.
--}
-genMX_isTril :: GenMXClass a => a -> IO Bool
-genMX_isTril x = casADi__GenericMatrix_CasADi__MX___isTril (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sparsityRef" c_CasADi__GenericMatrix_CasADi__MX___sparsityRef
-  :: Ptr GenMX' -> IO (Ptr Sparsity')
-casADi__GenericMatrix_CasADi__MX___sparsityRef
-  :: GenMX -> IO Sparsity
-casADi__GenericMatrix_CasADi__MX___sparsityRef x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sparsityRef x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access the sparsity, make a copy if there are multiple references to it.
--}
-genMX_sparsityRef :: GenMXClass a => a -> IO Sparsity
-genMX_sparsityRef x = casADi__GenericMatrix_CasADi__MX___sparsityRef (castGenMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sym" c_CasADi__GenericMatrix_CasADi__MX___sym
-  :: Ptr StdString' -> CInt -> CInt -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___sym
-  :: String -> Int -> Int -> IO MX
-casADi__GenericMatrix_CasADi__MX___sym x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sym x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  static MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow=1, int ncol=1)
->------------------------------------------------------------------------
->
->Create an nrow-by-ncol symbolic primitive.
->
->>  static MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, const std::pair< int, int > &rc)
->------------------------------------------------------------------------
->
->Construct a symbolic primitive with given dimensions.
->
->>  MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp)
->------------------------------------------------------------------------
->
->Create symbolic primitive with a given sparsity pattern.
->
->>  std::vector< MatType > CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp, int p)
->------------------------------------------------------------------------
->
->Create a vector of length p with with matrices with symbolic primitives of
->given sparsity.
->
->>  static std::vector<MatType > CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow, int ncol, int p)
->------------------------------------------------------------------------
->
->Create a vector of length p with nrow-by-ncol symbolic primitives.
->
->>  std::vector< std::vector< MatType > > CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp, int p, int r)
->------------------------------------------------------------------------
->
->Create a vector of length r of vectors of length p with symbolic primitives
->with given sparsity.
->
->>  static std::vector<std::vector<MatType> > CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow, int ncol, int p, int r)
->------------------------------------------------------------------------
->
->Create a vector of length r of vectors of length p with nrow-by-ncol
->symbolic primitives.
--}
-genMX_sym :: String -> Int -> Int -> IO MX
-genMX_sym = casADi__GenericMatrix_CasADi__MX___sym
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sym_TIC" c_CasADi__GenericMatrix_CasADi__MX___sym_TIC
-  :: Ptr StdString' -> CInt -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___sym'
-  :: String -> Int -> IO MX
-casADi__GenericMatrix_CasADi__MX___sym' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sym_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genMX_sym' :: String -> Int -> IO MX
-genMX_sym' = casADi__GenericMatrix_CasADi__MX___sym'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC" c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC
-  :: Ptr StdString' -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___sym''
-  :: String -> IO MX
-casADi__GenericMatrix_CasADi__MX___sym'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genMX_sym'' :: String -> IO MX
-genMX_sym'' = casADi__GenericMatrix_CasADi__MX___sym''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___sym'''
-  :: String -> Sparsity -> IO MX
-casADi__GenericMatrix_CasADi__MX___sym''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genMX_sym''' :: String -> Sparsity -> IO MX
-genMX_sym''' = casADi__GenericMatrix_CasADi__MX___sym'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> CInt -> IO (Ptr (CppVec (Ptr MX')))
-casADi__GenericMatrix_CasADi__MX___sym''''
-  :: String -> Sparsity -> Int -> IO (Vector MX)
-casADi__GenericMatrix_CasADi__MX___sym'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-genMX_sym'''' :: String -> Sparsity -> Int -> IO (Vector MX)
-genMX_sym'''' = casADi__GenericMatrix_CasADi__MX___sym''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr MX')))
-casADi__GenericMatrix_CasADi__MX___sym'''''
-  :: String -> Int -> Int -> Int -> IO (Vector MX)
-casADi__GenericMatrix_CasADi__MX___sym''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-genMX_sym''''' :: String -> Int -> Int -> Int -> IO (Vector MX)
-genMX_sym''''' = casADi__GenericMatrix_CasADi__MX___sym'''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr MX')))))
-casADi__GenericMatrix_CasADi__MX___sym''''''
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector MX))
-casADi__GenericMatrix_CasADi__MX___sym'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-genMX_sym'''''' :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector MX))
-genMX_sym'''''' = casADi__GenericMatrix_CasADi__MX___sym''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr MX')))))
-casADi__GenericMatrix_CasADi__MX___sym'''''''
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector MX))
-casADi__GenericMatrix_CasADi__MX___sym''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-genMX_sym''''''' :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector MX))
-genMX_sym''''''' = casADi__GenericMatrix_CasADi__MX___sym'''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sparse" c_CasADi__GenericMatrix_CasADi__MX___sparse
-  :: CInt -> CInt -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___sparse
-  :: Int -> Int -> IO MX
-casADi__GenericMatrix_CasADi__MX___sparse x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sparse x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->create a sparse matrix with all zeros
--}
-genMX_sparse :: Int -> Int -> IO MX
-genMX_sparse = casADi__GenericMatrix_CasADi__MX___sparse
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sparse_TIC" c_CasADi__GenericMatrix_CasADi__MX___sparse_TIC
-  :: CInt -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___sparse'
-  :: Int -> IO MX
-casADi__GenericMatrix_CasADi__MX___sparse' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___sparse_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genMX_sparse' :: Int -> IO MX
-genMX_sparse' = casADi__GenericMatrix_CasADi__MX___sparse'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___sparse_TIC_TIC" c_CasADi__GenericMatrix_CasADi__MX___sparse_TIC_TIC
-  :: IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___sparse''
-  :: IO MX
-casADi__GenericMatrix_CasADi__MX___sparse''  =
-  c_CasADi__GenericMatrix_CasADi__MX___sparse_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genMX_sparse'' :: IO MX
-genMX_sparse'' = casADi__GenericMatrix_CasADi__MX___sparse''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___zeros" c_CasADi__GenericMatrix_CasADi__MX___zeros
-  :: CInt -> CInt -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___zeros
-  :: Int -> Int -> IO MX
-casADi__GenericMatrix_CasADi__MX___zeros x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__MX___zeros x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create a dense matrix or a matrix with specified sparsity with all entries
->zero.
--}
-genMX_zeros :: Int -> Int -> IO MX
-genMX_zeros = casADi__GenericMatrix_CasADi__MX___zeros
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___zeros_TIC" c_CasADi__GenericMatrix_CasADi__MX___zeros_TIC
-  :: CInt -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___zeros'
-  :: Int -> IO MX
-casADi__GenericMatrix_CasADi__MX___zeros' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___zeros_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genMX_zeros' :: Int -> IO MX
-genMX_zeros' = casADi__GenericMatrix_CasADi__MX___zeros'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___zeros_TIC_TIC" c_CasADi__GenericMatrix_CasADi__MX___zeros_TIC_TIC
-  :: IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___zeros''
-  :: IO MX
-casADi__GenericMatrix_CasADi__MX___zeros''  =
-  c_CasADi__GenericMatrix_CasADi__MX___zeros_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genMX_zeros'' :: IO MX
-genMX_zeros'' = casADi__GenericMatrix_CasADi__MX___zeros''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___zeros_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__MX___zeros_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___zeros'''
-  :: Sparsity -> IO MX
-casADi__GenericMatrix_CasADi__MX___zeros''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___zeros_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genMX_zeros''' :: Sparsity -> IO MX
-genMX_zeros''' = casADi__GenericMatrix_CasADi__MX___zeros'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___ones" c_CasADi__GenericMatrix_CasADi__MX___ones
-  :: CInt -> CInt -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___ones
-  :: Int -> Int -> IO MX
-casADi__GenericMatrix_CasADi__MX___ones x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__MX___ones x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create a dense matrix or a matrix with specified sparsity with all entries
->one.
--}
-genMX_ones :: Int -> Int -> IO MX
-genMX_ones = casADi__GenericMatrix_CasADi__MX___ones
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___ones_TIC" c_CasADi__GenericMatrix_CasADi__MX___ones_TIC
-  :: CInt -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___ones'
-  :: Int -> IO MX
-casADi__GenericMatrix_CasADi__MX___ones' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___ones_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genMX_ones' :: Int -> IO MX
-genMX_ones' = casADi__GenericMatrix_CasADi__MX___ones'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___ones_TIC_TIC" c_CasADi__GenericMatrix_CasADi__MX___ones_TIC_TIC
-  :: IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___ones''
-  :: IO MX
-casADi__GenericMatrix_CasADi__MX___ones''  =
-  c_CasADi__GenericMatrix_CasADi__MX___ones_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genMX_ones'' :: IO MX
-genMX_ones'' = casADi__GenericMatrix_CasADi__MX___ones''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___ones_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__MX___ones_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___ones'''
-  :: Sparsity -> IO MX
-casADi__GenericMatrix_CasADi__MX___ones''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__MX___ones_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genMX_ones''' :: Sparsity -> IO MX
-genMX_ones''' = casADi__GenericMatrix_CasADi__MX___ones'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__MX___mul_smart" c_CasADi__GenericMatrix_CasADi__MX___mul_smart
-  :: Ptr GenMX' -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casADi__GenericMatrix_CasADi__MX___mul_smart
-  :: GenMX -> MX -> Sparsity -> IO MX
-casADi__GenericMatrix_CasADi__MX___mul_smart x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__MX___mul_smart x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Matrix-matrix multiplication. Attempts to identify quick returns on matrix-
->level and delegates to MatType::mul_full if no such quick returns are found.
--}
-genMX_mul_smart :: GenMXClass a => a -> MX -> Sparsity -> IO MX
-genMX_mul_smart x = casADi__GenericMatrix_CasADi__MX___mul_smart (castGenMX x)
-
diff --git a/Casadi/Wrappers/Classes/GenSX.hs b/Casadi/Wrappers/Classes/GenSX.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/GenSX.hs
+++ /dev/null
@@ -1,746 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.GenSX
-       (
-         GenSX,
-         GenSXClass(..),
-         genSX_dimString,
-         genSX_isDense,
-         genSX_isEmpty,
-         genSX_isEmpty',
-         genSX_isScalar,
-         genSX_isScalar',
-         genSX_isSquare,
-         genSX_isTril,
-         genSX_isTriu,
-         genSX_isVector,
-         genSX_mul_smart,
-         genSX_numel,
-         genSX_ones,
-         genSX_ones',
-         genSX_ones'',
-         genSX_ones''',
-         genSX_size,
-         genSX_size',
-         genSX_size1,
-         genSX_size2,
-         genSX_sizeD,
-         genSX_sizeL,
-         genSX_sizeU,
-         genSX_sparse,
-         genSX_sparse',
-         genSX_sparse'',
-         genSX_sparsityRef,
-         genSX_sym,
-         genSX_sym',
-         genSX_sym'',
-         genSX_sym''',
-         genSX_sym'''',
-         genSX_sym''''',
-         genSX_sym'''''',
-         genSX_sym''''''',
-         genSX_zeros,
-         genSX_zeros',
-         genSX_zeros'',
-         genSX_zeros''',
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size
-  :: GenSX -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  int CasADi::GenericMatrix< MatType >::size() const 
->------------------------------------------------------------------------
->
->Get the number of (structural) non-zero elements.
->
->>  int CasADi::GenericMatrix< MatType >::size(SparsityType sp) const 
->------------------------------------------------------------------------
->
->Get the number if non-zeros for a given sparsity pattern.
--}
-genSX_size :: GenSXClass a => a -> IO Int
-genSX_size x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeL" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeL
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeL
-  :: GenSX -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeL x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeL x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of non-zeros in the lower triangular half.
--}
-genSX_sizeL :: GenSXClass a => a -> IO Int
-genSX_sizeL x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeL (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeU" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeU
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeU
-  :: GenSX -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeU x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeU x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of non-zeros in the upper triangular half.
--}
-genSX_sizeU :: GenSXClass a => a -> IO Int
-genSX_sizeU x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeU (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeD" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeD
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeD
-  :: GenSX -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeD x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeD x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get get the number of non-zeros on the diagonal.
--}
-genSX_sizeD :: GenSXClass a => a -> IO Int
-genSX_sizeD x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sizeD (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____numel" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____numel
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____numel
-  :: GenSX -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____numel x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____numel x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of elements.
--}
-genSX_numel :: GenSXClass a => a -> IO Int
-genSX_numel x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____numel (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size1" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size1
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size1
-  :: GenSX -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size1 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size1 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the first dimension (i.e. number of rows)
--}
-genSX_size1 :: GenSXClass a => a -> IO Int
-genSX_size1 x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size1 (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size2" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size2
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size2
-  :: GenSX -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size2 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size2 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the second dimension (i.e. number of columns)
--}
-genSX_size2 :: GenSXClass a => a -> IO Int
-genSX_size2 x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size2 (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size_TIC
-  :: Ptr GenSX' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size'
-  :: GenSX -> SparsityType -> IO Int
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genSX_size' :: GenSXClass a => a -> SparsityType -> IO Int
-genSX_size' x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____size' (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____dimString" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____dimString
-  :: Ptr GenSX' -> IO (Ptr StdString')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____dimString
-  :: GenSX -> IO String
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____dimString x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____dimString x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get string representation of dimensions. The representation is (nrow x ncol
->= numel | size)
--}
-genSX_dimString :: GenSXClass a => a -> IO String
-genSX_dimString x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____dimString (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty
-  :: Ptr GenSX' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty
-  :: GenSX -> Bool -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the sparsity is empty, i.e. if one of the dimensions is zero (or
->optionally both dimensions)
--}
-genSX_isEmpty :: GenSXClass a => a -> Bool -> IO Bool
-genSX_isEmpty x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty_TIC
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty'
-  :: GenSX -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genSX_isEmpty' :: GenSXClass a => a -> IO Bool
-genSX_isEmpty' x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isEmpty' (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isDense" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isDense
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isDense
-  :: GenSX -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isDense x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isDense x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is dense.
--}
-genSX_isDense :: GenSXClass a => a -> IO Bool
-genSX_isDense x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isDense (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar
-  :: Ptr GenSX' -> CInt -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar
-  :: GenSX -> Bool -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is scalar.
--}
-genSX_isScalar :: GenSXClass a => a -> Bool -> IO Bool
-genSX_isScalar x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar_TIC
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar'
-  :: GenSX -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genSX_isScalar' :: GenSXClass a => a -> IO Bool
-genSX_isScalar' x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isScalar' (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isSquare" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isSquare
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isSquare
-  :: GenSX -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isSquare x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isSquare x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix expression is square.
--}
-genSX_isSquare :: GenSXClass a => a -> IO Bool
-genSX_isSquare x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isSquare (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isVector" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isVector
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isVector
-  :: GenSX -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isVector x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isVector x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is a vector (i.e. size2()==1)
--}
-genSX_isVector :: GenSXClass a => a -> IO Bool
-genSX_isVector x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isVector (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTriu" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTriu
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTriu
-  :: GenSX -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTriu x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTriu x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is upper triangular.
--}
-genSX_isTriu :: GenSXClass a => a -> IO Bool
-genSX_isTriu x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTriu (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTril" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTril
-  :: Ptr GenSX' -> IO CInt
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTril
-  :: GenSX -> IO Bool
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTril x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTril x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the matrix is lower triangular.
--}
-genSX_isTril :: GenSXClass a => a -> IO Bool
-genSX_isTril x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____isTril (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparsityRef" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparsityRef
-  :: Ptr GenSX' -> IO (Ptr Sparsity')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparsityRef
-  :: GenSX -> IO Sparsity
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparsityRef x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparsityRef x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access the sparsity, make a copy if there are multiple references to it.
--}
-genSX_sparsityRef :: GenSXClass a => a -> IO Sparsity
-genSX_sparsityRef x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparsityRef (castGenSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym
-  :: Ptr StdString' -> CInt -> CInt -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym
-  :: String -> Int -> Int -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  static MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow=1, int ncol=1)
->------------------------------------------------------------------------
->
->Create an nrow-by-ncol symbolic primitive.
->
->>  static MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, const std::pair< int, int > &rc)
->------------------------------------------------------------------------
->
->Construct a symbolic primitive with given dimensions.
->
->>  MatType CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp)
->------------------------------------------------------------------------
->
->Create symbolic primitive with a given sparsity pattern.
->
->>  std::vector< MatType > CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp, int p)
->------------------------------------------------------------------------
->
->Create a vector of length p with with matrices with symbolic primitives of
->given sparsity.
->
->>  static std::vector<MatType > CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow, int ncol, int p)
->------------------------------------------------------------------------
->
->Create a vector of length p with nrow-by-ncol symbolic primitives.
->
->>  std::vector< std::vector< MatType > > CasADi::GenericMatrix< MatType >::sym(const std::string &name, const Sparsity &sp, int p, int r)
->------------------------------------------------------------------------
->
->Create a vector of length r of vectors of length p with symbolic primitives
->with given sparsity.
->
->>  static std::vector<std::vector<MatType> > CasADi::GenericMatrix< MatType >::sym(const std::string &name, int nrow, int ncol, int p, int r)
->------------------------------------------------------------------------
->
->Create a vector of length r of vectors of length p with nrow-by-ncol
->symbolic primitives.
--}
-genSX_sym :: String -> Int -> Int -> IO SX
-genSX_sym = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC
-  :: Ptr StdString' -> CInt -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym'
-  :: String -> Int -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genSX_sym' :: String -> Int -> IO SX
-genSX_sym' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC
-  :: Ptr StdString' -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym''
-  :: String -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genSX_sym'' :: String -> IO SX
-genSX_sym'' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym'''
-  :: String -> Sparsity -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genSX_sym''' :: String -> Sparsity -> IO SX
-genSX_sym''' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> CInt -> IO (Ptr (CppVec (Ptr SX')))
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym''''
-  :: String -> Sparsity -> Int -> IO (Vector SX)
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-genSX_sym'''' :: String -> Sparsity -> Int -> IO (Vector SX)
-genSX_sym'''' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr SX')))
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym'''''
-  :: String -> Int -> Int -> Int -> IO (Vector SX)
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-genSX_sym''''' :: String -> Int -> Int -> Int -> IO (Vector SX)
-genSX_sym''''' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym'''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SX')))))
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym''''''
-  :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector SX))
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-genSX_sym'''''' :: String -> Sparsity -> Int -> Int -> IO (Vector (Vector SX))
-genSX_sym'''''' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SX')))))
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym'''''''
-  :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector SX))
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-genSX_sym''''''' :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector SX))
-genSX_sym''''''' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sym'''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse
-  :: CInt -> CInt -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse
-  :: Int -> Int -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->create a sparse matrix with all zeros
--}
-genSX_sparse :: Int -> Int -> IO SX
-genSX_sparse = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse_TIC
-  :: CInt -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse'
-  :: Int -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genSX_sparse' :: Int -> IO SX
-genSX_sparse' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse_TIC_TIC
-  :: IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse''
-  :: IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse''  =
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genSX_sparse'' :: IO SX
-genSX_sparse'' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____sparse''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros
-  :: CInt -> CInt -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros
-  :: Int -> Int -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create a dense matrix or a matrix with specified sparsity with all entries
->zero.
--}
-genSX_zeros :: Int -> Int -> IO SX
-genSX_zeros = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros_TIC
-  :: CInt -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros'
-  :: Int -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genSX_zeros' :: Int -> IO SX
-genSX_zeros' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros_TIC_TIC
-  :: IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros''
-  :: IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros''  =
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genSX_zeros'' :: IO SX
-genSX_zeros'' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros'''
-  :: Sparsity -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genSX_zeros''' :: Sparsity -> IO SX
-genSX_zeros''' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____zeros'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones
-  :: CInt -> CInt -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones
-  :: Int -> Int -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create a dense matrix or a matrix with specified sparsity with all entries
->one.
--}
-genSX_ones :: Int -> Int -> IO SX
-genSX_ones = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones_TIC
-  :: CInt -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones'
-  :: Int -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genSX_ones' :: Int -> IO SX
-genSX_ones' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones_TIC_TIC
-  :: IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones''
-  :: IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones''  =
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-genSX_ones'' :: IO SX
-genSX_ones'' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones_TIC_TIC_TIC" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones'''
-  :: Sparsity -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genSX_ones''' :: Sparsity -> IO SX
-genSX_ones''' = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____ones'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____mul_smart" c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____mul_smart
-  :: Ptr GenSX' -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____mul_smart
-  :: GenSX -> SX -> Sparsity -> IO SX
-casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____mul_smart x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____mul_smart x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Matrix-matrix multiplication. Attempts to identify quick returns on matrix-
->level and delegates to MatType::mul_full if no such quick returns are found.
--}
-genSX_mul_smart :: GenSXClass a => a -> SX -> Sparsity -> IO SX
-genSX_mul_smart x = casADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement____mul_smart (castGenSX x)
-
diff --git a/Casadi/Wrappers/Classes/GenericType.hs b/Casadi/Wrappers/Classes/GenericType.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/GenericType.hs
+++ /dev/null
@@ -1,614 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.GenericType
-       (
-         GenericType,
-         GenericTypeClass(..),
-         genericType,
-         genericType',
-         genericType'',
-         genericType''',
-         genericType'''',
-         genericType''''',
-         genericType'''''',
-         genericType''''''',
-         genericType'''''''',
-         genericType''''''''',
-         genericType'''''''''',
-         genericType''''''''''',
-         genericType'''''''''''',
-         genericType_can_cast_to,
-         genericType_can_cast_to',
-         genericType_from_type,
-         genericType_getType,
-         genericType_get_description,
-         genericType_get_type_description,
-         genericType_isBool,
-         genericType_isDictionary,
-         genericType_isDouble,
-         genericType_isDoubleVector,
-         genericType_isEmptyVector,
-         genericType_isFunction,
-         genericType_isInt,
-         genericType_isIntVector,
-         genericType_isSharedObject,
-         genericType_isString,
-         genericType_isStringVector,
-         genericType_operator_equals,
-         genericType_operator_nequals,
-         genericType_toBool,
-         genericType_toDouble,
-         genericType_toInt,
-       ) 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 GenericType where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__get_type_description" c_CasADi__GenericType__get_type_description
-  :: CInt -> IO (Ptr StdString')
-casADi__GenericType__get_type_description
-  :: Opt_type -> IO String
-casADi__GenericType__get_type_description x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__get_type_description x0' >>= wrapReturn
-
--- classy wrapper
-genericType_get_type_description :: Opt_type -> IO String
-genericType_get_type_description = casADi__GenericType__get_type_description
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__get_description" c_CasADi__GenericType__get_description
-  :: Ptr GenericType' -> IO (Ptr StdString')
-casADi__GenericType__get_description
-  :: GenericType -> IO String
-casADi__GenericType__get_description x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__get_description x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get a description of the object's type.
--}
-genericType_get_description :: GenericTypeClass a => a -> IO String
-genericType_get_description x = casADi__GenericType__get_description (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__from_type" c_CasADi__GenericType__from_type
-  :: CInt -> IO (Ptr GenericType')
-casADi__GenericType__from_type
-  :: Opt_type -> IO GenericType
-casADi__GenericType__from_type x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__from_type x0' >>= wrapReturn
-
--- classy wrapper
-genericType_from_type :: Opt_type -> IO GenericType
-genericType_from_type = casADi__GenericType__from_type
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__getType" c_CasADi__GenericType__getType
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__getType
-  :: GenericType -> IO Opt_type
-casADi__GenericType__getType x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__getType x0' >>= wrapReturn
-
--- classy wrapper
-genericType_getType :: GenericTypeClass a => a -> IO Opt_type
-genericType_getType x = casADi__GenericType__getType (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__can_cast_to" c_CasADi__GenericType__can_cast_to
-  :: Ptr GenericType' -> CInt -> IO CInt
-casADi__GenericType__can_cast_to
-  :: GenericType -> Opt_type -> IO Bool
-casADi__GenericType__can_cast_to x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericType__can_cast_to x0' x1' >>= wrapReturn
-
--- classy wrapper
-genericType_can_cast_to :: GenericTypeClass a => a -> Opt_type -> IO Bool
-genericType_can_cast_to x = casADi__GenericType__can_cast_to (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__can_cast_to_TIC" c_CasADi__GenericType__can_cast_to_TIC
-  :: Ptr GenericType' -> Ptr GenericType' -> IO CInt
-casADi__GenericType__can_cast_to'
-  :: GenericType -> GenericType -> IO Bool
-casADi__GenericType__can_cast_to' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericType__can_cast_to_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-genericType_can_cast_to' :: GenericTypeClass a => a -> GenericType -> IO Bool
-genericType_can_cast_to' x = casADi__GenericType__can_cast_to' (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__isBool" c_CasADi__GenericType__isBool
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__isBool
-  :: GenericType -> IO Bool
-casADi__GenericType__isBool x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isBool x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is boolean?
--}
-genericType_isBool :: GenericTypeClass a => a -> IO Bool
-genericType_isBool x = casADi__GenericType__isBool (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__isInt" c_CasADi__GenericType__isInt
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__isInt
-  :: GenericType -> IO Bool
-casADi__GenericType__isInt x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isInt x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is an integer?
--}
-genericType_isInt :: GenericTypeClass a => a -> IO Bool
-genericType_isInt x = casADi__GenericType__isInt (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__isDouble" c_CasADi__GenericType__isDouble
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__isDouble
-  :: GenericType -> IO Bool
-casADi__GenericType__isDouble x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isDouble x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is a double?
--}
-genericType_isDouble :: GenericTypeClass a => a -> IO Bool
-genericType_isDouble x = casADi__GenericType__isDouble (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__isString" c_CasADi__GenericType__isString
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__isString
-  :: GenericType -> IO Bool
-casADi__GenericType__isString x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isString x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is a string?
--}
-genericType_isString :: GenericTypeClass a => a -> IO Bool
-genericType_isString x = casADi__GenericType__isString (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__isEmptyVector" c_CasADi__GenericType__isEmptyVector
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__isEmptyVector
-  :: GenericType -> IO Bool
-casADi__GenericType__isEmptyVector x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isEmptyVector x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is an empty vector?
--}
-genericType_isEmptyVector :: GenericTypeClass a => a -> IO Bool
-genericType_isEmptyVector x = casADi__GenericType__isEmptyVector (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__isIntVector" c_CasADi__GenericType__isIntVector
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__isIntVector
-  :: GenericType -> IO Bool
-casADi__GenericType__isIntVector x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isIntVector x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is a vector of ints?
--}
-genericType_isIntVector :: GenericTypeClass a => a -> IO Bool
-genericType_isIntVector x = casADi__GenericType__isIntVector (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__isDoubleVector" c_CasADi__GenericType__isDoubleVector
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__isDoubleVector
-  :: GenericType -> IO Bool
-casADi__GenericType__isDoubleVector x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isDoubleVector x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is a vector of doubles?
--}
-genericType_isDoubleVector :: GenericTypeClass a => a -> IO Bool
-genericType_isDoubleVector x = casADi__GenericType__isDoubleVector (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__isStringVector" c_CasADi__GenericType__isStringVector
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__isStringVector
-  :: GenericType -> IO Bool
-casADi__GenericType__isStringVector x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isStringVector x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is a vector of strings.
--}
-genericType_isStringVector :: GenericTypeClass a => a -> IO Bool
-genericType_isStringVector x = casADi__GenericType__isStringVector (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__isSharedObject" c_CasADi__GenericType__isSharedObject
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__isSharedObject
-  :: GenericType -> IO Bool
-casADi__GenericType__isSharedObject x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isSharedObject x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is a shared object?
--}
-genericType_isSharedObject :: GenericTypeClass a => a -> IO Bool
-genericType_isSharedObject x = casADi__GenericType__isSharedObject (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__isDictionary" c_CasADi__GenericType__isDictionary
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__isDictionary
-  :: GenericType -> IO Bool
-casADi__GenericType__isDictionary x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isDictionary x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is a shared object?
--}
-genericType_isDictionary :: GenericTypeClass a => a -> IO Bool
-genericType_isDictionary x = casADi__GenericType__isDictionary (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__isFunction" c_CasADi__GenericType__isFunction
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__isFunction
-  :: GenericType -> IO Bool
-casADi__GenericType__isFunction x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isFunction x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is a shared object?
--}
-genericType_isFunction :: GenericTypeClass a => a -> IO Bool
-genericType_isFunction x = casADi__GenericType__isFunction (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__toBool" c_CasADi__GenericType__toBool
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__toBool
-  :: GenericType -> IO Bool
-casADi__GenericType__toBool x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__toBool x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Convert to boolean.
--}
-genericType_toBool :: GenericTypeClass a => a -> IO Bool
-genericType_toBool x = casADi__GenericType__toBool (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__toInt" c_CasADi__GenericType__toInt
-  :: Ptr GenericType' -> IO CInt
-casADi__GenericType__toInt
-  :: GenericType -> IO Int
-casADi__GenericType__toInt x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__toInt x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Convert to int.
--}
-genericType_toInt :: GenericTypeClass a => a -> IO Int
-genericType_toInt x = casADi__GenericType__toInt (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__toDouble" c_CasADi__GenericType__toDouble
-  :: Ptr GenericType' -> IO CDouble
-casADi__GenericType__toDouble
-  :: GenericType -> IO Double
-casADi__GenericType__toDouble x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__toDouble x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Convert to double.
--}
-genericType_toDouble :: GenericTypeClass a => a -> IO Double
-genericType_toDouble x = casADi__GenericType__toDouble (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__operator_equals" c_CasADi__GenericType__operator_equals
-  :: Ptr GenericType' -> Ptr GenericType' -> IO CInt
-casADi__GenericType__operator_equals
-  :: GenericType -> GenericType -> IO Bool
-casADi__GenericType__operator_equals x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericType__operator_equals x0' x1' >>= wrapReturn
-
--- classy wrapper
-genericType_operator_equals :: GenericTypeClass a => a -> GenericType -> IO Bool
-genericType_operator_equals x = casADi__GenericType__operator_equals (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__operator_nequals" c_CasADi__GenericType__operator_nequals
-  :: Ptr GenericType' -> Ptr GenericType' -> IO CInt
-casADi__GenericType__operator_nequals
-  :: GenericType -> GenericType -> IO Bool
-casADi__GenericType__operator_nequals x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__GenericType__operator_nequals x0' x1' >>= wrapReturn
-
--- classy wrapper
-genericType_operator_nequals :: GenericTypeClass a => a -> GenericType -> IO Bool
-genericType_operator_nequals x = casADi__GenericType__operator_nequals (castGenericType x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType" c_CasADi__GenericType__GenericType
-  :: IO (Ptr GenericType')
-casADi__GenericType__GenericType
-  :: IO GenericType
-casADi__GenericType__GenericType  =
-  c_CasADi__GenericType__GenericType  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::GenericType::GenericType(void *ptr)
->------------------------------------------------------------------------
->[INTERNAL]
->
->>  CasADi::GenericType::GenericType(NLPSolverCreator ptr)
->------------------------------------------------------------------------
->
->Creator functions.
--}
-genericType :: IO GenericType
-genericType = casADi__GenericType__GenericType
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC" c_CasADi__GenericType__GenericType_TIC
-  :: CInt -> IO (Ptr GenericType')
-casADi__GenericType__GenericType'
-  :: Bool -> IO GenericType
-casADi__GenericType__GenericType' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType' :: Bool -> IO GenericType
-genericType' = casADi__GenericType__GenericType'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC_TIC" c_CasADi__GenericType__GenericType_TIC_TIC
-  :: CInt -> IO (Ptr GenericType')
-casADi__GenericType__GenericType''
-  :: Int -> IO GenericType
-casADi__GenericType__GenericType'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType'' :: Int -> IO GenericType
-genericType'' = casADi__GenericType__GenericType''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC_TIC_TIC" c_CasADi__GenericType__GenericType_TIC_TIC_TIC
-  :: CDouble -> IO (Ptr GenericType')
-casADi__GenericType__GenericType'''
-  :: Double -> IO GenericType
-casADi__GenericType__GenericType''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType''' :: Double -> IO GenericType
-genericType''' = casADi__GenericType__GenericType'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC" c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> IO (Ptr GenericType')
-casADi__GenericType__GenericType''''
-  :: String -> IO GenericType
-casADi__GenericType__GenericType'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType'''' :: String -> IO GenericType
-genericType'''' = casADi__GenericType__GenericType''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CInt) -> IO (Ptr GenericType')
-casADi__GenericType__GenericType'''''
-  :: Vector Bool -> IO GenericType
-casADi__GenericType__GenericType''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType''''' :: Vector Bool -> IO GenericType
-genericType''''' = casADi__GenericType__GenericType'''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CInt) -> IO (Ptr GenericType')
-casADi__GenericType__GenericType''''''
-  :: Vector Int -> IO GenericType
-casADi__GenericType__GenericType'''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType'''''' :: Vector Int -> IO GenericType
-genericType'''''' = casADi__GenericType__GenericType''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CDouble) -> IO (Ptr GenericType')
-casADi__GenericType__GenericType'''''''
-  :: Vector Double -> IO GenericType
-casADi__GenericType__GenericType''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType''''''' :: Vector Double -> IO GenericType
-genericType''''''' = casADi__GenericType__GenericType'''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr StdString')) -> IO (Ptr GenericType')
-casADi__GenericType__GenericType''''''''
-  :: Vector String -> IO GenericType
-casADi__GenericType__GenericType'''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType'''''''' :: Vector String -> IO GenericType
-genericType'''''''' = casADi__GenericType__GenericType''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Function' -> IO (Ptr GenericType')
-casADi__GenericType__GenericType'''''''''
-  :: Function -> IO GenericType
-casADi__GenericType__GenericType''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType''''''''' :: Function -> IO GenericType
-genericType''''''''' = casADi__GenericType__GenericType'''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SharedObject' -> IO (Ptr GenericType')
-casADi__GenericType__GenericType''''''''''
-  :: SharedObject -> IO GenericType
-casADi__GenericType__GenericType'''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType'''''''''' :: SharedObject -> IO GenericType
-genericType'''''''''' = casADi__GenericType__GenericType''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DerivativeGenerator' -> IO (Ptr GenericType')
-casADi__GenericType__GenericType'''''''''''
-  :: DerivativeGenerator -> IO GenericType
-casADi__GenericType__GenericType''''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType''''''''''' :: DerivativeGenerator -> IO GenericType
-genericType''''''''''' = casADi__GenericType__GenericType'''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Callback' -> IO (Ptr GenericType')
-casADi__GenericType__GenericType''''''''''''
-  :: Callback -> IO GenericType
-casADi__GenericType__GenericType'''''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericType_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-genericType'''''''''''' :: Callback -> IO GenericType
-genericType'''''''''''' = casADi__GenericType__GenericType''''''''''''
-
diff --git a/Casadi/Wrappers/Classes/HomotopyNLPSolver.hs b/Casadi/Wrappers/Classes/HomotopyNLPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/HomotopyNLPSolver.hs
+++ /dev/null
@@ -1,66 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.HomotopyNLPSolver
-       (
-         HomotopyNLPSolver,
-         HomotopyNLPSolverClass(..),
-         homotopyNLPSolver,
-         homotopyNLPSolver_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 HomotopyNLPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__HomotopyNLPSolver__checkNode" c_CasADi__HomotopyNLPSolver__checkNode
-  :: Ptr HomotopyNLPSolver' -> IO CInt
-casADi__HomotopyNLPSolver__checkNode
-  :: HomotopyNLPSolver -> IO Bool
-casADi__HomotopyNLPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__HomotopyNLPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-homotopyNLPSolver_checkNode :: HomotopyNLPSolverClass a => a -> IO Bool
-homotopyNLPSolver_checkNode x = casADi__HomotopyNLPSolver__checkNode (castHomotopyNLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__HomotopyNLPSolver__HomotopyNLPSolver" c_CasADi__HomotopyNLPSolver__HomotopyNLPSolver
-  :: IO (Ptr HomotopyNLPSolver')
-casADi__HomotopyNLPSolver__HomotopyNLPSolver
-  :: IO HomotopyNLPSolver
-casADi__HomotopyNLPSolver__HomotopyNLPSolver  =
-  c_CasADi__HomotopyNLPSolver__HomotopyNLPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-homotopyNLPSolver :: IO HomotopyNLPSolver
-homotopyNLPSolver = casADi__HomotopyNLPSolver__HomotopyNLPSolver
-
diff --git a/Casadi/Wrappers/Classes/IMatrix.hs b/Casadi/Wrappers/Classes/IMatrix.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/IMatrix.hs
+++ /dev/null
@@ -1,3776 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.IMatrix
-       (
-         IMatrix,
-         IMatrixClass(..),
-         imatrix,
-         imatrix',
-         imatrix'',
-         imatrix''',
-         imatrix'''',
-         imatrix''''',
-         imatrix'''''',
-         imatrix''''''',
-         imatrix'''''''',
-         imatrix___add__,
-         imatrix___constpow__,
-         imatrix___copysign__,
-         imatrix___div__,
-         imatrix___eq__,
-         imatrix___le__,
-         imatrix___lt__,
-         imatrix___mpower__,
-         imatrix___mrdivide__,
-         imatrix___mul__,
-         imatrix___ne__,
-         imatrix___nonzero__,
-         imatrix___pow__,
-         imatrix___sub__,
-         imatrix___truediv__,
-         imatrix_append,
-         imatrix_appendColumns,
-         imatrix_arccos,
-         imatrix_arccosh,
-         imatrix_arcsin,
-         imatrix_arcsinh,
-         imatrix_arctan,
-         imatrix_arctan2,
-         imatrix_arctanh,
-         imatrix_at,
-         imatrix_binary,
-         imatrix_ceil,
-         imatrix_className,
-         imatrix_clear,
-         imatrix_colind,
-         imatrix_cos,
-         imatrix_cosh,
-         imatrix_data,
-         imatrix_densify,
-         imatrix_densify',
-         imatrix_elem,
-         imatrix_elem',
-         imatrix_enlarge,
-         imatrix_erase,
-         imatrix_erf,
-         imatrix_erfinv,
-         imatrix_exp,
-         imatrix_eye,
-         imatrix_fabs,
-         imatrix_floor,
-         imatrix_fmax,
-         imatrix_fmin,
-         imatrix_get,
-         imatrix_get',
-         imatrix_get'',
-         imatrix_get''',
-         imatrix_get'''',
-         imatrix_get''''',
-         imatrix_getEqualityCheckingDepth,
-         imatrix_getMaxNumCallsInPrint,
-         imatrix_getName,
-         imatrix_getValue,
-         imatrix_hasNZ,
-         imatrix_hasNonStructuralZeros,
-         imatrix_if_else_zero,
-         imatrix_indexed_assignment,
-         imatrix_indexed_assignment',
-         imatrix_indexed_assignment'',
-         imatrix_indexed_assignment''',
-         imatrix_indexed_assignment'''',
-         imatrix_indexed_assignment''''',
-         imatrix_indexed_assignment'''''',
-         imatrix_indexed_assignment''''''',
-         imatrix_indexed_assignment'''''''',
-         imatrix_indexed_assignment''''''''',
-         imatrix_indexed_one_based_assignment,
-         imatrix_indexed_one_based_assignment',
-         imatrix_indexed_one_based_assignment'',
-         imatrix_indexed_zero_based_assignment,
-         imatrix_indexed_zero_based_assignment',
-         imatrix_indexed_zero_based_assignment'',
-         imatrix_inf,
-         imatrix_inf',
-         imatrix_inf'',
-         imatrix_inf''',
-         imatrix_isConstant,
-         imatrix_isEqual,
-         imatrix_isIdentity,
-         imatrix_isInteger,
-         imatrix_isMinusOne,
-         imatrix_isOne,
-         imatrix_isRegular,
-         imatrix_isSmooth,
-         imatrix_isSymbolic,
-         imatrix_isSymbolicSparse,
-         imatrix_isZero,
-         imatrix_log,
-         imatrix_log10,
-         imatrix_logic_and,
-         imatrix_logic_not,
-         imatrix_logic_or,
-         imatrix_matrix_matrix,
-         imatrix_matrix_scalar,
-         imatrix_mul,
-         imatrix_mul',
-         imatrix_mul_full,
-         imatrix_mul_full',
-         imatrix_mul_no_alloc_nn,
-         imatrix_mul_no_alloc_nn',
-         imatrix_mul_no_alloc_nt,
-         imatrix_mul_no_alloc_tn,
-         imatrix_mul_no_alloc_tn',
-         imatrix_nan,
-         imatrix_nan',
-         imatrix_nan'',
-         imatrix_nan''',
-         imatrix_nz_indexed_assignment,
-         imatrix_nz_indexed_assignment',
-         imatrix_nz_indexed_one_based_assignment,
-         imatrix_nz_indexed_one_based_assignment',
-         imatrix_nz_indexed_zero_based_assignment,
-         imatrix_nz_indexed_zero_based_assignment',
-         imatrix_operator_minus,
-         imatrix_operator_plus,
-         imatrix_printDense',
-         imatrix_printScalar',
-         imatrix_printSparse',
-         imatrix_printVector',
-         imatrix_printme,
-         imatrix_quad_form,
-         imatrix_remove,
-         imatrix_repmat,
-         imatrix_repmat',
-         imatrix_repmat'',
-         imatrix_repmat''',
-         imatrix_reserve,
-         imatrix_reserve',
-         imatrix_resize,
-         imatrix_row,
-         imatrix_sanityCheck,
-         imatrix_sanityCheck',
-         imatrix_scalar_matrix,
-         imatrix_set,
-         imatrix_set',
-         imatrix_set'',
-         imatrix_set''',
-         imatrix_set'''',
-         imatrix_set''''',
-         imatrix_setAll,
-         imatrix_setEqualityCheckingDepth,
-         imatrix_setEqualityCheckingDepth',
-         imatrix_setMaxNumCallsInPrint,
-         imatrix_setMaxNumCallsInPrint',
-         imatrix_setNZ,
-         imatrix_setNZ',
-         imatrix_setNZ'',
-         imatrix_setNZ''',
-         imatrix_setPrecision,
-         imatrix_setScientific,
-         imatrix_setSparse,
-         imatrix_setSparse',
-         imatrix_setSub,
-         imatrix_setSub',
-         imatrix_setSub'',
-         imatrix_setSub''',
-         imatrix_setSub'''',
-         imatrix_setSub''''',
-         imatrix_setSub'''''',
-         imatrix_setSub''''''',
-         imatrix_setSub'''''''',
-         imatrix_setSub''''''''',
-         imatrix_setSub'''''''''',
-         imatrix_setSub''''''''''',
-         imatrix_setSub'''''''''''',
-         imatrix_setSub''''''''''''',
-         imatrix_setWidth,
-         imatrix_setZero,
-         imatrix_sign,
-         imatrix_sin,
-         imatrix_sinh,
-         imatrix_sparsify,
-         imatrix_sparsify',
-         imatrix_sparsityRef,
-         imatrix_sqrt,
-         imatrix_tan,
-         imatrix_tanh,
-         imatrix_trans,
-         imatrix_triplet,
-         imatrix_triplet',
-         imatrix_unary,
-       ) 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 IMatrix where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___sanityCheck" c_CasADi__Matrix_int___sanityCheck
-  :: Ptr IMatrix' -> CInt -> IO ()
-casADi__Matrix_int___sanityCheck
-  :: IMatrix -> Bool -> IO ()
-casADi__Matrix_int___sanityCheck x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___sanityCheck x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if the
->dimensions and colind,row vectors are compatible.
->
->Parameters:
->-----------
->
->complete:  set to true to also check elementwise throws an error as possible
->result
--}
-imatrix_sanityCheck :: IMatrixClass a => a -> Bool -> IO ()
-imatrix_sanityCheck x = casADi__Matrix_int___sanityCheck (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___sanityCheck_TIC" c_CasADi__Matrix_int___sanityCheck_TIC
-  :: Ptr IMatrix' -> IO ()
-casADi__Matrix_int___sanityCheck'
-  :: IMatrix -> IO ()
-casADi__Matrix_int___sanityCheck' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___sanityCheck_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_sanityCheck' :: IMatrixClass a => a -> IO ()
-imatrix_sanityCheck' x = casADi__Matrix_int___sanityCheck' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___at" c_CasADi__Matrix_int___at
-  :: Ptr IMatrix' -> CInt -> IO CInt
-casADi__Matrix_int___at
-  :: IMatrix -> Int -> IO Int
-casADi__Matrix_int___at x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___at x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  const DataType& CasADi::Matrix< T >::at(int k) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get a non-zero element.
->
->>  DataType& CasADi::Matrix< T >::at(int k)
->------------------------------------------------------------------------
->[INTERNAL] 
->Access a non-zero element.
--}
-imatrix_at :: IMatrixClass a => a -> Int -> IO Int
-imatrix_at x = casADi__Matrix_int___at (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___elem" c_CasADi__Matrix_int___elem
-  :: Ptr IMatrix' -> CInt -> CInt -> IO CInt
-casADi__Matrix_int___elem
-  :: IMatrix -> Int -> Int -> IO Int
-casADi__Matrix_int___elem x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___elem x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  const DataType & CasADi::Matrix< DataType >::elem(int rr, int cc=0) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->get an element
->
->>  DataType & CasADi::Matrix< DataType >::elem(int rr, int cc=0)
->------------------------------------------------------------------------
->[INTERNAL] 
->get a reference to an element
--}
-imatrix_elem :: IMatrixClass a => a -> Int -> Int -> IO Int
-imatrix_elem x = casADi__Matrix_int___elem (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___elem_TIC" c_CasADi__Matrix_int___elem_TIC
-  :: Ptr IMatrix' -> CInt -> IO CInt
-casADi__Matrix_int___elem'
-  :: IMatrix -> Int -> IO Int
-casADi__Matrix_int___elem' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___elem_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_elem' :: IMatrixClass a => a -> Int -> IO Int
-imatrix_elem' x = casADi__Matrix_int___elem' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___hasNZ" c_CasADi__Matrix_int___hasNZ
-  :: Ptr IMatrix' -> CInt -> CInt -> IO CInt
-casADi__Matrix_int___hasNZ
-  :: IMatrix -> Int -> Int -> IO Bool
-casADi__Matrix_int___hasNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___hasNZ x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Returns true if the matrix has a non-zero at location rr,cc.
--}
-imatrix_hasNZ :: IMatrixClass a => a -> Int -> Int -> IO Bool
-imatrix_hasNZ x = casADi__Matrix_int___hasNZ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____nonzero__" c_CasADi__Matrix_int_____nonzero__
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int_____nonzero__
-  :: IMatrix -> IO Bool
-casADi__Matrix_int_____nonzero__ x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int_____nonzero__ x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Returns the
->truth value of a Matrix.
--}
-imatrix___nonzero__ :: IMatrixClass a => a -> IO Bool
-imatrix___nonzero__ x = casADi__Matrix_int_____nonzero__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub" c_CasADi__Matrix_int___setSub
-  :: Ptr IMatrix' -> Ptr IMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_int___setSub
-  :: IMatrix -> IMatrix -> Int -> Int -> IO ()
-casADi__Matrix_int___setSub x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set a submatrix.
--}
-imatrix_setSub :: IMatrixClass a => a -> IMatrix -> Int -> Int -> IO ()
-imatrix_setSub x = casADi__Matrix_int___setSub (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC" c_CasADi__Matrix_int___setSub_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr (CppVec CInt) -> CInt -> IO ()
-casADi__Matrix_int___setSub'
-  :: IMatrix -> IMatrix -> Vector Int -> Int -> IO ()
-casADi__Matrix_int___setSub' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub' :: IMatrixClass a => a -> IMatrix -> Vector Int -> Int -> IO ()
-imatrix_setSub' x = casADi__Matrix_int___setSub' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> CInt -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_int___setSub''
-  :: IMatrix -> IMatrix -> Int -> Vector Int -> IO ()
-casADi__Matrix_int___setSub'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub'' :: IMatrixClass a => a -> IMatrix -> Int -> Vector Int -> IO ()
-imatrix_setSub'' x = casADi__Matrix_int___setSub'' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_int___setSub'''
-  :: IMatrix -> IMatrix -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_int___setSub''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub''' :: IMatrixClass a => a -> IMatrix -> Vector Int -> Vector Int -> IO ()
-imatrix_setSub''' x = casADi__Matrix_int___setSub''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_int___setSub''''
-  :: IMatrix -> IMatrix -> Slice -> Vector Int -> IO ()
-casADi__Matrix_int___setSub'''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub'''' :: IMatrixClass a => a -> IMatrix -> Slice -> Vector Int -> IO ()
-imatrix_setSub'''' x = casADi__Matrix_int___setSub'''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr (CppVec CInt) -> Ptr Slice' -> IO ()
-casADi__Matrix_int___setSub'''''
-  :: IMatrix -> IMatrix -> Vector Int -> Slice -> IO ()
-casADi__Matrix_int___setSub''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub''''' :: IMatrixClass a => a -> IMatrix -> Vector Int -> Slice -> IO ()
-imatrix_setSub''''' x = casADi__Matrix_int___setSub''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> Ptr Slice' -> IO ()
-casADi__Matrix_int___setSub''''''
-  :: IMatrix -> IMatrix -> Slice -> Slice -> IO ()
-casADi__Matrix_int___setSub'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub'''''' :: IMatrixClass a => a -> IMatrix -> Slice -> Slice -> IO ()
-imatrix_setSub'''''' x = casADi__Matrix_int___setSub'''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_int___setSub'''''''
-  :: IMatrix -> IMatrix -> IMatrix -> Vector Int -> IO ()
-casADi__Matrix_int___setSub''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub''''''' :: IMatrixClass a => a -> IMatrix -> IMatrix -> Vector Int -> IO ()
-imatrix_setSub''''''' x = casADi__Matrix_int___setSub''''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr (CppVec CInt) -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___setSub''''''''
-  :: IMatrix -> IMatrix -> Vector Int -> IMatrix -> IO ()
-casADi__Matrix_int___setSub'''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub'''''''' :: IMatrixClass a => a -> IMatrix -> Vector Int -> IMatrix -> IO ()
-imatrix_setSub'''''''' x = casADi__Matrix_int___setSub'''''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> IO ()
-casADi__Matrix_int___setSub'''''''''
-  :: IMatrix -> IMatrix -> IMatrix -> Slice -> IO ()
-casADi__Matrix_int___setSub''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub''''''''' :: IMatrixClass a => a -> IMatrix -> IMatrix -> Slice -> IO ()
-imatrix_setSub''''''''' x = casADi__Matrix_int___setSub''''''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___setSub''''''''''
-  :: IMatrix -> IMatrix -> Slice -> IMatrix -> IO ()
-casADi__Matrix_int___setSub'''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub'''''''''' :: IMatrixClass a => a -> IMatrix -> Slice -> IMatrix -> IO ()
-imatrix_setSub'''''''''' x = casADi__Matrix_int___setSub'''''''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___setSub'''''''''''
-  :: IMatrix -> IMatrix -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___setSub''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub''''''''''' :: IMatrixClass a => a -> IMatrix -> IMatrix -> IMatrix -> IO ()
-imatrix_setSub''''''''''' x = casADi__Matrix_int___setSub''''''''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> CInt -> IO ()
-casADi__Matrix_int___setSub''''''''''''
-  :: IMatrix -> IMatrix -> Slice -> Int -> IO ()
-casADi__Matrix_int___setSub'''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub'''''''''''' :: IMatrixClass a => a -> IMatrix -> Slice -> Int -> IO ()
-imatrix_setSub'''''''''''' x = casADi__Matrix_int___setSub'''''''''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr Sparsity' -> CInt -> IO ()
-casADi__Matrix_int___setSub'''''''''''''
-  :: IMatrix -> IMatrix -> Sparsity -> Int -> IO ()
-casADi__Matrix_int___setSub''''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSub''''''''''''' :: IMatrixClass a => a -> IMatrix -> Sparsity -> Int -> IO ()
-imatrix_setSub''''''''''''' x = casADi__Matrix_int___setSub''''''''''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setNZ" c_CasADi__Matrix_int___setNZ
-  :: Ptr IMatrix' -> CInt -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___setNZ
-  :: IMatrix -> Int -> IMatrix -> IO ()
-casADi__Matrix_int___setNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___setNZ x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< DataType >::setNZ(int k, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< DataType >::setNZ(const std::vector< int > &k, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< DataType >::setNZ(const Matrix< int > &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set a set of nonzeros.
->
->>  void CasADi::Matrix< T >::setNZ(const Slice &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->
->Set a set of nonzeros.
--}
-imatrix_setNZ :: IMatrixClass a => a -> Int -> IMatrix -> IO ()
-imatrix_setNZ x = casADi__Matrix_int___setNZ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setNZ_TIC" c_CasADi__Matrix_int___setNZ_TIC
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___setNZ'
-  :: IMatrix -> Vector Int -> IMatrix -> IO ()
-casADi__Matrix_int___setNZ' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___setNZ_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_setNZ' :: IMatrixClass a => a -> Vector Int -> IMatrix -> IO ()
-imatrix_setNZ' x = casADi__Matrix_int___setNZ' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setNZ_TIC_TIC" c_CasADi__Matrix_int___setNZ_TIC_TIC
-  :: Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___setNZ''
-  :: IMatrix -> Slice -> IMatrix -> IO ()
-casADi__Matrix_int___setNZ'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___setNZ_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_setNZ'' :: IMatrixClass a => a -> Slice -> IMatrix -> IO ()
-imatrix_setNZ'' x = casADi__Matrix_int___setNZ'' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setNZ_TIC_TIC_TIC" c_CasADi__Matrix_int___setNZ_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___setNZ'''
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___setNZ''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___setNZ_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_setNZ''' :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
-imatrix_setNZ''' x = casADi__Matrix_int___setNZ''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___append" c_CasADi__Matrix_int___append
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___append
-  :: IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___append x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___append x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Append a matrix
->vertically (NOTE: only efficient if vector)
--}
-imatrix_append :: IMatrixClass a => a -> IMatrix -> IO ()
-imatrix_append x = casADi__Matrix_int___append (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___appendColumns" c_CasADi__Matrix_int___appendColumns
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___appendColumns
-  :: IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___appendColumns x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___appendColumns x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Append a
->matrix horizontally.
--}
-imatrix_appendColumns :: IMatrixClass a => a -> IMatrix -> IO ()
-imatrix_appendColumns x = casADi__Matrix_int___appendColumns (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___nz_indexed_one_based_assignment" c_CasADi__Matrix_int___nz_indexed_one_based_assignment
-  :: Ptr IMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_int___nz_indexed_one_based_assignment
-  :: IMatrix -> Int -> Int -> IO ()
-casADi__Matrix_int___nz_indexed_one_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___nz_indexed_one_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::nz_indexed_one_based_assignment(int k, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->set a non-zero
->
->>  void CasADi::Matrix< T >::nz_indexed_one_based_assignment(const Matrix< int > &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
--}
-imatrix_nz_indexed_one_based_assignment :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_nz_indexed_one_based_assignment x = casADi__Matrix_int___nz_indexed_one_based_assignment (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___nz_indexed_zero_based_assignment" c_CasADi__Matrix_int___nz_indexed_zero_based_assignment
-  :: Ptr IMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_int___nz_indexed_zero_based_assignment
-  :: IMatrix -> Int -> Int -> IO ()
-casADi__Matrix_int___nz_indexed_zero_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___nz_indexed_zero_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Indexing for interfaced languages get a non-zero
--}
-imatrix_nz_indexed_zero_based_assignment :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_nz_indexed_zero_based_assignment x = casADi__Matrix_int___nz_indexed_zero_based_assignment (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___nz_indexed_assignment" c_CasADi__Matrix_int___nz_indexed_assignment
-  :: Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___nz_indexed_assignment
-  :: IMatrix -> Slice -> IMatrix -> IO ()
-casADi__Matrix_int___nz_indexed_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___nz_indexed_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]
->Indexing for interfaced languages get a non-zero
--}
-imatrix_nz_indexed_assignment :: IMatrixClass a => a -> Slice -> IMatrix -> IO ()
-imatrix_nz_indexed_assignment x = casADi__Matrix_int___nz_indexed_assignment (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_one_based_assignment" c_CasADi__Matrix_int___indexed_one_based_assignment
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_one_based_assignment
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_one_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___indexed_one_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::indexed_one_based_assignment(const Matrix< int > &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
->
->>  void CasADi::Matrix< T >::indexed_one_based_assignment(int rr, int cc, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->set a matrix element
->
->>  void CasADi::Matrix< T >::indexed_one_based_assignment(int rr, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->set a vector element
--}
-imatrix_indexed_one_based_assignment :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
-imatrix_indexed_one_based_assignment x = casADi__Matrix_int___indexed_one_based_assignment (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_zero_based_assignment" c_CasADi__Matrix_int___indexed_zero_based_assignment
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_zero_based_assignment
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_zero_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___indexed_zero_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::indexed_zero_based_assignment(const Matrix< int > &k, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_zero_based_assignment(int rr, int cc, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
->
->>  void CasADi::Matrix< T >::indexed_zero_based_assignment(int rr, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-imatrix_indexed_zero_based_assignment :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
-imatrix_indexed_zero_based_assignment x = casADi__Matrix_int___indexed_zero_based_assignment (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___nz_indexed_one_based_assignment_TIC" c_CasADi__Matrix_int___nz_indexed_one_based_assignment_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___nz_indexed_one_based_assignment'
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___nz_indexed_one_based_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___nz_indexed_one_based_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_nz_indexed_one_based_assignment' :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
-imatrix_nz_indexed_one_based_assignment' x = casADi__Matrix_int___nz_indexed_one_based_assignment' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___nz_indexed_zero_based_assignment_TIC" c_CasADi__Matrix_int___nz_indexed_zero_based_assignment_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___nz_indexed_zero_based_assignment'
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___nz_indexed_zero_based_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___nz_indexed_zero_based_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_nz_indexed_zero_based_assignment' :: IMatrixClass a => a -> IMatrix -> IMatrix -> IO ()
-imatrix_nz_indexed_zero_based_assignment' x = casADi__Matrix_int___nz_indexed_zero_based_assignment' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___nz_indexed_assignment_TIC" c_CasADi__Matrix_int___nz_indexed_assignment_TIC
-  :: Ptr IMatrix' -> Ptr IndexList' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___nz_indexed_assignment'
-  :: IMatrix -> IndexList -> IMatrix -> IO ()
-casADi__Matrix_int___nz_indexed_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___nz_indexed_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_nz_indexed_assignment' :: IMatrixClass a => a -> IndexList -> IMatrix -> IO ()
-imatrix_nz_indexed_assignment' x = casADi__Matrix_int___nz_indexed_assignment' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_one_based_assignment_TIC" c_CasADi__Matrix_int___indexed_one_based_assignment_TIC
-  :: Ptr IMatrix' -> CInt -> CInt -> CInt -> IO ()
-casADi__Matrix_int___indexed_one_based_assignment'
-  :: IMatrix -> Int -> Int -> Int -> IO ()
-casADi__Matrix_int___indexed_one_based_assignment' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___indexed_one_based_assignment_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_one_based_assignment' :: IMatrixClass a => a -> Int -> Int -> Int -> IO ()
-imatrix_indexed_one_based_assignment' x = casADi__Matrix_int___indexed_one_based_assignment' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_zero_based_assignment_TIC" c_CasADi__Matrix_int___indexed_zero_based_assignment_TIC
-  :: Ptr IMatrix' -> CInt -> CInt -> CInt -> IO ()
-casADi__Matrix_int___indexed_zero_based_assignment'
-  :: IMatrix -> Int -> Int -> Int -> IO ()
-casADi__Matrix_int___indexed_zero_based_assignment' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___indexed_zero_based_assignment_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_zero_based_assignment' :: IMatrixClass a => a -> Int -> Int -> Int -> IO ()
-imatrix_indexed_zero_based_assignment' x = casADi__Matrix_int___indexed_zero_based_assignment' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_assignment" c_CasADi__Matrix_int___indexed_assignment
-  :: Ptr IMatrix' -> Ptr Slice' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_assignment
-  :: IMatrix -> Slice -> Slice -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_assignment x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___indexed_assignment x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::indexed_assignment(const Slice &rr, const Slice &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const IndexList &rr, const IndexList &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Slice &rr, const Matrix< int > &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Matrix< int > &rr, const Slice &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Matrix< int > &rr, const IndexList &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const IndexList &rr, const Matrix< int > &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Matrix< int > &rr, const Matrix< int > &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Sparsity &sp, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Slice &rr, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const IndexList &rr, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-imatrix_indexed_assignment :: IMatrixClass a => a -> Slice -> Slice -> IMatrix -> IO ()
-imatrix_indexed_assignment x = casADi__Matrix_int___indexed_assignment (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_assignment_TIC" c_CasADi__Matrix_int___indexed_assignment_TIC
-  :: Ptr IMatrix' -> Ptr IndexList' -> Ptr IndexList' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_assignment'
-  :: IMatrix -> IndexList -> IndexList -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_assignment' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___indexed_assignment_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_assignment' :: IMatrixClass a => a -> IndexList -> IndexList -> IMatrix -> IO ()
-imatrix_indexed_assignment' x = casADi__Matrix_int___indexed_assignment' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_assignment_TIC_TIC" c_CasADi__Matrix_int___indexed_assignment_TIC_TIC
-  :: Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_assignment''
-  :: IMatrix -> Slice -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_assignment'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___indexed_assignment_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_assignment'' :: IMatrixClass a => a -> Slice -> IMatrix -> IMatrix -> IO ()
-imatrix_indexed_assignment'' x = casADi__Matrix_int___indexed_assignment'' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC" c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_assignment'''
-  :: IMatrix -> IMatrix -> Slice -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_assignment''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_assignment''' :: IMatrixClass a => a -> IMatrix -> Slice -> IMatrix -> IO ()
-imatrix_indexed_assignment''' x = casADi__Matrix_int___indexed_assignment''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IndexList' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_assignment''''
-  :: IMatrix -> IMatrix -> IndexList -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_assignment'''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_assignment'''' :: IMatrixClass a => a -> IMatrix -> IndexList -> IMatrix -> IO ()
-imatrix_indexed_assignment'''' x = casADi__Matrix_int___indexed_assignment'''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IndexList' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_assignment'''''
-  :: IMatrix -> IndexList -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_assignment''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_assignment''''' :: IMatrixClass a => a -> IndexList -> IMatrix -> IMatrix -> IO ()
-imatrix_indexed_assignment''''' x = casADi__Matrix_int___indexed_assignment''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_assignment''''''
-  :: IMatrix -> IMatrix -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_assignment'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_assignment'''''' :: IMatrixClass a => a -> IMatrix -> IMatrix -> IMatrix -> IO ()
-imatrix_indexed_assignment'''''' x = casADi__Matrix_int___indexed_assignment'''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr Sparsity' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_assignment'''''''
-  :: IMatrix -> Sparsity -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_assignment''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_assignment''''''' :: IMatrixClass a => a -> Sparsity -> IMatrix -> IO ()
-imatrix_indexed_assignment''''''' x = casADi__Matrix_int___indexed_assignment''''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_one_based_assignment_TIC_TIC" c_CasADi__Matrix_int___indexed_one_based_assignment_TIC_TIC
-  :: Ptr IMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_int___indexed_one_based_assignment''
-  :: IMatrix -> Int -> Int -> IO ()
-casADi__Matrix_int___indexed_one_based_assignment'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___indexed_one_based_assignment_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_one_based_assignment'' :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_indexed_one_based_assignment'' x = casADi__Matrix_int___indexed_one_based_assignment'' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_zero_based_assignment_TIC_TIC" c_CasADi__Matrix_int___indexed_zero_based_assignment_TIC_TIC
-  :: Ptr IMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_int___indexed_zero_based_assignment''
-  :: IMatrix -> Int -> Int -> IO ()
-casADi__Matrix_int___indexed_zero_based_assignment'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___indexed_zero_based_assignment_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_zero_based_assignment'' :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_indexed_zero_based_assignment'' x = casADi__Matrix_int___indexed_zero_based_assignment'' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_assignment''''''''
-  :: IMatrix -> Slice -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_assignment'''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_assignment'''''''' :: IMatrixClass a => a -> Slice -> IMatrix -> IO ()
-imatrix_indexed_assignment'''''''' x = casADi__Matrix_int___indexed_assignment'''''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IndexList' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___indexed_assignment'''''''''
-  :: IMatrix -> IndexList -> IMatrix -> IO ()
-casADi__Matrix_int___indexed_assignment''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_indexed_assignment''''''''' :: IMatrixClass a => a -> IndexList -> IMatrix -> IO ()
-imatrix_indexed_assignment''''''''' x = casADi__Matrix_int___indexed_assignment''''''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setZero" c_CasADi__Matrix_int___setZero
-  :: Ptr IMatrix' -> IO ()
-casADi__Matrix_int___setZero
-  :: IMatrix -> IO ()
-casADi__Matrix_int___setZero x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___setZero x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set all elements
->to zero.
--}
-imatrix_setZero :: IMatrixClass a => a -> IO ()
-imatrix_setZero x = casADi__Matrix_int___setZero (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setAll" c_CasADi__Matrix_int___setAll
-  :: Ptr IMatrix' -> CInt -> IO ()
-casADi__Matrix_int___setAll
-  :: IMatrix -> Int -> IO ()
-casADi__Matrix_int___setAll x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___setAll x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set all elements
->to a value.
--}
-imatrix_setAll :: IMatrixClass a => a -> Int -> IO ()
-imatrix_setAll x = casADi__Matrix_int___setAll (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSparse" c_CasADi__Matrix_int___setSparse
-  :: Ptr IMatrix' -> Ptr Sparsity' -> CInt -> IO (Ptr IMatrix')
-casADi__Matrix_int___setSparse
-  :: IMatrix -> Sparsity -> Bool -> IO IMatrix
-casADi__Matrix_int___setSparse x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___setSparse x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set sparse.
--}
-imatrix_setSparse :: IMatrixClass a => a -> Sparsity -> Bool -> IO IMatrix
-imatrix_setSparse x = casADi__Matrix_int___setSparse (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setSparse_TIC" c_CasADi__Matrix_int___setSparse_TIC
-  :: Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__Matrix_int___setSparse'
-  :: IMatrix -> Sparsity -> IO IMatrix
-casADi__Matrix_int___setSparse' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___setSparse_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_setSparse' :: IMatrixClass a => a -> Sparsity -> IO IMatrix
-imatrix_setSparse' x = casADi__Matrix_int___setSparse' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___densify" c_CasADi__Matrix_int___densify
-  :: Ptr IMatrix' -> CInt -> IO ()
-casADi__Matrix_int___densify
-  :: IMatrix -> Int -> IO ()
-casADi__Matrix_int___densify x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___densify x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Make the matrix
->dense.
--}
-imatrix_densify :: IMatrixClass a => a -> Int -> IO ()
-imatrix_densify x = casADi__Matrix_int___densify (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___densify_TIC" c_CasADi__Matrix_int___densify_TIC
-  :: Ptr IMatrix' -> IO ()
-casADi__Matrix_int___densify'
-  :: IMatrix -> IO ()
-casADi__Matrix_int___densify' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___densify_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_densify' :: IMatrixClass a => a -> IO ()
-imatrix_densify' x = casADi__Matrix_int___densify' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___sparsify" c_CasADi__Matrix_int___sparsify
-  :: Ptr IMatrix' -> CDouble -> IO ()
-casADi__Matrix_int___sparsify
-  :: IMatrix -> Double -> IO ()
-casADi__Matrix_int___sparsify x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___sparsify x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Make a matrix
->sparse by removing numerical zeros smaller in absolute value than a
->specified tolerance.
--}
-imatrix_sparsify :: IMatrixClass a => a -> Double -> IO ()
-imatrix_sparsify x = casADi__Matrix_int___sparsify (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___sparsify_TIC" c_CasADi__Matrix_int___sparsify_TIC
-  :: Ptr IMatrix' -> IO ()
-casADi__Matrix_int___sparsify'
-  :: IMatrix -> IO ()
-casADi__Matrix_int___sparsify' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___sparsify_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_sparsify' :: IMatrixClass a => a -> IO ()
-imatrix_sparsify' x = casADi__Matrix_int___sparsify' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___operator_plus" c_CasADi__Matrix_int___operator_plus
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___operator_plus
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___operator_plus x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___operator_plus x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_operator_plus :: IMatrixClass a => a -> IO IMatrix
-imatrix_operator_plus x = casADi__Matrix_int___operator_plus (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___operator_minus" c_CasADi__Matrix_int___operator_minus
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___operator_minus
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___operator_minus x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___operator_minus x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_operator_minus :: IMatrixClass a => a -> IO IMatrix
-imatrix_operator_minus x = casADi__Matrix_int___operator_minus (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___binary" c_CasADi__Matrix_int___binary
-  :: CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___binary
-  :: Int -> IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___binary x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___binary x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create nodes by
->their ID.
--}
-imatrix_binary :: Int -> IMatrix -> IMatrix -> IO IMatrix
-imatrix_binary = casADi__Matrix_int___binary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___unary" c_CasADi__Matrix_int___unary
-  :: CInt -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___unary
-  :: Int -> IMatrix -> IO IMatrix
-casADi__Matrix_int___unary x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___unary x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create nodes by
->their ID.
--}
-imatrix_unary :: Int -> IMatrix -> IO IMatrix
-imatrix_unary = casADi__Matrix_int___unary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___scalar_matrix" c_CasADi__Matrix_int___scalar_matrix
-  :: CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___scalar_matrix
-  :: Int -> IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___scalar_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___scalar_matrix x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create
->nodes by their ID.
--}
-imatrix_scalar_matrix :: Int -> IMatrix -> IMatrix -> IO IMatrix
-imatrix_scalar_matrix = casADi__Matrix_int___scalar_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___matrix_scalar" c_CasADi__Matrix_int___matrix_scalar
-  :: CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___matrix_scalar
-  :: Int -> IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___matrix_scalar x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___matrix_scalar x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create
->nodes by their ID.
--}
-imatrix_matrix_scalar :: Int -> IMatrix -> IMatrix -> IO IMatrix
-imatrix_matrix_scalar = casADi__Matrix_int___matrix_scalar
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___matrix_matrix" c_CasADi__Matrix_int___matrix_matrix
-  :: CInt -> Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___matrix_matrix
-  :: Int -> IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___matrix_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___matrix_matrix x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create
->nodes by their ID.
--}
-imatrix_matrix_matrix :: Int -> IMatrix -> IMatrix -> IO IMatrix
-imatrix_matrix_matrix = casADi__Matrix_int___matrix_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____add__" c_CasADi__Matrix_int_____add__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____add__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____add__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____add__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___add__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___add__ x = casADi__Matrix_int_____add__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____sub__" c_CasADi__Matrix_int_____sub__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____sub__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____sub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____sub__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___sub__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___sub__ x = casADi__Matrix_int_____sub__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____mul__" c_CasADi__Matrix_int_____mul__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____mul__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____mul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____mul__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___mul__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___mul__ x = casADi__Matrix_int_____mul__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____div__" c_CasADi__Matrix_int_____div__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____div__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____div__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____div__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___div__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___div__ x = casADi__Matrix_int_____div__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____lt__" c_CasADi__Matrix_int_____lt__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____lt__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____lt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____lt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___lt__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___lt__ x = casADi__Matrix_int_____lt__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____le__" c_CasADi__Matrix_int_____le__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____le__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____le__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____le__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___le__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___le__ x = casADi__Matrix_int_____le__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____eq__" c_CasADi__Matrix_int_____eq__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____eq__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____eq__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____eq__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___eq__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___eq__ x = casADi__Matrix_int_____eq__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____ne__" c_CasADi__Matrix_int_____ne__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____ne__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____ne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____ne__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___ne__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___ne__ x = casADi__Matrix_int_____ne__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____truediv__" c_CasADi__Matrix_int_____truediv__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____truediv__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____truediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____truediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___truediv__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___truediv__ x = casADi__Matrix_int_____truediv__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____pow__" c_CasADi__Matrix_int_____pow__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____pow__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____pow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____pow__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___pow__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___pow__ x = casADi__Matrix_int_____pow__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____constpow__" c_CasADi__Matrix_int_____constpow__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____constpow__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____constpow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____constpow__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___constpow__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___constpow__ x = casADi__Matrix_int_____constpow__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____mpower__" c_CasADi__Matrix_int_____mpower__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____mpower__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____mpower__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____mpower__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___mpower__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___mpower__ x = casADi__Matrix_int_____mpower__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____mrdivide__" c_CasADi__Matrix_int_____mrdivide__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____mrdivide__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____mrdivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____mrdivide__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-imatrix___mrdivide__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___mrdivide__ x = casADi__Matrix_int_____mrdivide__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___mul_full" c_CasADi__Matrix_int___mul_full
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__Matrix_int___mul_full
-  :: IMatrix -> IMatrix -> Sparsity -> IO IMatrix
-casADi__Matrix_int___mul_full x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___mul_full x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Matrix-matrix
->product.
--}
-imatrix_mul_full :: IMatrixClass a => a -> IMatrix -> Sparsity -> IO IMatrix
-imatrix_mul_full x = casADi__Matrix_int___mul_full (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___mul_full_TIC" c_CasADi__Matrix_int___mul_full_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___mul_full'
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___mul_full' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___mul_full_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_mul_full' :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_mul_full' x = casADi__Matrix_int___mul_full' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___mul" c_CasADi__Matrix_int___mul
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__Matrix_int___mul
-  :: IMatrix -> IMatrix -> Sparsity -> IO IMatrix
-casADi__Matrix_int___mul x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___mul x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Matrix-matrix
->product.
--}
-imatrix_mul :: IMatrixClass a => a -> IMatrix -> Sparsity -> IO IMatrix
-imatrix_mul x = casADi__Matrix_int___mul (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___mul_TIC" c_CasADi__Matrix_int___mul_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___mul'
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___mul' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___mul_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_mul' :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_mul' x = casADi__Matrix_int___mul' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___mul_no_alloc_nn" c_CasADi__Matrix_int___mul_no_alloc_nn
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___mul_no_alloc_nn
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___mul_no_alloc_nn x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___mul_no_alloc_nn x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_mul_no_alloc_nn :: IMatrix -> IMatrix -> IMatrix -> IO ()
-imatrix_mul_no_alloc_nn = casADi__Matrix_int___mul_no_alloc_nn
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___mul_no_alloc_tn" c_CasADi__Matrix_int___mul_no_alloc_tn
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___mul_no_alloc_tn
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___mul_no_alloc_tn x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___mul_no_alloc_tn x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_mul_no_alloc_tn :: IMatrix -> IMatrix -> IMatrix -> IO ()
-imatrix_mul_no_alloc_tn = casADi__Matrix_int___mul_no_alloc_tn
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___mul_no_alloc_nt" c_CasADi__Matrix_int___mul_no_alloc_nt
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___mul_no_alloc_nt
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___mul_no_alloc_nt x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___mul_no_alloc_nt x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_mul_no_alloc_nt :: IMatrix -> IMatrix -> IMatrix -> IO ()
-imatrix_mul_no_alloc_nt = casADi__Matrix_int___mul_no_alloc_nt
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___mul_no_alloc_tn_TIC" c_CasADi__Matrix_int___mul_no_alloc_tn_TIC
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_int___mul_no_alloc_tn'
-  :: IMatrix -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_int___mul_no_alloc_tn' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___mul_no_alloc_tn_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_mul_no_alloc_tn' :: IMatrix -> Vector Int -> Vector Int -> IO ()
-imatrix_mul_no_alloc_tn' = casADi__Matrix_int___mul_no_alloc_tn'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___mul_no_alloc_nn_TIC" c_CasADi__Matrix_int___mul_no_alloc_nn_TIC
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_int___mul_no_alloc_nn'
-  :: IMatrix -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_int___mul_no_alloc_nn' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___mul_no_alloc_nn_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_mul_no_alloc_nn' :: IMatrix -> Vector Int -> Vector Int -> IO ()
-imatrix_mul_no_alloc_nn' = casADi__Matrix_int___mul_no_alloc_nn'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___quad_form" c_CasADi__Matrix_int___quad_form
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> IO CInt
-casADi__Matrix_int___quad_form
-  :: IMatrix -> Vector Int -> IO Int
-casADi__Matrix_int___quad_form x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___quad_form x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_quad_form :: IMatrix -> Vector Int -> IO Int
-imatrix_quad_form = casADi__Matrix_int___quad_form
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___trans" c_CasADi__Matrix_int___trans
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___trans
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___trans x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___trans x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]   Transpose the
->matrix.
--}
-imatrix_trans :: IMatrixClass a => a -> IO IMatrix
-imatrix_trans x = casADi__Matrix_int___trans (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___sin" c_CasADi__Matrix_int___sin
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___sin
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___sin x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___sin x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_sin :: IMatrixClass a => a -> IO IMatrix
-imatrix_sin x = casADi__Matrix_int___sin (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___cos" c_CasADi__Matrix_int___cos
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___cos
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___cos x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___cos x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_cos :: IMatrixClass a => a -> IO IMatrix
-imatrix_cos x = casADi__Matrix_int___cos (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___tan" c_CasADi__Matrix_int___tan
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___tan
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___tan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___tan x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_tan :: IMatrixClass a => a -> IO IMatrix
-imatrix_tan x = casADi__Matrix_int___tan (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___arcsin" c_CasADi__Matrix_int___arcsin
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___arcsin
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___arcsin x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___arcsin x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_arcsin :: IMatrixClass a => a -> IO IMatrix
-imatrix_arcsin x = casADi__Matrix_int___arcsin (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___arccos" c_CasADi__Matrix_int___arccos
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___arccos
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___arccos x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___arccos x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_arccos :: IMatrixClass a => a -> IO IMatrix
-imatrix_arccos x = casADi__Matrix_int___arccos (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___arctan" c_CasADi__Matrix_int___arctan
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___arctan
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___arctan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___arctan x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_arctan :: IMatrixClass a => a -> IO IMatrix
-imatrix_arctan x = casADi__Matrix_int___arctan (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___exp" c_CasADi__Matrix_int___exp
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___exp
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___exp x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___exp x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_exp :: IMatrixClass a => a -> IO IMatrix
-imatrix_exp x = casADi__Matrix_int___exp (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___log" c_CasADi__Matrix_int___log
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___log
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___log x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___log x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_log :: IMatrixClass a => a -> IO IMatrix
-imatrix_log x = casADi__Matrix_int___log (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___sqrt" c_CasADi__Matrix_int___sqrt
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___sqrt
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___sqrt x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___sqrt x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_sqrt :: IMatrixClass a => a -> IO IMatrix
-imatrix_sqrt x = casADi__Matrix_int___sqrt (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___floor" c_CasADi__Matrix_int___floor
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___floor
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___floor x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___floor x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_floor :: IMatrixClass a => a -> IO IMatrix
-imatrix_floor x = casADi__Matrix_int___floor (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___ceil" c_CasADi__Matrix_int___ceil
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___ceil
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___ceil x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___ceil x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_ceil :: IMatrixClass a => a -> IO IMatrix
-imatrix_ceil x = casADi__Matrix_int___ceil (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___fabs" c_CasADi__Matrix_int___fabs
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___fabs
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___fabs x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___fabs x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_fabs :: IMatrixClass a => a -> IO IMatrix
-imatrix_fabs x = casADi__Matrix_int___fabs (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___sign" c_CasADi__Matrix_int___sign
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___sign
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___sign x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___sign x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_sign :: IMatrixClass a => a -> IO IMatrix
-imatrix_sign x = casADi__Matrix_int___sign (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int_____copysign__" c_CasADi__Matrix_int_____copysign__
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int_____copysign__
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int_____copysign__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int_____copysign__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix___copysign__ :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix___copysign__ x = casADi__Matrix_int_____copysign__ (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___erfinv" c_CasADi__Matrix_int___erfinv
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___erfinv
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___erfinv x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___erfinv x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_erfinv :: IMatrixClass a => a -> IO IMatrix
-imatrix_erfinv x = casADi__Matrix_int___erfinv (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___fmin" c_CasADi__Matrix_int___fmin
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___fmin
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___fmin x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___fmin x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_fmin :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_fmin x = casADi__Matrix_int___fmin (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___fmax" c_CasADi__Matrix_int___fmax
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___fmax
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___fmax x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___fmax x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_fmax :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_fmax x = casADi__Matrix_int___fmax (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___erf" c_CasADi__Matrix_int___erf
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___erf
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___erf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___erf x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_erf :: IMatrixClass a => a -> IO IMatrix
-imatrix_erf x = casADi__Matrix_int___erf (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___sinh" c_CasADi__Matrix_int___sinh
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___sinh
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___sinh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___sinh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_sinh :: IMatrixClass a => a -> IO IMatrix
-imatrix_sinh x = casADi__Matrix_int___sinh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___cosh" c_CasADi__Matrix_int___cosh
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___cosh
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___cosh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___cosh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_cosh :: IMatrixClass a => a -> IO IMatrix
-imatrix_cosh x = casADi__Matrix_int___cosh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___tanh" c_CasADi__Matrix_int___tanh
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___tanh
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___tanh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___tanh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_tanh :: IMatrixClass a => a -> IO IMatrix
-imatrix_tanh x = casADi__Matrix_int___tanh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___arcsinh" c_CasADi__Matrix_int___arcsinh
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___arcsinh
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___arcsinh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___arcsinh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_arcsinh :: IMatrixClass a => a -> IO IMatrix
-imatrix_arcsinh x = casADi__Matrix_int___arcsinh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___arccosh" c_CasADi__Matrix_int___arccosh
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___arccosh
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___arccosh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___arccosh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_arccosh :: IMatrixClass a => a -> IO IMatrix
-imatrix_arccosh x = casADi__Matrix_int___arccosh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___arctanh" c_CasADi__Matrix_int___arctanh
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___arctanh
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___arctanh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___arctanh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_arctanh :: IMatrixClass a => a -> IO IMatrix
-imatrix_arctanh x = casADi__Matrix_int___arctanh (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___arctan2" c_CasADi__Matrix_int___arctan2
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___arctan2
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___arctan2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___arctan2 x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_arctan2 :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_arctan2 x = casADi__Matrix_int___arctan2 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___log10" c_CasADi__Matrix_int___log10
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___log10
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___log10 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___log10 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-imatrix_log10 :: IMatrixClass a => a -> IO IMatrix
-imatrix_log10 x = casADi__Matrix_int___log10 (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___printme" c_CasADi__Matrix_int___printme
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___printme
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___printme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___printme x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_printme :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_printme x = casADi__Matrix_int___printme (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___logic_not" c_CasADi__Matrix_int___logic_not
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___logic_not
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___logic_not x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___logic_not x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_logic_not :: IMatrixClass a => a -> IO IMatrix
-imatrix_logic_not x = casADi__Matrix_int___logic_not (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___logic_and" c_CasADi__Matrix_int___logic_and
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___logic_and
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___logic_and x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___logic_and x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_logic_and :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_logic_and x = casADi__Matrix_int___logic_and (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___logic_or" c_CasADi__Matrix_int___logic_or
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___logic_or
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___logic_or x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___logic_or x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_logic_or :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_logic_or x = casADi__Matrix_int___logic_or (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___if_else_zero" c_CasADi__Matrix_int___if_else_zero
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___if_else_zero
-  :: IMatrix -> IMatrix -> IO IMatrix
-casADi__Matrix_int___if_else_zero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___if_else_zero x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-imatrix_if_else_zero :: IMatrixClass a => a -> IMatrix -> IO IMatrix
-imatrix_if_else_zero x = casADi__Matrix_int___if_else_zero (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setMaxNumCallsInPrint" c_CasADi__Matrix_int___setMaxNumCallsInPrint
-  :: CLong -> IO ()
-casADi__Matrix_int___setMaxNumCallsInPrint
-  :: Int -> IO ()
-casADi__Matrix_int___setMaxNumCallsInPrint x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___setMaxNumCallsInPrint x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_setMaxNumCallsInPrint :: Int -> IO ()
-imatrix_setMaxNumCallsInPrint = casADi__Matrix_int___setMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setMaxNumCallsInPrint_TIC" c_CasADi__Matrix_int___setMaxNumCallsInPrint_TIC
-  :: IO ()
-casADi__Matrix_int___setMaxNumCallsInPrint'
-  :: IO ()
-casADi__Matrix_int___setMaxNumCallsInPrint'  =
-  c_CasADi__Matrix_int___setMaxNumCallsInPrint_TIC  >>= wrapReturn
-
--- classy wrapper
-imatrix_setMaxNumCallsInPrint' :: IO ()
-imatrix_setMaxNumCallsInPrint' = casADi__Matrix_int___setMaxNumCallsInPrint'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___getMaxNumCallsInPrint" c_CasADi__Matrix_int___getMaxNumCallsInPrint
-  :: IO CLong
-casADi__Matrix_int___getMaxNumCallsInPrint
-  :: IO Int
-casADi__Matrix_int___getMaxNumCallsInPrint  =
-  c_CasADi__Matrix_int___getMaxNumCallsInPrint  >>= wrapReturn
-
--- classy wrapper
-imatrix_getMaxNumCallsInPrint :: IO Int
-imatrix_getMaxNumCallsInPrint = casADi__Matrix_int___getMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setEqualityCheckingDepth" c_CasADi__Matrix_int___setEqualityCheckingDepth
-  :: CInt -> IO ()
-casADi__Matrix_int___setEqualityCheckingDepth
-  :: Int -> IO ()
-casADi__Matrix_int___setEqualityCheckingDepth x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___setEqualityCheckingDepth x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_setEqualityCheckingDepth :: Int -> IO ()
-imatrix_setEqualityCheckingDepth = casADi__Matrix_int___setEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setEqualityCheckingDepth_TIC" c_CasADi__Matrix_int___setEqualityCheckingDepth_TIC
-  :: IO ()
-casADi__Matrix_int___setEqualityCheckingDepth'
-  :: IO ()
-casADi__Matrix_int___setEqualityCheckingDepth'  =
-  c_CasADi__Matrix_int___setEqualityCheckingDepth_TIC  >>= wrapReturn
-
--- classy wrapper
-imatrix_setEqualityCheckingDepth' :: IO ()
-imatrix_setEqualityCheckingDepth' = casADi__Matrix_int___setEqualityCheckingDepth'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___getEqualityCheckingDepth" c_CasADi__Matrix_int___getEqualityCheckingDepth
-  :: IO CInt
-casADi__Matrix_int___getEqualityCheckingDepth
-  :: IO Int
-casADi__Matrix_int___getEqualityCheckingDepth  =
-  c_CasADi__Matrix_int___getEqualityCheckingDepth  >>= wrapReturn
-
--- classy wrapper
-imatrix_getEqualityCheckingDepth :: IO Int
-imatrix_getEqualityCheckingDepth = casADi__Matrix_int___getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___className" c_CasADi__Matrix_int___className
-  :: IO (Ptr StdString')
-casADi__Matrix_int___className
-  :: IO String
-casADi__Matrix_int___className  =
-  c_CasADi__Matrix_int___className  >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Printing.
--}
-imatrix_className :: IO String
-imatrix_className = casADi__Matrix_int___className
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___printScalar_TIC" c_CasADi__Matrix_int___printScalar_TIC
-  :: Ptr IMatrix' -> IO ()
-casADi__Matrix_int___printScalar'
-  :: IMatrix -> IO ()
-casADi__Matrix_int___printScalar' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___printScalar_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_printScalar' :: IMatrixClass a => a -> IO ()
-imatrix_printScalar' x = casADi__Matrix_int___printScalar' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___printVector_TIC" c_CasADi__Matrix_int___printVector_TIC
-  :: Ptr IMatrix' -> IO ()
-casADi__Matrix_int___printVector'
-  :: IMatrix -> IO ()
-casADi__Matrix_int___printVector' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___printVector_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_printVector' :: IMatrixClass a => a -> IO ()
-imatrix_printVector' x = casADi__Matrix_int___printVector' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___printDense_TIC" c_CasADi__Matrix_int___printDense_TIC
-  :: Ptr IMatrix' -> IO ()
-casADi__Matrix_int___printDense'
-  :: IMatrix -> IO ()
-casADi__Matrix_int___printDense' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___printDense_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_printDense' :: IMatrixClass a => a -> IO ()
-imatrix_printDense' x = casADi__Matrix_int___printDense' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___printSparse_TIC" c_CasADi__Matrix_int___printSparse_TIC
-  :: Ptr IMatrix' -> IO ()
-casADi__Matrix_int___printSparse'
-  :: IMatrix -> IO ()
-casADi__Matrix_int___printSparse' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___printSparse_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_printSparse' :: IMatrixClass a => a -> IO ()
-imatrix_printSparse' x = casADi__Matrix_int___printSparse' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___row" c_CasADi__Matrix_int___row
-  :: Ptr IMatrix' -> CInt -> IO CInt
-casADi__Matrix_int___row
-  :: IMatrix -> Int -> IO Int
-casADi__Matrix_int___row x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___row x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-imatrix_row :: IMatrixClass a => a -> Int -> IO Int
-imatrix_row x = casADi__Matrix_int___row (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___colind" c_CasADi__Matrix_int___colind
-  :: Ptr IMatrix' -> CInt -> IO CInt
-casADi__Matrix_int___colind
-  :: IMatrix -> Int -> IO Int
-casADi__Matrix_int___colind x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___colind x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-imatrix_colind :: IMatrixClass a => a -> Int -> IO Int
-imatrix_colind x = casADi__Matrix_int___colind (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___clear" c_CasADi__Matrix_int___clear
-  :: Ptr IMatrix' -> IO ()
-casADi__Matrix_int___clear
-  :: IMatrix -> IO ()
-casADi__Matrix_int___clear x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___clear x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-imatrix_clear :: IMatrixClass a => a -> IO ()
-imatrix_clear x = casADi__Matrix_int___clear (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___resize" c_CasADi__Matrix_int___resize
-  :: Ptr IMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_int___resize
-  :: IMatrix -> Int -> Int -> IO ()
-casADi__Matrix_int___resize x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___resize x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-imatrix_resize :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_resize x = casADi__Matrix_int___resize (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___reserve" c_CasADi__Matrix_int___reserve
-  :: Ptr IMatrix' -> CInt -> IO ()
-casADi__Matrix_int___reserve
-  :: IMatrix -> Int -> IO ()
-casADi__Matrix_int___reserve x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___reserve x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-imatrix_reserve :: IMatrixClass a => a -> Int -> IO ()
-imatrix_reserve x = casADi__Matrix_int___reserve (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___reserve_TIC" c_CasADi__Matrix_int___reserve_TIC
-  :: Ptr IMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_int___reserve'
-  :: IMatrix -> Int -> Int -> IO ()
-casADi__Matrix_int___reserve' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___reserve_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_reserve' :: IMatrixClass a => a -> Int -> Int -> IO ()
-imatrix_reserve' x = casADi__Matrix_int___reserve' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___erase" c_CasADi__Matrix_int___erase
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_int___erase
-  :: IMatrix -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_int___erase x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___erase x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Erase a submatrix
->Erase rows and/or columns of a matrix.
--}
-imatrix_erase :: IMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
-imatrix_erase x = casADi__Matrix_int___erase (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___remove" c_CasADi__Matrix_int___remove
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_int___remove
-  :: IMatrix -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_int___remove x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___remove x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
-> [INTERNAL]  Remove cols or
->rows Rremove/delete rows and/or columns of a matrix.
--}
-imatrix_remove :: IMatrixClass a => a -> Vector Int -> Vector Int -> IO ()
-imatrix_remove x = casADi__Matrix_int___remove (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___enlarge" c_CasADi__Matrix_int___enlarge
-  :: Ptr IMatrix' -> CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_int___enlarge
-  :: IMatrix -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_int___enlarge x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Matrix_int___enlarge x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Enlarge matrix
->Make the matrix larger by inserting empty rows and columns, keeping the
->existing non-zeros.
--}
-imatrix_enlarge :: IMatrixClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-imatrix_enlarge x = casADi__Matrix_int___enlarge (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___data" c_CasADi__Matrix_int___data
-  :: Ptr IMatrix' -> IO (Ptr (CppVec CInt))
-casADi__Matrix_int___data
-  :: IMatrix -> IO (Vector Int)
-casADi__Matrix_int___data x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___data x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  std::vector< DataType > & CasADi::Matrix< DataType >::data()
->------------------------------------------------------------------------
->[INTERNAL] 
->Access the non-zero elements.
->
->>  const std::vector< DataType > & CasADi::Matrix< DataType >::data() const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Const access the non-zero elements.
--}
-imatrix_data :: IMatrixClass a => a -> IO (Vector Int)
-imatrix_data x = casADi__Matrix_int___data (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___sparsityRef" c_CasADi__Matrix_int___sparsityRef
-  :: Ptr IMatrix' -> IO (Ptr Sparsity')
-casADi__Matrix_int___sparsityRef
-  :: IMatrix -> IO Sparsity
-casADi__Matrix_int___sparsityRef x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___sparsityRef x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Access the
->sparsity, make a copy if there are multiple references to it.
--}
-imatrix_sparsityRef :: IMatrixClass a => a -> IO Sparsity
-imatrix_sparsityRef x = casADi__Matrix_int___sparsityRef (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___set" c_CasADi__Matrix_int___set
-  :: Ptr IMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_int___set
-  :: IMatrix -> Int -> SparsityType -> IO ()
-casADi__Matrix_int___set x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___set x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< DataType >::set(DataType val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set the non-zero elements, scalar.
->
->>  void CasADi::Matrix< DataType >::set(const std::vector< DataType > &val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set the non-zero elements, vector.
->
->>  void CasADi::Matrix< DataType >::set(const Matrix< DataType > &val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set the non-zero elements, Matrix.
->
->>  void CasADi::Matrix< DataType >::set(const DataType *val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Legacy - use setArray instead.
--}
-imatrix_set :: IMatrixClass a => a -> Int -> SparsityType -> IO ()
-imatrix_set x = casADi__Matrix_int___set (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___set_TIC" c_CasADi__Matrix_int___set_TIC
-  :: Ptr IMatrix' -> CInt -> IO ()
-casADi__Matrix_int___set'
-  :: IMatrix -> Int -> IO ()
-casADi__Matrix_int___set' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___set_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_set' :: IMatrixClass a => a -> Int -> IO ()
-imatrix_set' x = casADi__Matrix_int___set' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___get" c_CasADi__Matrix_int___get
-  :: Ptr IMatrix' -> CInt -> CInt -> IO ()
-casADi__Matrix_int___get
-  :: IMatrix -> Int -> SparsityType -> IO ()
-casADi__Matrix_int___get x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___get x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< DataType >::get(DataType &val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get the non-zero elements, scalar.
->
->>  void CasADi::Matrix< DataType >::get(std::vector< DataType > &val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get the non-zero elements, vector.
->
->>  void CasADi::Matrix< DataType >::get(Matrix< DataType > &val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get the non-zero elements, Matrix.
->
->>  void CasADi::Matrix< DataType >::get(DataType *val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Legacy - use getArray instead.
--}
-imatrix_get :: IMatrixClass a => a -> Int -> SparsityType -> IO ()
-imatrix_get x = casADi__Matrix_int___get (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___get_TIC" c_CasADi__Matrix_int___get_TIC
-  :: Ptr IMatrix' -> CInt -> IO ()
-casADi__Matrix_int___get'
-  :: IMatrix -> Int -> IO ()
-casADi__Matrix_int___get' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___get_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_get' :: IMatrixClass a => a -> Int -> IO ()
-imatrix_get' x = casADi__Matrix_int___get' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___set_TIC_TIC" c_CasADi__Matrix_int___set_TIC_TIC
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> CInt -> IO ()
-casADi__Matrix_int___set''
-  :: IMatrix -> Vector Int -> SparsityType -> IO ()
-casADi__Matrix_int___set'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___set_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_set'' :: IMatrixClass a => a -> Vector Int -> SparsityType -> IO ()
-imatrix_set'' x = casADi__Matrix_int___set'' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___set_TIC_TIC_TIC" c_CasADi__Matrix_int___set_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_int___set'''
-  :: IMatrix -> Vector Int -> IO ()
-casADi__Matrix_int___set''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___set_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_set''' :: IMatrixClass a => a -> Vector Int -> IO ()
-imatrix_set''' x = casADi__Matrix_int___set''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___get_TIC_TIC" c_CasADi__Matrix_int___get_TIC_TIC
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> CInt -> IO ()
-casADi__Matrix_int___get''
-  :: IMatrix -> Vector Int -> SparsityType -> IO ()
-casADi__Matrix_int___get'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___get_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_get'' :: IMatrixClass a => a -> Vector Int -> SparsityType -> IO ()
-imatrix_get'' x = casADi__Matrix_int___get'' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___get_TIC_TIC_TIC" c_CasADi__Matrix_int___get_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_int___get'''
-  :: IMatrix -> Vector Int -> IO ()
-casADi__Matrix_int___get''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___get_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_get''' :: IMatrixClass a => a -> Vector Int -> IO ()
-imatrix_get''' x = casADi__Matrix_int___get''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___set_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___set_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO ()
-casADi__Matrix_int___set''''
-  :: IMatrix -> IMatrix -> SparsityType -> IO ()
-casADi__Matrix_int___set'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___set_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_set'''' :: IMatrixClass a => a -> IMatrix -> SparsityType -> IO ()
-imatrix_set'''' x = casADi__Matrix_int___set'''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___set_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___set_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___set'''''
-  :: IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___set''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___set_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_set''''' :: IMatrixClass a => a -> IMatrix -> IO ()
-imatrix_set''''' x = casADi__Matrix_int___set''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___get_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___get_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> CInt -> IO ()
-casADi__Matrix_int___get''''
-  :: IMatrix -> IMatrix -> SparsityType -> IO ()
-casADi__Matrix_int___get'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___get_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_get'''' :: IMatrixClass a => a -> IMatrix -> SparsityType -> IO ()
-imatrix_get'''' x = casADi__Matrix_int___get'''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___get_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___get_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_int___get'''''
-  :: IMatrix -> IMatrix -> IO ()
-casADi__Matrix_int___get''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___get_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_get''''' :: IMatrixClass a => a -> IMatrix -> IO ()
-imatrix_get''''' x = casADi__Matrix_int___get''''' (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___triplet" c_CasADi__Matrix_int___triplet
-  :: Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr IMatrix')
-casADi__Matrix_int___triplet
-  :: Vector Int -> Vector Int -> Vector Int -> IO IMatrix
-casADi__Matrix_int___triplet x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___triplet x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-imatrix_triplet :: Vector Int -> Vector Int -> Vector Int -> IO IMatrix
-imatrix_triplet = casADi__Matrix_int___triplet
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___triplet_TIC" c_CasADi__Matrix_int___triplet_TIC
-  :: Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> CInt -> CInt -> IO (Ptr IMatrix')
-casADi__Matrix_int___triplet'
-  :: Vector Int -> Vector Int -> Vector Int -> Int -> Int -> IO IMatrix
-casADi__Matrix_int___triplet' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Matrix_int___triplet_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-imatrix_triplet' :: Vector Int -> Vector Int -> Vector Int -> Int -> Int -> IO IMatrix
-imatrix_triplet' = casADi__Matrix_int___triplet'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___inf" c_CasADi__Matrix_int___inf
-  :: Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__Matrix_int___inf
-  :: Sparsity -> IO IMatrix
-casADi__Matrix_int___inf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___inf x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  create a matrix with
->all inf
--}
-imatrix_inf :: Sparsity -> IO IMatrix
-imatrix_inf = casADi__Matrix_int___inf
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___inf_TIC" c_CasADi__Matrix_int___inf_TIC
-  :: CInt -> CInt -> IO (Ptr IMatrix')
-casADi__Matrix_int___inf'
-  :: Int -> Int -> IO IMatrix
-casADi__Matrix_int___inf' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___inf_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_inf' :: Int -> Int -> IO IMatrix
-imatrix_inf' = casADi__Matrix_int___inf'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___inf_TIC_TIC" c_CasADi__Matrix_int___inf_TIC_TIC
-  :: CInt -> IO (Ptr IMatrix')
-casADi__Matrix_int___inf''
-  :: Int -> IO IMatrix
-casADi__Matrix_int___inf'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___inf_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_inf'' :: Int -> IO IMatrix
-imatrix_inf'' = casADi__Matrix_int___inf''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___inf_TIC_TIC_TIC" c_CasADi__Matrix_int___inf_TIC_TIC_TIC
-  :: IO (Ptr IMatrix')
-casADi__Matrix_int___inf'''
-  :: IO IMatrix
-casADi__Matrix_int___inf'''  =
-  c_CasADi__Matrix_int___inf_TIC_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-imatrix_inf''' :: IO IMatrix
-imatrix_inf''' = casADi__Matrix_int___inf'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___nan" c_CasADi__Matrix_int___nan
-  :: Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__Matrix_int___nan
-  :: Sparsity -> IO IMatrix
-casADi__Matrix_int___nan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___nan x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  create a matrix with
->all nan
--}
-imatrix_nan :: Sparsity -> IO IMatrix
-imatrix_nan = casADi__Matrix_int___nan
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___nan_TIC" c_CasADi__Matrix_int___nan_TIC
-  :: CInt -> CInt -> IO (Ptr IMatrix')
-casADi__Matrix_int___nan'
-  :: Int -> Int -> IO IMatrix
-casADi__Matrix_int___nan' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___nan_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_nan' :: Int -> Int -> IO IMatrix
-imatrix_nan' = casADi__Matrix_int___nan'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___nan_TIC_TIC" c_CasADi__Matrix_int___nan_TIC_TIC
-  :: CInt -> IO (Ptr IMatrix')
-casADi__Matrix_int___nan''
-  :: Int -> IO IMatrix
-casADi__Matrix_int___nan'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___nan_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_nan'' :: Int -> IO IMatrix
-imatrix_nan'' = casADi__Matrix_int___nan''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___nan_TIC_TIC_TIC" c_CasADi__Matrix_int___nan_TIC_TIC_TIC
-  :: IO (Ptr IMatrix')
-casADi__Matrix_int___nan'''
-  :: IO IMatrix
-casADi__Matrix_int___nan'''  =
-  c_CasADi__Matrix_int___nan_TIC_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-imatrix_nan''' :: IO IMatrix
-imatrix_nan''' = casADi__Matrix_int___nan'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___repmat" c_CasADi__Matrix_int___repmat
-  :: CInt -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__Matrix_int___repmat
-  :: Int -> Sparsity -> IO IMatrix
-casADi__Matrix_int___repmat x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___repmat x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  create a matrix
->by repeating an existing matrix
--}
-imatrix_repmat :: Int -> Sparsity -> IO IMatrix
-imatrix_repmat = casADi__Matrix_int___repmat
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___repmat_TIC" c_CasADi__Matrix_int___repmat_TIC
-  :: Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__Matrix_int___repmat'
-  :: IMatrix -> Sparsity -> IO IMatrix
-casADi__Matrix_int___repmat' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___repmat_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_repmat' :: IMatrix -> Sparsity -> IO IMatrix
-imatrix_repmat' = casADi__Matrix_int___repmat'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___repmat_TIC_TIC" c_CasADi__Matrix_int___repmat_TIC_TIC
-  :: Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
-casADi__Matrix_int___repmat''
-  :: IMatrix -> Int -> Int -> IO IMatrix
-casADi__Matrix_int___repmat'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___repmat_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix_repmat'' :: IMatrix -> Int -> Int -> IO IMatrix
-imatrix_repmat'' = casADi__Matrix_int___repmat''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___repmat_TIC_TIC_TIC" c_CasADi__Matrix_int___repmat_TIC_TIC_TIC
-  :: Ptr IMatrix' -> CInt -> IO (Ptr IMatrix')
-casADi__Matrix_int___repmat'''
-  :: IMatrix -> Int -> IO IMatrix
-casADi__Matrix_int___repmat''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___repmat_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix_repmat''' :: IMatrix -> Int -> IO IMatrix
-imatrix_repmat''' = casADi__Matrix_int___repmat'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___eye" c_CasADi__Matrix_int___eye
-  :: CInt -> IO (Ptr IMatrix')
-casADi__Matrix_int___eye
-  :: Int -> IO IMatrix
-casADi__Matrix_int___eye x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___eye x0' >>= wrapReturn
-
--- classy wrapper
-imatrix_eye :: Int -> IO IMatrix
-imatrix_eye = casADi__Matrix_int___eye
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___isRegular" c_CasADi__Matrix_int___isRegular
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___isRegular
-  :: IMatrix -> IO Bool
-casADi__Matrix_int___isRegular x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___isRegular x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Checks if
->expression does not contain NaN or Inf.
--}
-imatrix_isRegular :: IMatrixClass a => a -> IO Bool
-imatrix_isRegular x = casADi__Matrix_int___isRegular (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___isSmooth" c_CasADi__Matrix_int___isSmooth
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___isSmooth
-  :: IMatrix -> IO Bool
-casADi__Matrix_int___isSmooth x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___isSmooth x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if
->smooth.
--}
-imatrix_isSmooth :: IMatrixClass a => a -> IO Bool
-imatrix_isSmooth x = casADi__Matrix_int___isSmooth (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___isSymbolic" c_CasADi__Matrix_int___isSymbolic
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___isSymbolic
-  :: IMatrix -> IO Bool
-casADi__Matrix_int___isSymbolic x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___isSymbolic x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if
->symbolic (Dense) Sparse matrices invariable return false.
--}
-imatrix_isSymbolic :: IMatrixClass a => a -> IO Bool
-imatrix_isSymbolic x = casADi__Matrix_int___isSymbolic (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___isSymbolicSparse" c_CasADi__Matrix_int___isSymbolicSparse
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___isSymbolicSparse
-  :: IMatrix -> IO Bool
-casADi__Matrix_int___isSymbolicSparse x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___isSymbolicSparse x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check
->if symbolic Sparse matrices can return true if all non-zero elements are
->symbolic.
--}
-imatrix_isSymbolicSparse :: IMatrixClass a => a -> IO Bool
-imatrix_isSymbolicSparse x = casADi__Matrix_int___isSymbolicSparse (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___isConstant" c_CasADi__Matrix_int___isConstant
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___isConstant
-  :: IMatrix -> IO Bool
-casADi__Matrix_int___isConstant x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___isConstant x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if the
->matrix is constant (note that false negative answers are possible)
--}
-imatrix_isConstant :: IMatrixClass a => a -> IO Bool
-imatrix_isConstant x = casADi__Matrix_int___isConstant (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___isInteger" c_CasADi__Matrix_int___isInteger
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___isInteger
-  :: IMatrix -> IO Bool
-casADi__Matrix_int___isInteger x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___isInteger x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if the
->matrix is integer-valued (note that false negative answers are possible)
--}
-imatrix_isInteger :: IMatrixClass a => a -> IO Bool
-imatrix_isInteger x = casADi__Matrix_int___isInteger (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___isZero" c_CasADi__Matrix_int___isZero
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___isZero
-  :: IMatrix -> IO Bool
-casADi__Matrix_int___isZero x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___isZero x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is 0 (note that false negative answers are possible)
--}
-imatrix_isZero :: IMatrixClass a => a -> IO Bool
-imatrix_isZero x = casADi__Matrix_int___isZero (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___isOne" c_CasADi__Matrix_int___isOne
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___isOne
-  :: IMatrix -> IO Bool
-casADi__Matrix_int___isOne x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___isOne x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is 1 (note that false negative answers are possible)
--}
-imatrix_isOne :: IMatrixClass a => a -> IO Bool
-imatrix_isOne x = casADi__Matrix_int___isOne (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___isMinusOne" c_CasADi__Matrix_int___isMinusOne
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___isMinusOne
-  :: IMatrix -> IO Bool
-casADi__Matrix_int___isMinusOne x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___isMinusOne x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is -1 (note that false negative answers are possible)
--}
-imatrix_isMinusOne :: IMatrixClass a => a -> IO Bool
-imatrix_isMinusOne x = casADi__Matrix_int___isMinusOne (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___isIdentity" c_CasADi__Matrix_int___isIdentity
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___isIdentity
-  :: IMatrix -> IO Bool
-casADi__Matrix_int___isIdentity x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___isIdentity x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is an identity matrix (note that false negative answers are possible)
--}
-imatrix_isIdentity :: IMatrixClass a => a -> IO Bool
-imatrix_isIdentity x = casADi__Matrix_int___isIdentity (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___isEqual" c_CasADi__Matrix_int___isEqual
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___isEqual
-  :: IMatrix -> IMatrix -> IO Bool
-casADi__Matrix_int___isEqual x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___isEqual x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if two
->expressions are equal May give false negatives.
->
->Note: does not work when CasadiOptions.setSimplificationOnTheFly(False) was
->called
--}
-imatrix_isEqual :: IMatrixClass a => a -> IMatrix -> IO Bool
-imatrix_isEqual x = casADi__Matrix_int___isEqual (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___hasNonStructuralZeros" c_CasADi__Matrix_int___hasNonStructuralZeros
-  :: Ptr IMatrix' -> IO CInt
-casADi__Matrix_int___hasNonStructuralZeros
-  :: IMatrix -> IO Bool
-casADi__Matrix_int___hasNonStructuralZeros x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___hasNonStructuralZeros x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]
->Check if the matrix has any zero entries which are not structural zeros.
--}
-imatrix_hasNonStructuralZeros :: IMatrixClass a => a -> IO Bool
-imatrix_hasNonStructuralZeros x = casADi__Matrix_int___hasNonStructuralZeros (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___getValue" c_CasADi__Matrix_int___getValue
-  :: Ptr IMatrix' -> IO CDouble
-casADi__Matrix_int___getValue
-  :: IMatrix -> IO Double
-casADi__Matrix_int___getValue x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___getValue x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Get double
->value (only if constant)
--}
-imatrix_getValue :: IMatrixClass a => a -> IO Double
-imatrix_getValue x = casADi__Matrix_int___getValue (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___getName" c_CasADi__Matrix_int___getName
-  :: Ptr IMatrix' -> IO (Ptr StdString')
-casADi__Matrix_int___getName
-  :: IMatrix -> IO String
-casADi__Matrix_int___getName x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___getName x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Get name (only
->if symbolic scalar)
--}
-imatrix_getName :: IMatrixClass a => a -> IO String
-imatrix_getName x = casADi__Matrix_int___getName (castIMatrix x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setPrecision" c_CasADi__Matrix_int___setPrecision
-  :: CInt -> IO ()
-casADi__Matrix_int___setPrecision
-  :: Int -> IO ()
-casADi__Matrix_int___setPrecision x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___setPrecision x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the 'precision, width & scientific' used in printing and serializing to
->streams.
--}
-imatrix_setPrecision :: Int -> IO ()
-imatrix_setPrecision = casADi__Matrix_int___setPrecision
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setWidth" c_CasADi__Matrix_int___setWidth
-  :: CInt -> IO ()
-casADi__Matrix_int___setWidth
-  :: Int -> IO ()
-casADi__Matrix_int___setWidth x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___setWidth x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the 'precision, width & scientific' used in printing and serializing to
->streams.
--}
-imatrix_setWidth :: Int -> IO ()
-imatrix_setWidth = casADi__Matrix_int___setWidth
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___setScientific" c_CasADi__Matrix_int___setScientific
-  :: CInt -> IO ()
-casADi__Matrix_int___setScientific
-  :: Bool -> IO ()
-casADi__Matrix_int___setScientific x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___setScientific x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the 'precision, width & scientific' used in printing and serializing to
->streams.
--}
-imatrix_setScientific :: Bool -> IO ()
-imatrix_setScientific = casADi__Matrix_int___setScientific
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___IMatrix" c_CasADi__Matrix_int___IMatrix
-  :: IO (Ptr IMatrix')
-casADi__Matrix_int___IMatrix
-  :: IO IMatrix
-casADi__Matrix_int___IMatrix  =
-  c_CasADi__Matrix_int___IMatrix  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::Matrix< DataType >::Matrix(int nrow, int ncol)
->
->>  CasADi::Matrix< DataType >::Matrix(int nrow, int ncol, const DataType &val)
->
->>  CasADi::Matrix< DataType >::Matrix(int nrow, int ncol, const std::vector< int > &colind, const std::vector< int > &row, const std::vector< DataType > &d=std::vector< DataType >())
->------------------------------------------------------------------------
->
->[DEPRECATED]
->
->>  CasADi::Matrix< DataType >::Matrix(const Sparsity &sparsity, const DataType &val=DataType(0))
->------------------------------------------------------------------------
->[INTERNAL] 
->Sparse matrix with a given sparsity.
->
->>  CasADi::Matrix< DataType >::Matrix()
->------------------------------------------------------------------------
->[INTERNAL] 
->constructors
->
->empty 0-by-0 matrix constructor
->
->>  CasADi::Matrix< DataType >::Matrix(const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Copy constructor.
->
->>  CasADi::Matrix< DataType >::Matrix(const std::vector< std::vector< DataType > > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Dense matrix constructor with data given as vector of vectors.
->
->>  CasADi::Matrix< DataType >::Matrix(const Sparsity &sparsity, const std::vector< DataType > &d)
->------------------------------------------------------------------------
->[INTERNAL] 
->Sparse matrix with a given sparsity and non-zero elements.
->
->>  CasADi::Matrix< DataType >::Matrix(double val)
->------------------------------------------------------------------------
->[INTERNAL] 
->This constructor enables implicit type conversion from a numeric type.
->
->>  CasADi::Matrix< DataType >::Matrix(const std::vector< DataType > &x)
->------------------------------------------------------------------------
->[INTERNAL] 
->Construct from a vector.
->
->Thanks to implicit conversion, you can pretend that Matrix(const SXElement&
->x); exists. Note: above remark applies only to C++, not python or octave
->interfaces
->
->>  CasADi::Matrix< DataType >::Matrix(const std::vector< DataType > &x, int nrow, int ncol)
->------------------------------------------------------------------------
->[INTERNAL] 
->Construct dense matrix from a vector with the elements in column major
->ordering.
->
->>  CasADi::Matrix< T >::Matrix(const Matrix< A > &x)
->------------------------------------------------------------------------
->
->Create a matrix from a matrix with a different type of matrix entries
->(assuming that the scalar conversion is valid)
->
->>  CasADi::Matrix< T >::Matrix(const std::vector< A > &x)
->------------------------------------------------------------------------
->
->Create an expression from an stl vector.
->
->>  CasADi::Matrix< T >::Matrix(const std::vector< A > &x, int nrow, int ncol)
->------------------------------------------------------------------------
->
->Create a non-vector expression from an stl vector.
--}
-imatrix :: IO IMatrix
-imatrix = casADi__Matrix_int___IMatrix
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___IMatrix_TIC" c_CasADi__Matrix_int___IMatrix_TIC
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-casADi__Matrix_int___IMatrix'
-  :: IMatrix -> IO IMatrix
-casADi__Matrix_int___IMatrix' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___IMatrix_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix' :: IMatrix -> IO IMatrix
-imatrix' = casADi__Matrix_int___IMatrix'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___IMatrix_TIC_TIC" c_CasADi__Matrix_int___IMatrix_TIC_TIC
-  :: Ptr (CppVec (Ptr (CppVec CInt))) -> IO (Ptr IMatrix')
-casADi__Matrix_int___IMatrix''
-  :: Vector (Vector Int) -> IO IMatrix
-casADi__Matrix_int___IMatrix'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___IMatrix_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix'' :: Vector (Vector Int) -> IO IMatrix
-imatrix'' = casADi__Matrix_int___IMatrix''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___IMatrix_TIC_TIC_TIC" c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC
-  :: Ptr Sparsity' -> CInt -> IO (Ptr IMatrix')
-casADi__Matrix_int___IMatrix'''
-  :: Sparsity -> Int -> IO IMatrix
-casADi__Matrix_int___IMatrix''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix''' :: Sparsity -> Int -> IO IMatrix
-imatrix''' = casADi__Matrix_int___IMatrix'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr IMatrix')
-casADi__Matrix_int___IMatrix''''
-  :: Sparsity -> IO IMatrix
-casADi__Matrix_int___IMatrix'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix'''' :: Sparsity -> IO IMatrix
-imatrix'''' = casADi__Matrix_int___IMatrix''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> IO (Ptr IMatrix')
-casADi__Matrix_int___IMatrix'''''
-  :: Sparsity -> Vector Int -> IO IMatrix
-casADi__Matrix_int___IMatrix''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-imatrix''''' :: Sparsity -> Vector Int -> IO IMatrix
-imatrix''''' = casADi__Matrix_int___IMatrix'''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC_TIC
-  :: CDouble -> IO (Ptr IMatrix')
-casADi__Matrix_int___IMatrix''''''
-  :: Double -> IO IMatrix
-casADi__Matrix_int___IMatrix'''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix'''''' :: Double -> IO IMatrix
-imatrix'''''' = casADi__Matrix_int___IMatrix''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CInt) -> IO (Ptr IMatrix')
-casADi__Matrix_int___IMatrix'''''''
-  :: Vector Int -> IO IMatrix
-casADi__Matrix_int___IMatrix''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-imatrix''''''' :: Vector Int -> IO IMatrix
-imatrix''''''' = casADi__Matrix_int___IMatrix'''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CInt) -> CInt -> CInt -> IO (Ptr IMatrix')
-casADi__Matrix_int___IMatrix''''''''
-  :: Vector Int -> Int -> Int -> IO IMatrix
-casADi__Matrix_int___IMatrix'''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_int___IMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-imatrix'''''''' :: Vector Int -> Int -> Int -> IO IMatrix
-imatrix'''''''' = casADi__Matrix_int___IMatrix''''''''
-
diff --git a/Casadi/Wrappers/Classes/IOInterfaceFunction.hs b/Casadi/Wrappers/Classes/IOInterfaceFunction.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/IOInterfaceFunction.hs
+++ /dev/null
@@ -1,891 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.IOInterfaceFunction
-       (
-         IOInterfaceFunction,
-         IOInterfaceFunctionClass(..),
-         ioInterfaceFunction_getInput,
-         ioInterfaceFunction_getInput',
-         ioInterfaceFunction_getInput'',
-         ioInterfaceFunction_getInputScheme,
-         ioInterfaceFunction_getNumInputs,
-         ioInterfaceFunction_getNumOutputs,
-         ioInterfaceFunction_getOutput,
-         ioInterfaceFunction_getOutput',
-         ioInterfaceFunction_getOutput'',
-         ioInterfaceFunction_getOutputScheme,
-         ioInterfaceFunction_input,
-         ioInterfaceFunction_input',
-         ioInterfaceFunction_input'',
-         ioInterfaceFunction_inputSchemeEntry,
-         ioInterfaceFunction_output,
-         ioInterfaceFunction_output',
-         ioInterfaceFunction_output'',
-         ioInterfaceFunction_outputSchemeEntry,
-         ioInterfaceFunction_schemeEntry,
-         ioInterfaceFunction_setInput,
-         ioInterfaceFunction_setInput',
-         ioInterfaceFunction_setInput'',
-         ioInterfaceFunction_setInput''',
-         ioInterfaceFunction_setInput'''',
-         ioInterfaceFunction_setInput''''',
-         ioInterfaceFunction_setInput'''''',
-         ioInterfaceFunction_setInput''''''',
-         ioInterfaceFunction_setInput'''''''',
-         ioInterfaceFunction_setInputScheme,
-         ioInterfaceFunction_setNumInputs,
-         ioInterfaceFunction_setNumOutputs,
-         ioInterfaceFunction_setOutput,
-         ioInterfaceFunction_setOutput',
-         ioInterfaceFunction_setOutput'',
-         ioInterfaceFunction_setOutput''',
-         ioInterfaceFunction_setOutput'''',
-         ioInterfaceFunction_setOutput''''',
-         ioInterfaceFunction_setOutput'''''',
-         ioInterfaceFunction_setOutput''''''',
-         ioInterfaceFunction_setOutput'''''''',
-         ioInterfaceFunction_setOutputScheme,
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___input" c_CasADi__IOInterface_CasADi__Function___input
-  :: Ptr IOInterfaceFunction' -> CInt -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___input
-  :: IOInterfaceFunction -> Int -> IO DMatrix
-casADi__IOInterface_CasADi__Function___input x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___input x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[UNSAFE] Obtain reference to inputs
->
->Access input argument
--}
-ioInterfaceFunction_input :: IOInterfaceFunctionClass a => a -> Int -> IO DMatrix
-ioInterfaceFunction_input x = casADi__IOInterface_CasADi__Function___input (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___input_TIC" c_CasADi__IOInterface_CasADi__Function___input_TIC
-  :: Ptr IOInterfaceFunction' -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___input'
-  :: IOInterfaceFunction -> IO DMatrix
-casADi__IOInterface_CasADi__Function___input' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__Function___input_TIC x0' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_input' :: IOInterfaceFunctionClass a => a -> IO DMatrix
-ioInterfaceFunction_input' x = casADi__IOInterface_CasADi__Function___input' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___input_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___input_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr StdString' -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___input''
-  :: IOInterfaceFunction -> String -> IO DMatrix
-casADi__IOInterface_CasADi__Function___input'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___input_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_input'' :: IOInterfaceFunctionClass a => a -> String -> IO DMatrix
-ioInterfaceFunction_input'' x = casADi__IOInterface_CasADi__Function___input'' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___output" c_CasADi__IOInterface_CasADi__Function___output
-  :: Ptr IOInterfaceFunction' -> CInt -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___output
-  :: IOInterfaceFunction -> Int -> IO DMatrix
-casADi__IOInterface_CasADi__Function___output x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___output x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[UNSAFE] Obtain reference to outputs
->
->Access output argument
--}
-ioInterfaceFunction_output :: IOInterfaceFunctionClass a => a -> Int -> IO DMatrix
-ioInterfaceFunction_output x = casADi__IOInterface_CasADi__Function___output (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___output_TIC" c_CasADi__IOInterface_CasADi__Function___output_TIC
-  :: Ptr IOInterfaceFunction' -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___output'
-  :: IOInterfaceFunction -> IO DMatrix
-casADi__IOInterface_CasADi__Function___output' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__Function___output_TIC x0' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_output' :: IOInterfaceFunctionClass a => a -> IO DMatrix
-ioInterfaceFunction_output' x = casADi__IOInterface_CasADi__Function___output' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___output_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___output_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr StdString' -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___output''
-  :: IOInterfaceFunction -> String -> IO DMatrix
-casADi__IOInterface_CasADi__Function___output'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___output_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_output'' :: IOInterfaceFunctionClass a => a -> String -> IO DMatrix
-ioInterfaceFunction_output'' x = casADi__IOInterface_CasADi__Function___output'' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___getNumInputs" c_CasADi__IOInterface_CasADi__Function___getNumInputs
-  :: Ptr IOInterfaceFunction' -> IO CInt
-casADi__IOInterface_CasADi__Function___getNumInputs
-  :: IOInterfaceFunction -> IO Int
-casADi__IOInterface_CasADi__Function___getNumInputs x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__Function___getNumInputs x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of function inputs.
--}
-ioInterfaceFunction_getNumInputs :: IOInterfaceFunctionClass a => a -> IO Int
-ioInterfaceFunction_getNumInputs x = casADi__IOInterface_CasADi__Function___getNumInputs (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___getNumOutputs" c_CasADi__IOInterface_CasADi__Function___getNumOutputs
-  :: Ptr IOInterfaceFunction' -> IO CInt
-casADi__IOInterface_CasADi__Function___getNumOutputs
-  :: IOInterfaceFunction -> IO Int
-casADi__IOInterface_CasADi__Function___getNumOutputs x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__Function___getNumOutputs x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of function outputs.
--}
-ioInterfaceFunction_getNumOutputs :: IOInterfaceFunctionClass a => a -> IO Int
-ioInterfaceFunction_getNumOutputs x = casADi__IOInterface_CasADi__Function___getNumOutputs (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setNumInputs" c_CasADi__IOInterface_CasADi__Function___setNumInputs
-  :: Ptr IOInterfaceFunction' -> CInt -> IO ()
-casADi__IOInterface_CasADi__Function___setNumInputs
-  :: IOInterfaceFunction -> Int -> IO ()
-casADi__IOInterface_CasADi__Function___setNumInputs x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___setNumInputs x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the number of function inputs.
--}
-ioInterfaceFunction_setNumInputs :: IOInterfaceFunctionClass a => a -> Int -> IO ()
-ioInterfaceFunction_setNumInputs x = casADi__IOInterface_CasADi__Function___setNumInputs (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setNumOutputs" c_CasADi__IOInterface_CasADi__Function___setNumOutputs
-  :: Ptr IOInterfaceFunction' -> CInt -> IO ()
-casADi__IOInterface_CasADi__Function___setNumOutputs
-  :: IOInterfaceFunction -> Int -> IO ()
-casADi__IOInterface_CasADi__Function___setNumOutputs x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___setNumOutputs x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the number of function outputs.
--}
-ioInterfaceFunction_setNumOutputs :: IOInterfaceFunctionClass a => a -> Int -> IO ()
-ioInterfaceFunction_setNumOutputs x = casADi__IOInterface_CasADi__Function___setNumOutputs (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setInputScheme" c_CasADi__IOInterface_CasADi__Function___setInputScheme
-  :: Ptr IOInterfaceFunction' -> Ptr IOScheme' -> IO ()
-casADi__IOInterface_CasADi__Function___setInputScheme
-  :: IOInterfaceFunction -> IOScheme -> IO ()
-casADi__IOInterface_CasADi__Function___setInputScheme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___setInputScheme x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set input scheme.
--}
-ioInterfaceFunction_setInputScheme :: IOInterfaceFunctionClass a => a -> IOScheme -> IO ()
-ioInterfaceFunction_setInputScheme x = casADi__IOInterface_CasADi__Function___setInputScheme (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setOutputScheme" c_CasADi__IOInterface_CasADi__Function___setOutputScheme
-  :: Ptr IOInterfaceFunction' -> Ptr IOScheme' -> IO ()
-casADi__IOInterface_CasADi__Function___setOutputScheme
-  :: IOInterfaceFunction -> IOScheme -> IO ()
-casADi__IOInterface_CasADi__Function___setOutputScheme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___setOutputScheme x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set output scheme.
--}
-ioInterfaceFunction_setOutputScheme :: IOInterfaceFunctionClass a => a -> IOScheme -> IO ()
-ioInterfaceFunction_setOutputScheme x = casADi__IOInterface_CasADi__Function___setOutputScheme (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___getInputScheme" c_CasADi__IOInterface_CasADi__Function___getInputScheme
-  :: Ptr IOInterfaceFunction' -> IO (Ptr IOScheme')
-casADi__IOInterface_CasADi__Function___getInputScheme
-  :: IOInterfaceFunction -> IO IOScheme
-casADi__IOInterface_CasADi__Function___getInputScheme x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__Function___getInputScheme x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get input scheme.
--}
-ioInterfaceFunction_getInputScheme :: IOInterfaceFunctionClass a => a -> IO IOScheme
-ioInterfaceFunction_getInputScheme x = casADi__IOInterface_CasADi__Function___getInputScheme (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___getOutputScheme" c_CasADi__IOInterface_CasADi__Function___getOutputScheme
-  :: Ptr IOInterfaceFunction' -> IO (Ptr IOScheme')
-casADi__IOInterface_CasADi__Function___getOutputScheme
-  :: IOInterfaceFunction -> IO IOScheme
-casADi__IOInterface_CasADi__Function___getOutputScheme x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__Function___getOutputScheme x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get output scheme.
--}
-ioInterfaceFunction_getOutputScheme :: IOInterfaceFunctionClass a => a -> IO IOScheme
-ioInterfaceFunction_getOutputScheme x = casADi__IOInterface_CasADi__Function___getOutputScheme (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___inputSchemeEntry" c_CasADi__IOInterface_CasADi__Function___inputSchemeEntry
-  :: Ptr IOInterfaceFunction' -> Ptr StdString' -> IO CInt
-casADi__IOInterface_CasADi__Function___inputSchemeEntry
-  :: IOInterfaceFunction -> String -> IO Int
-casADi__IOInterface_CasADi__Function___inputSchemeEntry x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___inputSchemeEntry x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]
->Find the index for a string describing a particular entry of an input
->scheme.
->
->example: schemeEntry("x_opt") -> returns NLP_SOLVER_X if FunctionInternal
->adheres to SCHEME_NLPINput
--}
-ioInterfaceFunction_inputSchemeEntry :: IOInterfaceFunctionClass a => a -> String -> IO Int
-ioInterfaceFunction_inputSchemeEntry x = casADi__IOInterface_CasADi__Function___inputSchemeEntry (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___outputSchemeEntry" c_CasADi__IOInterface_CasADi__Function___outputSchemeEntry
-  :: Ptr IOInterfaceFunction' -> Ptr StdString' -> IO CInt
-casADi__IOInterface_CasADi__Function___outputSchemeEntry
-  :: IOInterfaceFunction -> String -> IO Int
-casADi__IOInterface_CasADi__Function___outputSchemeEntry x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___outputSchemeEntry x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]
->Find the index for a string describing a particular entry of an output
->scheme.
->
->example: schemeEntry("x_opt") -> returns NLP_SOLVER_X if FunctionInternal
->adheres to SCHEME_NLPINput
--}
-ioInterfaceFunction_outputSchemeEntry :: IOInterfaceFunctionClass a => a -> String -> IO Int
-ioInterfaceFunction_outputSchemeEntry x = casADi__IOInterface_CasADi__Function___outputSchemeEntry (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___schemeEntry" c_CasADi__IOInterface_CasADi__Function___schemeEntry
-  :: Ptr IOInterfaceFunction' -> Ptr IOScheme' -> Ptr StdString' -> CInt -> IO CInt
-casADi__IOInterface_CasADi__Function___schemeEntry
-  :: IOInterfaceFunction -> IOScheme -> String -> Bool -> IO Int
-casADi__IOInterface_CasADi__Function___schemeEntry x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__IOInterface_CasADi__Function___schemeEntry x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Find
->the index for a string describing a particular entry of a scheme.
->
->example: schemeEntry("x_opt") -> returns NLP_SOLVER_X if FunctionInternal
->adheres to SCHEME_NLPINput
--}
-ioInterfaceFunction_schemeEntry :: IOInterfaceFunctionClass a => a -> IOScheme -> String -> Bool -> IO Int
-ioInterfaceFunction_schemeEntry x = casADi__IOInterface_CasADi__Function___schemeEntry (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___getInput" c_CasADi__IOInterface_CasADi__Function___getInput
-  :: Ptr IOInterfaceFunction' -> CInt -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___getInput
-  :: IOInterfaceFunction -> Int -> IO DMatrix
-casADi__IOInterface_CasADi__Function___getInput x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___getInput x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  Matrix<double> CasADi::IOInterface< Derived >::getInput(int iind=0) const 
->------------------------------------------------------------------------
->
->Get an input by index.
->
->Parameters:
->-----------
->
->iind:  index within the range [0.. getNumInputs()-1]
->
->>  Matrix<double> CasADi::IOInterface< Derived >::getInput(const std::string &iname) const 
->------------------------------------------------------------------------
->
->Get an input by name.
->
->Parameters:
->-----------
->
->iname:  input name. Only allowed when an input scheme is set.
->
->>  void CasADi::IOInterface< Derived >::getInput(T val, int iind=0)
->------------------------------------------------------------------------
->[INTERNAL] 
->Get an input by index.
->
->Parameters:
->-----------
->
->val:  can be double&, std::vector<double>&, Matrix<double>&, double *
->
->iind:  index within the range [0.. getNumInputs()-1]
->
->>  void CasADi::IOInterface< Derived >::getInput(T val, const std::string &iname)
->------------------------------------------------------------------------
->[INTERNAL] 
->Get an input by name.
->
->Parameters:
->-----------
->
->val:  can be double&, std::vector<double>&, Matrix<double>&, double *
->
->iname:  input name. Only allowed when an input scheme is set.
--}
-ioInterfaceFunction_getInput :: IOInterfaceFunctionClass a => a -> Int -> IO DMatrix
-ioInterfaceFunction_getInput x = casADi__IOInterface_CasADi__Function___getInput (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___getInput_TIC" c_CasADi__IOInterface_CasADi__Function___getInput_TIC
-  :: Ptr IOInterfaceFunction' -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___getInput'
-  :: IOInterfaceFunction -> IO DMatrix
-casADi__IOInterface_CasADi__Function___getInput' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__Function___getInput_TIC x0' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_getInput' :: IOInterfaceFunctionClass a => a -> IO DMatrix
-ioInterfaceFunction_getInput' x = casADi__IOInterface_CasADi__Function___getInput' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___getInput_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___getInput_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr StdString' -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___getInput''
-  :: IOInterfaceFunction -> String -> IO DMatrix
-casADi__IOInterface_CasADi__Function___getInput'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___getInput_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_getInput'' :: IOInterfaceFunctionClass a => a -> String -> IO DMatrix
-ioInterfaceFunction_getInput'' x = casADi__IOInterface_CasADi__Function___getInput'' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___getOutput" c_CasADi__IOInterface_CasADi__Function___getOutput
-  :: Ptr IOInterfaceFunction' -> CInt -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___getOutput
-  :: IOInterfaceFunction -> Int -> IO DMatrix
-casADi__IOInterface_CasADi__Function___getOutput x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___getOutput x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  Matrix<double> CasADi::IOInterface< Derived >::getOutput(int oind=0) const 
->------------------------------------------------------------------------
->
->Get an output by index.
->
->Parameters:
->-----------
->
->oind:  index within the range [0.. getNumOutputs()-1]
->
->>  Matrix<double> CasADi::IOInterface< Derived >::getOutput(const std::string &oname) const 
->------------------------------------------------------------------------
->
->Get an output by name.
->
->Parameters:
->-----------
->
->oname:  output name. Only allowed when an output scheme is set.
->
->>  void CasADi::IOInterface< Derived >::getOutput(T val, int oind=0)
->------------------------------------------------------------------------
->[INTERNAL] 
->Get an output by index.
->
->Parameters:
->-----------
->
->val:  can be double&, std::vector<double>&, Matrix<double>&, double *
->
->oind:  index within the range [0.. getNumOutputs()-1]
->
->>  void CasADi::IOInterface< Derived >::getOutput(T val, const std::string &oname)
->------------------------------------------------------------------------
->[INTERNAL] 
->Get an output by name.
->
->Parameters:
->-----------
->
->val:  can be double&, std::vector<double>&, Matrix<double>&, double *
->
->oname:  output name. Only allowed when an output scheme is set.
--}
-ioInterfaceFunction_getOutput :: IOInterfaceFunctionClass a => a -> Int -> IO DMatrix
-ioInterfaceFunction_getOutput x = casADi__IOInterface_CasADi__Function___getOutput (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___getOutput_TIC" c_CasADi__IOInterface_CasADi__Function___getOutput_TIC
-  :: Ptr IOInterfaceFunction' -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___getOutput'
-  :: IOInterfaceFunction -> IO DMatrix
-casADi__IOInterface_CasADi__Function___getOutput' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__Function___getOutput_TIC x0' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_getOutput' :: IOInterfaceFunctionClass a => a -> IO DMatrix
-ioInterfaceFunction_getOutput' x = casADi__IOInterface_CasADi__Function___getOutput' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___getOutput_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___getOutput_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr StdString' -> IO (Ptr DMatrix')
-casADi__IOInterface_CasADi__Function___getOutput''
-  :: IOInterfaceFunction -> String -> IO DMatrix
-casADi__IOInterface_CasADi__Function___getOutput'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___getOutput_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_getOutput'' :: IOInterfaceFunctionClass a => a -> String -> IO DMatrix
-ioInterfaceFunction_getOutput'' x = casADi__IOInterface_CasADi__Function___getOutput'' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setInput" c_CasADi__IOInterface_CasADi__Function___setInput
-  :: Ptr IOInterfaceFunction' -> CDouble -> CInt -> IO ()
-casADi__IOInterface_CasADi__Function___setInput
-  :: IOInterfaceFunction -> Double -> Int -> IO ()
-casADi__IOInterface_CasADi__Function___setInput x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setInput x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::IOInterface< Derived >::setInput(T val, int iind=0)
->------------------------------------------------------------------------
->
->Set an input by index.
->
->Parameters:
->-----------
->
->val:  can be double, const std::vector<double>&, const Matrix<double>&,
->double *
->
->iind:  index within the range [0.. getNumInputs()-1]
->
->>  void CasADi::IOInterface< Derived >::setInput(T val, const std::string &iname)
->------------------------------------------------------------------------
->
->Set an input by name.
->
->Parameters:
->-----------
->
->val:  can be double, const std::vector<double>&, const Matrix<double>&,
->double *
->
->iname:  input name. Only allowed when an input scheme is set.
--}
-ioInterfaceFunction_setInput :: IOInterfaceFunctionClass a => a -> Double -> Int -> IO ()
-ioInterfaceFunction_setInput x = casADi__IOInterface_CasADi__Function___setInput (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setInput_TIC" c_CasADi__IOInterface_CasADi__Function___setInput_TIC
-  :: Ptr IOInterfaceFunction' -> CDouble -> IO ()
-casADi__IOInterface_CasADi__Function___setInput'
-  :: IOInterfaceFunction -> Double -> IO ()
-casADi__IOInterface_CasADi__Function___setInput' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___setInput_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setInput' :: IOInterfaceFunctionClass a => a -> Double -> IO ()
-ioInterfaceFunction_setInput' x = casADi__IOInterface_CasADi__Function___setInput' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setOutput" c_CasADi__IOInterface_CasADi__Function___setOutput
-  :: Ptr IOInterfaceFunction' -> CDouble -> CInt -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput
-  :: IOInterfaceFunction -> Double -> Int -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setOutput x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::IOInterface< Derived >::setOutput(T val, int oind=0)
->------------------------------------------------------------------------
->
->Set an output by index.
->
->Parameters:
->-----------
->
->val:  can be double, const std::vector<double>&, const Matrix<double>&,
->double *
->
->oind:  index within the range [0.. getNumOutputs()-1]
->
->>  void CasADi::IOInterface< Derived >::setOutput(T val, const std::string &oname)
->------------------------------------------------------------------------
->
->Set an output by name.
->
->Parameters:
->-----------
->
->val:  can be double, const std::vector<double>&, const Matrix<double>&,
->double *
->
->oname:  output name. Only allowed when an output scheme is set.
--}
-ioInterfaceFunction_setOutput :: IOInterfaceFunctionClass a => a -> Double -> Int -> IO ()
-ioInterfaceFunction_setOutput x = casADi__IOInterface_CasADi__Function___setOutput (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setOutput_TIC" c_CasADi__IOInterface_CasADi__Function___setOutput_TIC
-  :: Ptr IOInterfaceFunction' -> CDouble -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput'
-  :: IOInterfaceFunction -> Double -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___setOutput_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setOutput' :: IOInterfaceFunctionClass a => a -> Double -> IO ()
-ioInterfaceFunction_setOutput' x = casADi__IOInterface_CasADi__Function___setOutput' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> CDouble -> Ptr StdString' -> IO ()
-casADi__IOInterface_CasADi__Function___setInput''
-  :: IOInterfaceFunction -> Double -> String -> IO ()
-casADi__IOInterface_CasADi__Function___setInput'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setInput'' :: IOInterfaceFunctionClass a => a -> Double -> String -> IO ()
-ioInterfaceFunction_setInput'' x = casADi__IOInterface_CasADi__Function___setInput'' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> CDouble -> Ptr StdString' -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput''
-  :: IOInterfaceFunction -> Double -> String -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setOutput'' :: IOInterfaceFunctionClass a => a -> Double -> String -> IO ()
-ioInterfaceFunction_setOutput'' x = casADi__IOInterface_CasADi__Function___setOutput'' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr (CppVec CDouble) -> CInt -> IO ()
-casADi__IOInterface_CasADi__Function___setInput'''
-  :: IOInterfaceFunction -> Vector Double -> Int -> IO ()
-casADi__IOInterface_CasADi__Function___setInput''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setInput''' :: IOInterfaceFunctionClass a => a -> Vector Double -> Int -> IO ()
-ioInterfaceFunction_setInput''' x = casADi__IOInterface_CasADi__Function___setInput''' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr (CppVec CDouble) -> IO ()
-casADi__IOInterface_CasADi__Function___setInput''''
-  :: IOInterfaceFunction -> Vector Double -> IO ()
-casADi__IOInterface_CasADi__Function___setInput'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setInput'''' :: IOInterfaceFunctionClass a => a -> Vector Double -> IO ()
-ioInterfaceFunction_setInput'''' x = casADi__IOInterface_CasADi__Function___setInput'''' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr (CppVec CDouble) -> CInt -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput'''
-  :: IOInterfaceFunction -> Vector Double -> Int -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setOutput''' :: IOInterfaceFunctionClass a => a -> Vector Double -> Int -> IO ()
-ioInterfaceFunction_setOutput''' x = casADi__IOInterface_CasADi__Function___setOutput''' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr (CppVec CDouble) -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput''''
-  :: IOInterfaceFunction -> Vector Double -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setOutput'''' :: IOInterfaceFunctionClass a => a -> Vector Double -> IO ()
-ioInterfaceFunction_setOutput'''' x = casADi__IOInterface_CasADi__Function___setOutput'''' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr (CppVec CDouble) -> Ptr StdString' -> IO ()
-casADi__IOInterface_CasADi__Function___setInput'''''
-  :: IOInterfaceFunction -> Vector Double -> String -> IO ()
-casADi__IOInterface_CasADi__Function___setInput''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setInput''''' :: IOInterfaceFunctionClass a => a -> Vector Double -> String -> IO ()
-ioInterfaceFunction_setInput''''' x = casADi__IOInterface_CasADi__Function___setInput''''' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr (CppVec CDouble) -> Ptr StdString' -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput'''''
-  :: IOInterfaceFunction -> Vector Double -> String -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setOutput''''' :: IOInterfaceFunctionClass a => a -> Vector Double -> String -> IO ()
-ioInterfaceFunction_setOutput''''' x = casADi__IOInterface_CasADi__Function___setOutput''''' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr DMatrix' -> CInt -> IO ()
-casADi__IOInterface_CasADi__Function___setInput''''''
-  :: IOInterfaceFunction -> DMatrix -> Int -> IO ()
-casADi__IOInterface_CasADi__Function___setInput'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setInput'''''' :: IOInterfaceFunctionClass a => a -> DMatrix -> Int -> IO ()
-ioInterfaceFunction_setInput'''''' x = casADi__IOInterface_CasADi__Function___setInput'''''' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr DMatrix' -> IO ()
-casADi__IOInterface_CasADi__Function___setInput'''''''
-  :: IOInterfaceFunction -> DMatrix -> IO ()
-casADi__IOInterface_CasADi__Function___setInput''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setInput''''''' :: IOInterfaceFunctionClass a => a -> DMatrix -> IO ()
-ioInterfaceFunction_setInput''''''' x = casADi__IOInterface_CasADi__Function___setInput''''''' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr DMatrix' -> CInt -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput''''''
-  :: IOInterfaceFunction -> DMatrix -> Int -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setOutput'''''' :: IOInterfaceFunctionClass a => a -> DMatrix -> Int -> IO ()
-ioInterfaceFunction_setOutput'''''' x = casADi__IOInterface_CasADi__Function___setOutput'''''' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr DMatrix' -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput'''''''
-  :: IOInterfaceFunction -> DMatrix -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setOutput''''''' :: IOInterfaceFunctionClass a => a -> DMatrix -> IO ()
-ioInterfaceFunction_setOutput''''''' x = casADi__IOInterface_CasADi__Function___setOutput''''''' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr DMatrix' -> Ptr StdString' -> IO ()
-casADi__IOInterface_CasADi__Function___setInput''''''''
-  :: IOInterfaceFunction -> DMatrix -> String -> IO ()
-casADi__IOInterface_CasADi__Function___setInput'''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setInput'''''''' :: IOInterfaceFunctionClass a => a -> DMatrix -> String -> IO ()
-ioInterfaceFunction_setInput'''''''' x = casADi__IOInterface_CasADi__Function___setInput'''''''' (castIOInterfaceFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IOInterfaceFunction' -> Ptr DMatrix' -> Ptr StdString' -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput''''''''
-  :: IOInterfaceFunction -> DMatrix -> String -> IO ()
-casADi__IOInterface_CasADi__Function___setOutput'''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOInterface_CasADi__Function___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-ioInterfaceFunction_setOutput'''''''' :: IOInterfaceFunctionClass a => a -> DMatrix -> String -> IO ()
-ioInterfaceFunction_setOutput'''''''' x = casADi__IOInterface_CasADi__Function___setOutput'''''''' (castIOInterfaceFunction x)
-
diff --git a/Casadi/Wrappers/Classes/IOScheme.hs b/Casadi/Wrappers/Classes/IOScheme.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/IOScheme.hs
+++ /dev/null
@@ -1,840 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.IOScheme
-       (
-         IOScheme,
-         IOSchemeClass(..),
-         ioScheme,
-         ioScheme',
-         ioScheme'',
-         ioScheme''',
-         ioScheme'''',
-         ioScheme''''',
-         ioScheme'''''',
-         ioScheme''''''',
-         ioScheme'''''''',
-         ioScheme''''''''',
-         ioScheme'''''''''',
-         ioScheme''''''''''',
-         ioScheme'''''''''''',
-         ioScheme''''''''''''',
-         ioScheme'''''''''''''',
-         ioScheme''''''''''''''',
-         ioScheme'''''''''''''''',
-         ioScheme''''''''''''''''',
-         ioScheme'''''''''''''''''',
-         ioScheme''''''''''''''''''',
-         ioScheme'''''''''''''''''''',
-         ioScheme''''''''''''''''''''',
-         ioScheme'''''''''''''''''''''',
-         ioScheme''''''''''''''''''''''',
-         ioScheme_checkNode,
-         ioScheme_compatibleSize,
-         ioScheme_describe,
-         ioScheme_describeInput,
-         ioScheme_describeOutput,
-         ioScheme_entry,
-         ioScheme_entryEnum,
-         ioScheme_entryLabel,
-         ioScheme_entryNames,
-         ioScheme_index,
-         ioScheme_known,
-         ioScheme_name,
-         ioScheme_size,
-       ) 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 IOScheme where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__checkNode" c_CasADi__IOScheme__checkNode
-  :: Ptr IOScheme' -> IO CInt
-casADi__IOScheme__checkNode
-  :: IOScheme -> IO Bool
-casADi__IOScheme__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-ioScheme_checkNode :: IOSchemeClass a => a -> IO Bool
-ioScheme_checkNode x = casADi__IOScheme__checkNode (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__name" c_CasADi__IOScheme__name
-  :: Ptr IOScheme' -> IO (Ptr StdString')
-casADi__IOScheme__name
-  :: IOScheme -> IO String
-casADi__IOScheme__name x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__name x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Name of the scheme.
--}
-ioScheme_name :: IOSchemeClass a => a -> IO String
-ioScheme_name x = casADi__IOScheme__name (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__entryNames" c_CasADi__IOScheme__entryNames
-  :: Ptr IOScheme' -> IO (Ptr StdString')
-casADi__IOScheme__entryNames
-  :: IOScheme -> IO String
-casADi__IOScheme__entryNames x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__entryNames x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->List available entries.
--}
-ioScheme_entryNames :: IOSchemeClass a => a -> IO String
-ioScheme_entryNames x = casADi__IOScheme__entryNames (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__index" c_CasADi__IOScheme__index
-  :: Ptr IOScheme' -> Ptr StdString' -> IO CInt
-casADi__IOScheme__index
-  :: IOScheme -> String -> IO Int
-casADi__IOScheme__index x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__index x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get index by entry name.
--}
-ioScheme_index :: IOSchemeClass a => a -> String -> IO Int
-ioScheme_index x = casADi__IOScheme__index (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__size" c_CasADi__IOScheme__size
-  :: Ptr IOScheme' -> IO CInt
-casADi__IOScheme__size
-  :: IOScheme -> IO Int
-casADi__IOScheme__size x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__size x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Number of entries.
--}
-ioScheme_size :: IOSchemeClass a => a -> IO Int
-ioScheme_size x = casADi__IOScheme__size (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__entry" c_CasADi__IOScheme__entry
-  :: Ptr IOScheme' -> CInt -> IO (Ptr StdString')
-casADi__IOScheme__entry
-  :: IOScheme -> Int -> IO String
-casADi__IOScheme__entry x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__entry x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the entry name by index.
--}
-ioScheme_entry :: IOSchemeClass a => a -> Int -> IO String
-ioScheme_entry x = casADi__IOScheme__entry (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__entryLabel" c_CasADi__IOScheme__entryLabel
-  :: Ptr IOScheme' -> CInt -> IO (Ptr StdString')
-casADi__IOScheme__entryLabel
-  :: IOScheme -> Int -> IO String
-casADi__IOScheme__entryLabel x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__entryLabel x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the entry label by index If scheme is unknown, returns the index as a
->string.
--}
-ioScheme_entryLabel :: IOSchemeClass a => a -> Int -> IO String
-ioScheme_entryLabel x = casADi__IOScheme__entryLabel (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__entryEnum" c_CasADi__IOScheme__entryEnum
-  :: Ptr IOScheme' -> CInt -> IO (Ptr StdString')
-casADi__IOScheme__entryEnum
-  :: IOScheme -> Int -> IO String
-casADi__IOScheme__entryEnum x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__entryEnum x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the entry enum name by index.
--}
-ioScheme_entryEnum :: IOSchemeClass a => a -> Int -> IO String
-ioScheme_entryEnum x = casADi__IOScheme__entryEnum (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__describeInput" c_CasADi__IOScheme__describeInput
-  :: Ptr IOScheme' -> CInt -> IO (Ptr StdString')
-casADi__IOScheme__describeInput
-  :: IOScheme -> Int -> IO String
-casADi__IOScheme__describeInput x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__describeInput x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Describe the index as an input.
--}
-ioScheme_describeInput :: IOSchemeClass a => a -> Int -> IO String
-ioScheme_describeInput x = casADi__IOScheme__describeInput (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__describeOutput" c_CasADi__IOScheme__describeOutput
-  :: Ptr IOScheme' -> CInt -> IO (Ptr StdString')
-casADi__IOScheme__describeOutput
-  :: IOScheme -> Int -> IO String
-casADi__IOScheme__describeOutput x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__describeOutput x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Describe the index as an output.
--}
-ioScheme_describeOutput :: IOSchemeClass a => a -> Int -> IO String
-ioScheme_describeOutput x = casADi__IOScheme__describeOutput (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__describe" c_CasADi__IOScheme__describe
-  :: Ptr IOScheme' -> CInt -> IO (Ptr StdString')
-casADi__IOScheme__describe
-  :: IOScheme -> Int -> IO String
-casADi__IOScheme__describe x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__describe x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Describe the index.
--}
-ioScheme_describe :: IOSchemeClass a => a -> Int -> IO String
-ioScheme_describe x = casADi__IOScheme__describe (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__known" c_CasADi__IOScheme__known
-  :: Ptr IOScheme' -> IO CInt
-casADi__IOScheme__known
-  :: IOScheme -> IO Bool
-casADi__IOScheme__known x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__known x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check wether the scheme is known.
--}
-ioScheme_known :: IOSchemeClass a => a -> IO Bool
-ioScheme_known x = casADi__IOScheme__known (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__compatibleSize" c_CasADi__IOScheme__compatibleSize
-  :: Ptr IOScheme' -> CInt -> IO CInt
-casADi__IOScheme__compatibleSize
-  :: IOScheme -> Int -> IO Int
-casADi__IOScheme__compatibleSize x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__compatibleSize x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check wether this scheme is compatible with the given size.
--}
-ioScheme_compatibleSize :: IOSchemeClass a => a -> Int -> IO Int
-ioScheme_compatibleSize x = casADi__IOScheme__compatibleSize (castIOScheme x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme" c_CasADi__IOScheme__IOScheme
-  :: IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme
-  :: IO IOScheme
-casADi__IOScheme__IOScheme  =
-  c_CasADi__IOScheme__IOScheme  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::IOScheme::IOScheme()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::IOScheme::IOScheme(InputOutputScheme scheme)
->------------------------------------------------------------------------
->
->Constructor with enum.
->
->>  CasADi::IOScheme::IOScheme(const std::vector< std::string > &entries, const std::vector< std::string > &descriptions=std::vector< std::string >())
->------------------------------------------------------------------------
->
->Constructor with entry names.
--}
-ioScheme :: IO IOScheme
-ioScheme = casADi__IOScheme__IOScheme
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC" c_CasADi__IOScheme__IOScheme_TIC
-  :: CInt -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'
-  :: InputOutputScheme -> IO IOScheme
-casADi__IOScheme__IOScheme' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__IOScheme_TIC x0' >>= wrapReturn
-
--- classy wrapper
-ioScheme' :: InputOutputScheme -> IO IOScheme
-ioScheme' = casADi__IOScheme__IOScheme'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC
-  :: Ptr (CppVec (Ptr StdString')) -> Ptr (CppVec (Ptr StdString')) -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme''
-  :: Vector String -> Vector String -> IO IOScheme
-casADi__IOScheme__IOScheme'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioScheme'' :: Vector String -> Vector String -> IO IOScheme
-ioScheme'' = casADi__IOScheme__IOScheme''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr StdString')) -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'''
-  :: Vector String -> IO IOScheme
-casADi__IOScheme__IOScheme''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-ioScheme''' :: Vector String -> IO IOScheme
-ioScheme''' = casADi__IOScheme__IOScheme'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme'''' x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  withMarshal x13 $ \x13' ->
-  withMarshal x14 $ \x14' ->
-  withMarshal x15 $ \x15' ->
-  withMarshal x16 $ \x16' ->
-  withMarshal x17 $ \x17' ->
-  withMarshal x18 $ \x18' ->
-  withMarshal x19 $ \x19' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12' x13' x14' x15' x16' x17' x18' x19' >>= wrapReturn
-
--- classy wrapper
-ioScheme'''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme'''' = casADi__IOScheme__IOScheme''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  withMarshal x13 $ \x13' ->
-  withMarshal x14 $ \x14' ->
-  withMarshal x15 $ \x15' ->
-  withMarshal x16 $ \x16' ->
-  withMarshal x17 $ \x17' ->
-  withMarshal x18 $ \x18' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12' x13' x14' x15' x16' x17' x18' >>= wrapReturn
-
--- classy wrapper
-ioScheme''''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme''''' = casADi__IOScheme__IOScheme'''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme''''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme'''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  withMarshal x13 $ \x13' ->
-  withMarshal x14 $ \x14' ->
-  withMarshal x15 $ \x15' ->
-  withMarshal x16 $ \x16' ->
-  withMarshal x17 $ \x17' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12' x13' x14' x15' x16' x17' >>= wrapReturn
-
--- classy wrapper
-ioScheme'''''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme'''''' = casADi__IOScheme__IOScheme''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'''''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme''''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  withMarshal x13 $ \x13' ->
-  withMarshal x14 $ \x14' ->
-  withMarshal x15 $ \x15' ->
-  withMarshal x16 $ \x16' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12' x13' x14' x15' x16' >>= wrapReturn
-
--- classy wrapper
-ioScheme''''''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme''''''' = casADi__IOScheme__IOScheme'''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme''''''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme'''''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  withMarshal x13 $ \x13' ->
-  withMarshal x14 $ \x14' ->
-  withMarshal x15 $ \x15' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12' x13' x14' x15' >>= wrapReturn
-
--- classy wrapper
-ioScheme'''''''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme'''''''' = casADi__IOScheme__IOScheme''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'''''''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme''''''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  withMarshal x13 $ \x13' ->
-  withMarshal x14 $ \x14' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12' x13' x14' >>= wrapReturn
-
--- classy wrapper
-ioScheme''''''''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme''''''''' = casADi__IOScheme__IOScheme'''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme''''''''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme'''''''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  withMarshal x13 $ \x13' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12' x13' >>= wrapReturn
-
--- classy wrapper
-ioScheme'''''''''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme'''''''''' = casADi__IOScheme__IOScheme''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'''''''''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme''''''''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  withMarshal x12 $ \x12' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' x12' >>= wrapReturn
-
--- classy wrapper
-ioScheme''''''''''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme''''''''''' = casADi__IOScheme__IOScheme'''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme''''''''''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme'''''''''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  withMarshal x11 $ \x11' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' x11' >>= wrapReturn
-
--- classy wrapper
-ioScheme'''''''''''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme'''''''''''' = casADi__IOScheme__IOScheme''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'''''''''''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme''''''''''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  withMarshal x10 $ \x10' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' x10' >>= wrapReturn
-
--- classy wrapper
-ioScheme''''''''''''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme''''''''''''' = casADi__IOScheme__IOScheme'''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme''''''''''''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme'''''''''''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  withMarshal x9 $ \x9' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' x9' >>= wrapReturn
-
--- classy wrapper
-ioScheme'''''''''''''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme'''''''''''''' = casADi__IOScheme__IOScheme''''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'''''''''''''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme''''''''''''''' x0 x1 x2 x3 x4 x5 x6 x7 x8 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  withMarshal x8 $ \x8' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' x8' >>= wrapReturn
-
--- classy wrapper
-ioScheme''''''''''''''' :: String -> String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme''''''''''''''' = casADi__IOScheme__IOScheme'''''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme''''''''''''''''
-  :: String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme'''''''''''''''' x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' x7' >>= wrapReturn
-
--- classy wrapper
-ioScheme'''''''''''''''' :: String -> String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme'''''''''''''''' = casADi__IOScheme__IOScheme''''''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'''''''''''''''''
-  :: String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme''''''''''''''''' x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' x6' >>= wrapReturn
-
--- classy wrapper
-ioScheme''''''''''''''''' :: String -> String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme''''''''''''''''' = casADi__IOScheme__IOScheme'''''''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme''''''''''''''''''
-  :: String -> String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme'''''''''''''''''' x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' x5' >>= wrapReturn
-
--- classy wrapper
-ioScheme'''''''''''''''''' :: String -> String -> String -> String -> String -> String -> IO IOScheme
-ioScheme'''''''''''''''''' = casADi__IOScheme__IOScheme''''''''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'''''''''''''''''''
-  :: String -> String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme''''''''''''''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-ioScheme''''''''''''''''''' :: String -> String -> String -> String -> String -> IO IOScheme
-ioScheme''''''''''''''''''' = casADi__IOScheme__IOScheme'''''''''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme''''''''''''''''''''
-  :: String -> String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme'''''''''''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-ioScheme'''''''''''''''''''' :: String -> String -> String -> String -> IO IOScheme
-ioScheme'''''''''''''''''''' = casADi__IOScheme__IOScheme''''''''''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'''''''''''''''''''''
-  :: String -> String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme''''''''''''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-ioScheme''''''''''''''''''''' :: String -> String -> String -> IO IOScheme
-ioScheme''''''''''''''''''''' = casADi__IOScheme__IOScheme'''''''''''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme''''''''''''''''''''''
-  :: String -> String -> IO IOScheme
-casADi__IOScheme__IOScheme'''''''''''''''''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-ioScheme'''''''''''''''''''''' :: String -> String -> IO IOScheme
-ioScheme'''''''''''''''''''''' = casADi__IOScheme__IOScheme''''''''''''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> IO (Ptr IOScheme')
-casADi__IOScheme__IOScheme'''''''''''''''''''''''
-  :: String -> IO IOScheme
-casADi__IOScheme__IOScheme''''''''''''''''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-ioScheme''''''''''''''''''''''' :: String -> IO IOScheme
-ioScheme''''''''''''''''''''''' = casADi__IOScheme__IOScheme'''''''''''''''''''''''
-
diff --git a/Casadi/Wrappers/Classes/IdasIntegrator.hs b/Casadi/Wrappers/Classes/IdasIntegrator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/IdasIntegrator.hs
+++ /dev/null
@@ -1,207 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.IdasIntegrator
-       (
-         IdasIntegrator,
-         IdasIntegratorClass(..),
-         idasIntegrator,
-         idasIntegrator',
-         idasIntegrator'',
-         idasIntegrator_checkNode,
-         idasIntegrator_correctInitialConditions,
-         idasIntegrator_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 IdasIntegrator where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__IdasIntegrator__checkNode" c_CasADi__IdasIntegrator__checkNode
-  :: Ptr IdasIntegrator' -> IO CInt
-casADi__IdasIntegrator__checkNode
-  :: IdasIntegrator -> IO Bool
-casADi__IdasIntegrator__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IdasIntegrator__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-idasIntegrator_checkNode :: IdasIntegratorClass a => a -> IO Bool
-idasIntegrator_checkNode x = casADi__IdasIntegrator__checkNode (castIdasIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IdasIntegrator__correctInitialConditions" c_CasADi__IdasIntegrator__correctInitialConditions
-  :: Ptr IdasIntegrator' -> IO ()
-casADi__IdasIntegrator__correctInitialConditions
-  :: IdasIntegrator -> IO ()
-casADi__IdasIntegrator__correctInitialConditions x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IdasIntegrator__correctInitialConditions x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Correct the initial value for yp and z after resetting the solver.
--}
-idasIntegrator_correctInitialConditions :: IdasIntegratorClass a => a -> IO ()
-idasIntegrator_correctInitialConditions x = casADi__IdasIntegrator__correctInitialConditions (castIdasIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IdasIntegrator__creator" c_CasADi__IdasIntegrator__creator
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr Integrator')
-casADi__IdasIntegrator__creator
-  :: Function -> Function -> IO Integrator
-casADi__IdasIntegrator__creator x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IdasIntegrator__creator x0' x1' >>= wrapReturn
-
--- classy wrapper
-idasIntegrator_creator :: Function -> Function -> IO Integrator
-idasIntegrator_creator = casADi__IdasIntegrator__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IdasIntegrator__IdasIntegrator" c_CasADi__IdasIntegrator__IdasIntegrator
-  :: IO (Ptr IdasIntegrator')
-casADi__IdasIntegrator__IdasIntegrator
-  :: IO IdasIntegrator
-casADi__IdasIntegrator__IdasIntegrator  =
-  c_CasADi__IdasIntegrator__IdasIntegrator  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::IdasIntegrator::IdasIntegrator()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::IdasIntegrator::IdasIntegrator(const Function &f, const Function &g=Function())
->------------------------------------------------------------------------
->
->Create an integrator for a fully implicit DAE with quadrature states (nz is
->the number of states not to be included in the state vector)
->
->Create an integrator for a fully implicit DAE with quadrature states (nz is
->the number of states not to be included in the state vector)
->
->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. .         |
->+-----------+-------+-------------------------------------------+
--}
-idasIntegrator :: IO IdasIntegrator
-idasIntegrator = casADi__IdasIntegrator__IdasIntegrator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IdasIntegrator__IdasIntegrator_TIC" c_CasADi__IdasIntegrator__IdasIntegrator_TIC
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr IdasIntegrator')
-casADi__IdasIntegrator__IdasIntegrator'
-  :: Function -> Function -> IO IdasIntegrator
-casADi__IdasIntegrator__IdasIntegrator' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IdasIntegrator__IdasIntegrator_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-idasIntegrator' :: Function -> Function -> IO IdasIntegrator
-idasIntegrator' = casADi__IdasIntegrator__IdasIntegrator'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IdasIntegrator__IdasIntegrator_TIC_TIC" c_CasADi__IdasIntegrator__IdasIntegrator_TIC_TIC
-  :: Ptr Function' -> IO (Ptr IdasIntegrator')
-casADi__IdasIntegrator__IdasIntegrator''
-  :: Function -> IO IdasIntegrator
-casADi__IdasIntegrator__IdasIntegrator'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IdasIntegrator__IdasIntegrator_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-idasIntegrator'' :: Function -> IO IdasIntegrator
-idasIntegrator'' = casADi__IdasIntegrator__IdasIntegrator''
-
diff --git a/Casadi/Wrappers/Classes/ImplicitFixedStepIntegrator.hs b/Casadi/Wrappers/Classes/ImplicitFixedStepIntegrator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/ImplicitFixedStepIntegrator.hs
+++ /dev/null
@@ -1,66 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.ImplicitFixedStepIntegrator
-       (
-         ImplicitFixedStepIntegrator,
-         ImplicitFixedStepIntegratorClass(..),
-         implicitFixedStepIntegrator,
-         implicitFixedStepIntegrator_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 ImplicitFixedStepIntegrator where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__ImplicitFixedStepIntegrator__checkNode" c_CasADi__ImplicitFixedStepIntegrator__checkNode
-  :: Ptr ImplicitFixedStepIntegrator' -> IO CInt
-casADi__ImplicitFixedStepIntegrator__checkNode
-  :: ImplicitFixedStepIntegrator -> IO Bool
-casADi__ImplicitFixedStepIntegrator__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ImplicitFixedStepIntegrator__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-implicitFixedStepIntegrator_checkNode :: ImplicitFixedStepIntegratorClass a => a -> IO Bool
-implicitFixedStepIntegrator_checkNode x = casADi__ImplicitFixedStepIntegrator__checkNode (castImplicitFixedStepIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ImplicitFixedStepIntegrator__ImplicitFixedStepIntegrator" c_CasADi__ImplicitFixedStepIntegrator__ImplicitFixedStepIntegrator
-  :: IO (Ptr ImplicitFixedStepIntegrator')
-casADi__ImplicitFixedStepIntegrator__ImplicitFixedStepIntegrator
-  :: IO ImplicitFixedStepIntegrator
-casADi__ImplicitFixedStepIntegrator__ImplicitFixedStepIntegrator  =
-  c_CasADi__ImplicitFixedStepIntegrator__ImplicitFixedStepIntegrator  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-implicitFixedStepIntegrator :: IO ImplicitFixedStepIntegrator
-implicitFixedStepIntegrator = casADi__ImplicitFixedStepIntegrator__ImplicitFixedStepIntegrator
-
diff --git a/Casadi/Wrappers/Classes/ImplicitFunction.hs b/Casadi/Wrappers/Classes/ImplicitFunction.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/ImplicitFunction.hs
+++ /dev/null
@@ -1,103 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.ImplicitFunction
-       (
-         ImplicitFunction,
-         ImplicitFunctionClass(..),
-         implicitFunction_checkNode,
-         implicitFunction_getF,
-         implicitFunction_getJac,
-         implicitFunction_getLinsol,
-       ) 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 ImplicitFunction where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__ImplicitFunction__checkNode" c_CasADi__ImplicitFunction__checkNode
-  :: Ptr ImplicitFunction' -> IO CInt
-casADi__ImplicitFunction__checkNode
-  :: ImplicitFunction -> IO Bool
-casADi__ImplicitFunction__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ImplicitFunction__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-implicitFunction_checkNode :: ImplicitFunctionClass a => a -> IO Bool
-implicitFunction_checkNode x = casADi__ImplicitFunction__checkNode (castImplicitFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ImplicitFunction__getF" c_CasADi__ImplicitFunction__getF
-  :: Ptr ImplicitFunction' -> IO (Ptr Function')
-casADi__ImplicitFunction__getF
-  :: ImplicitFunction -> IO Function
-casADi__ImplicitFunction__getF x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ImplicitFunction__getF x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access F.
--}
-implicitFunction_getF :: ImplicitFunctionClass a => a -> IO Function
-implicitFunction_getF x = casADi__ImplicitFunction__getF (castImplicitFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ImplicitFunction__getJac" c_CasADi__ImplicitFunction__getJac
-  :: Ptr ImplicitFunction' -> IO (Ptr Function')
-casADi__ImplicitFunction__getJac
-  :: ImplicitFunction -> IO Function
-casADi__ImplicitFunction__getJac x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ImplicitFunction__getJac x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access Jacobian.
--}
-implicitFunction_getJac :: ImplicitFunctionClass a => a -> IO Function
-implicitFunction_getJac x = casADi__ImplicitFunction__getJac (castImplicitFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__ImplicitFunction__getLinsol" c_CasADi__ImplicitFunction__getLinsol
-  :: Ptr ImplicitFunction' -> IO (Ptr LinearSolver')
-casADi__ImplicitFunction__getLinsol
-  :: ImplicitFunction -> IO LinearSolver
-casADi__ImplicitFunction__getLinsol x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ImplicitFunction__getLinsol x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access linear solver.
--}
-implicitFunction_getLinsol :: ImplicitFunctionClass a => a -> IO LinearSolver
-implicitFunction_getLinsol x = casADi__ImplicitFunction__getLinsol (castImplicitFunction x)
-
diff --git a/Casadi/Wrappers/Classes/IndexList.hs b/Casadi/Wrappers/Classes/IndexList.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/IndexList.hs
+++ /dev/null
@@ -1,121 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.IndexList
-       (
-         IndexList,
-         IndexListClass(..),
-         indexList,
-         indexList',
-         indexList'',
-         indexList''',
-         indexList_getAll,
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IndexList__getAll" c_CasADi__IndexList__getAll
-  :: Ptr IndexList' -> CInt -> IO (Ptr (CppVec CInt))
-casADi__IndexList__getAll
-  :: IndexList -> Int -> IO (Vector Int)
-casADi__IndexList__getAll x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__IndexList__getAll x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Get a vector
->of indices.
--}
-indexList_getAll :: IndexListClass a => a -> Int -> IO (Vector Int)
-indexList_getAll x = casADi__IndexList__getAll (castIndexList x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IndexList__IndexList" c_CasADi__IndexList__IndexList
-  :: IO (Ptr IndexList')
-casADi__IndexList__IndexList
-  :: IO IndexList
-casADi__IndexList__IndexList  =
-  c_CasADi__IndexList__IndexList  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::IndexList::IndexList()
->------------------------------------------------------------------------
->[INTERNAL] 
->Constructor.
->
->>  CasADi::IndexList::IndexList(int i)
->
->>  CasADi::IndexList::IndexList(const std::vector< int > &i)
->
->>  CasADi::IndexList::IndexList(const Slice &i)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-indexList :: IO IndexList
-indexList = casADi__IndexList__IndexList
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IndexList__IndexList_TIC" c_CasADi__IndexList__IndexList_TIC
-  :: CInt -> IO (Ptr IndexList')
-casADi__IndexList__IndexList'
-  :: Int -> IO IndexList
-casADi__IndexList__IndexList' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IndexList__IndexList_TIC x0' >>= wrapReturn
-
--- classy wrapper
-indexList' :: Int -> IO IndexList
-indexList' = casADi__IndexList__IndexList'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IndexList__IndexList_TIC_TIC" c_CasADi__IndexList__IndexList_TIC_TIC
-  :: Ptr (CppVec CInt) -> IO (Ptr IndexList')
-casADi__IndexList__IndexList''
-  :: Vector Int -> IO IndexList
-casADi__IndexList__IndexList'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IndexList__IndexList_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-indexList'' :: Vector Int -> IO IndexList
-indexList'' = casADi__IndexList__IndexList''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__IndexList__IndexList_TIC_TIC_TIC" c_CasADi__IndexList__IndexList_TIC_TIC_TIC
-  :: Ptr Slice' -> IO (Ptr IndexList')
-casADi__IndexList__IndexList'''
-  :: Slice -> IO IndexList
-casADi__IndexList__IndexList''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__IndexList__IndexList_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-indexList''' :: Slice -> IO IndexList
-indexList''' = casADi__IndexList__IndexList'''
-
diff --git a/Casadi/Wrappers/Classes/Integrator.hs b/Casadi/Wrappers/Classes/Integrator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/Integrator.hs
+++ /dev/null
@@ -1,193 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.Integrator
-       (
-         Integrator,
-         IntegratorClass(..),
-         integrator,
-         integrator_checkNode,
-         integrator_clone,
-         integrator_getDAE,
-         integrator_integrate,
-         integrator_integrateB,
-         integrator_printStats',
-         integrator_reset,
-         integrator_resetB,
-       ) 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 Integrator where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Integrator__clone" c_CasADi__Integrator__clone
-  :: Ptr Integrator' -> IO (Ptr Integrator')
-casADi__Integrator__clone
-  :: Integrator -> IO Integrator
-casADi__Integrator__clone x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Integrator__clone x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Clone.
--}
-integrator_clone :: IntegratorClass a => a -> IO Integrator
-integrator_clone x = casADi__Integrator__clone (castIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Integrator__printStats_TIC" c_CasADi__Integrator__printStats_TIC
-  :: Ptr Integrator' -> IO ()
-casADi__Integrator__printStats'
-  :: Integrator -> IO ()
-casADi__Integrator__printStats' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Integrator__printStats_TIC x0' >>= wrapReturn
-
--- classy wrapper
-integrator_printStats' :: IntegratorClass a => a -> IO ()
-integrator_printStats' x = casADi__Integrator__printStats' (castIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Integrator__reset" c_CasADi__Integrator__reset
-  :: Ptr Integrator' -> IO ()
-casADi__Integrator__reset
-  :: Integrator -> IO ()
-casADi__Integrator__reset x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Integrator__reset x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Reset the forward problem Time will be set to t0 and state to
->input(INTEGRATOR_X0)
--}
-integrator_reset :: IntegratorClass a => a -> IO ()
-integrator_reset x = casADi__Integrator__reset (castIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Integrator__integrate" c_CasADi__Integrator__integrate
-  :: Ptr Integrator' -> CDouble -> IO ()
-casADi__Integrator__integrate
-  :: Integrator -> Double -> IO ()
-casADi__Integrator__integrate x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Integrator__integrate x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Integrate forward until a specified time point.
--}
-integrator_integrate :: IntegratorClass a => a -> Double -> IO ()
-integrator_integrate x = casADi__Integrator__integrate (castIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Integrator__resetB" c_CasADi__Integrator__resetB
-  :: Ptr Integrator' -> IO ()
-casADi__Integrator__resetB
-  :: Integrator -> IO ()
-casADi__Integrator__resetB x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Integrator__resetB x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Reset the backward problem Time will be set to tf and backward state to
->input(INTEGRATOR_RX0)
--}
-integrator_resetB :: IntegratorClass a => a -> IO ()
-integrator_resetB x = casADi__Integrator__resetB (castIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Integrator__integrateB" c_CasADi__Integrator__integrateB
-  :: Ptr Integrator' -> CDouble -> IO ()
-casADi__Integrator__integrateB
-  :: Integrator -> Double -> IO ()
-casADi__Integrator__integrateB x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Integrator__integrateB x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Integrate backward until a specified time point.
--}
-integrator_integrateB :: IntegratorClass a => a -> Double -> IO ()
-integrator_integrateB x = casADi__Integrator__integrateB (castIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Integrator__checkNode" c_CasADi__Integrator__checkNode
-  :: Ptr Integrator' -> IO CInt
-casADi__Integrator__checkNode
-  :: Integrator -> IO Bool
-casADi__Integrator__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Integrator__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-integrator_checkNode :: IntegratorClass a => a -> IO Bool
-integrator_checkNode x = casADi__Integrator__checkNode (castIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Integrator__getDAE" c_CasADi__Integrator__getDAE
-  :: Ptr Integrator' -> IO (Ptr Function')
-casADi__Integrator__getDAE
-  :: Integrator -> IO Function
-casADi__Integrator__getDAE x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Integrator__getDAE x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the DAE.
--}
-integrator_getDAE :: IntegratorClass a => a -> IO Function
-integrator_getDAE x = casADi__Integrator__getDAE (castIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Integrator__Integrator" c_CasADi__Integrator__Integrator
-  :: IO (Ptr Integrator')
-casADi__Integrator__Integrator
-  :: IO Integrator
-casADi__Integrator__Integrator  =
-  c_CasADi__Integrator__Integrator  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-integrator :: IO Integrator
-integrator = casADi__Integrator__Integrator
-
diff --git a/Casadi/Wrappers/Classes/IpoptSolver.hs b/Casadi/Wrappers/Classes/IpoptSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/IpoptSolver.hs
+++ /dev/null
@@ -1,128 +0,0 @@
-{-# 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'
-
diff --git a/Casadi/Wrappers/Classes/KinsolSolver.hs b/Casadi/Wrappers/Classes/KinsolSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/KinsolSolver.hs
+++ /dev/null
@@ -1,144 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.KinsolSolver
-       (
-         KinsolSolver,
-         KinsolSolverClass(..),
-         kinsolSolver,
-         kinsolSolver',
-         kinsolSolver'',
-         kinsolSolver''',
-         kinsolSolver_checkNode,
-         kinsolSolver_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 KinsolSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__KinsolSolver__checkNode" c_CasADi__KinsolSolver__checkNode
-  :: Ptr KinsolSolver' -> IO CInt
-casADi__KinsolSolver__checkNode
-  :: KinsolSolver -> IO Bool
-casADi__KinsolSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__KinsolSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-kinsolSolver_checkNode :: KinsolSolverClass a => a -> IO Bool
-kinsolSolver_checkNode x = casADi__KinsolSolver__checkNode (castKinsolSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__KinsolSolver__creator" c_CasADi__KinsolSolver__creator
-  :: Ptr Function' -> Ptr Function' -> Ptr LinearSolver' -> IO (Ptr ImplicitFunction')
-casADi__KinsolSolver__creator
-  :: Function -> Function -> LinearSolver -> IO ImplicitFunction
-casADi__KinsolSolver__creator x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__KinsolSolver__creator x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-kinsolSolver_creator :: Function -> Function -> LinearSolver -> IO ImplicitFunction
-kinsolSolver_creator = casADi__KinsolSolver__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__KinsolSolver__KinsolSolver" c_CasADi__KinsolSolver__KinsolSolver
-  :: IO (Ptr KinsolSolver')
-casADi__KinsolSolver__KinsolSolver
-  :: IO KinsolSolver
-casADi__KinsolSolver__KinsolSolver  =
-  c_CasADi__KinsolSolver__KinsolSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::KinsolSolver::KinsolSolver()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::KinsolSolver::KinsolSolver(const Function &f, const Function &jac=Function(), const LinearSolver &linsol=LinearSolver())
->------------------------------------------------------------------------
->
->Create an KINSOL instance.
->
->Parameters:
->-----------
->
->f:   Function mapping from (n+1) inputs to 1 output
--}
-kinsolSolver :: IO KinsolSolver
-kinsolSolver = casADi__KinsolSolver__KinsolSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__KinsolSolver__KinsolSolver_TIC" c_CasADi__KinsolSolver__KinsolSolver_TIC
-  :: Ptr Function' -> Ptr Function' -> Ptr LinearSolver' -> IO (Ptr KinsolSolver')
-casADi__KinsolSolver__KinsolSolver'
-  :: Function -> Function -> LinearSolver -> IO KinsolSolver
-casADi__KinsolSolver__KinsolSolver' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__KinsolSolver__KinsolSolver_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-kinsolSolver' :: Function -> Function -> LinearSolver -> IO KinsolSolver
-kinsolSolver' = casADi__KinsolSolver__KinsolSolver'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__KinsolSolver__KinsolSolver_TIC_TIC" c_CasADi__KinsolSolver__KinsolSolver_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr KinsolSolver')
-casADi__KinsolSolver__KinsolSolver''
-  :: Function -> Function -> IO KinsolSolver
-casADi__KinsolSolver__KinsolSolver'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__KinsolSolver__KinsolSolver_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-kinsolSolver'' :: Function -> Function -> IO KinsolSolver
-kinsolSolver'' = casADi__KinsolSolver__KinsolSolver''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__KinsolSolver__KinsolSolver_TIC_TIC_TIC" c_CasADi__KinsolSolver__KinsolSolver_TIC_TIC_TIC
-  :: Ptr Function' -> IO (Ptr KinsolSolver')
-casADi__KinsolSolver__KinsolSolver'''
-  :: Function -> IO KinsolSolver
-casADi__KinsolSolver__KinsolSolver''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__KinsolSolver__KinsolSolver_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-kinsolSolver''' :: Function -> IO KinsolSolver
-kinsolSolver''' = casADi__KinsolSolver__KinsolSolver'''
-
diff --git a/Casadi/Wrappers/Classes/LPSolver.hs b/Casadi/Wrappers/Classes/LPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/LPSolver.hs
+++ /dev/null
@@ -1,66 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.LPSolver
-       (
-         LPSolver,
-         LPSolverClass(..),
-         lpSolver,
-         lpSolver_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 LPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__LPSolver__checkNode" c_CasADi__LPSolver__checkNode
-  :: Ptr LPSolver' -> IO CInt
-casADi__LPSolver__checkNode
-  :: LPSolver -> IO Bool
-casADi__LPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__LPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-lpSolver_checkNode :: LPSolverClass a => a -> IO Bool
-lpSolver_checkNode x = casADi__LPSolver__checkNode (castLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__LPSolver__LPSolver" c_CasADi__LPSolver__LPSolver
-  :: IO (Ptr LPSolver')
-casADi__LPSolver__LPSolver
-  :: IO LPSolver
-casADi__LPSolver__LPSolver  =
-  c_CasADi__LPSolver__LPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-lpSolver :: IO LPSolver
-lpSolver = casADi__LPSolver__LPSolver
-
diff --git a/Casadi/Wrappers/Classes/LPStructure.hs b/Casadi/Wrappers/Classes/LPStructure.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/LPStructure.hs
+++ /dev/null
@@ -1,49 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.LPStructure
-       (
-         LPStructure,
-         LPStructureClass(..),
-         lpStructure,
-       ) 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 LPStructure where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__LPStructIOSchemeVector_CasADi__Sparsity___LPStructure" c_CasADi__LPStructIOSchemeVector_CasADi__Sparsity___LPStructure
-  :: Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr LPStructure')
-casADi__LPStructIOSchemeVector_CasADi__Sparsity___LPStructure
-  :: Vector Sparsity -> IO LPStructure
-casADi__LPStructIOSchemeVector_CasADi__Sparsity___LPStructure x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__LPStructIOSchemeVector_CasADi__Sparsity___LPStructure x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-lpStructure :: Vector Sparsity -> IO LPStructure
-lpStructure = casADi__LPStructIOSchemeVector_CasADi__Sparsity___LPStructure
-
diff --git a/Casadi/Wrappers/Classes/LinearSolver.hs b/Casadi/Wrappers/Classes/LinearSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/LinearSolver.hs
+++ /dev/null
@@ -1,229 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.LinearSolver
-       (
-         LinearSolver,
-         LinearSolverClass(..),
-         linearSolver,
-         linearSolver',
-         linearSolver'',
-         linearSolver_checkNode,
-         linearSolver_prepare,
-         linearSolver_prepared,
-         linearSolver_solve,
-         linearSolver_solve',
-         linearSolver_solve'',
-         linearSolver_solve''',
-       ) 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 LinearSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__LinearSolver__prepare" c_CasADi__LinearSolver__prepare
-  :: Ptr LinearSolver' -> IO ()
-casADi__LinearSolver__prepare
-  :: LinearSolver -> IO ()
-casADi__LinearSolver__prepare x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__LinearSolver__prepare x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Factorize the matrix.
--}
-linearSolver_prepare :: LinearSolverClass a => a -> IO ()
-linearSolver_prepare x = casADi__LinearSolver__prepare (castLinearSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__LinearSolver__solve" c_CasADi__LinearSolver__solve
-  :: Ptr LinearSolver' -> CInt -> IO ()
-casADi__LinearSolver__solve
-  :: LinearSolver -> Bool -> IO ()
-casADi__LinearSolver__solve x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__LinearSolver__solve x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::LinearSolver::solve(bool transpose=false)
->------------------------------------------------------------------------
->
->Solve the system of equations, internal vector.
->
->>  void CasADi::LinearSolver::solve(double *x, int nrhs=1, bool transpose=false)
->------------------------------------------------------------------------
->[INTERNAL] 
-> Solve the factorized system of equations.
->
->>  MX CasADi::LinearSolver::solve(const MX &A, const MX &B, bool transpose=false)
->------------------------------------------------------------------------
->
->Create a solve node.
->
->>  void CasADi::Function::solve()
->------------------------------------------------------------------------
->
->the same as evaluate()
--}
-linearSolver_solve :: LinearSolverClass a => a -> Bool -> IO ()
-linearSolver_solve x = casADi__LinearSolver__solve (castLinearSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__LinearSolver__solve_TIC" c_CasADi__LinearSolver__solve_TIC
-  :: Ptr LinearSolver' -> IO ()
-casADi__LinearSolver__solve'
-  :: LinearSolver -> IO ()
-casADi__LinearSolver__solve' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__LinearSolver__solve_TIC x0' >>= wrapReturn
-
--- classy wrapper
-linearSolver_solve' :: LinearSolverClass a => a -> IO ()
-linearSolver_solve' x = casADi__LinearSolver__solve' (castLinearSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__LinearSolver__solve_TIC_TIC" c_CasADi__LinearSolver__solve_TIC_TIC
-  :: Ptr LinearSolver' -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
-casADi__LinearSolver__solve''
-  :: LinearSolver -> MX -> MX -> Bool -> IO MX
-casADi__LinearSolver__solve'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__LinearSolver__solve_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-linearSolver_solve'' :: LinearSolverClass a => a -> MX -> MX -> Bool -> IO MX
-linearSolver_solve'' x = casADi__LinearSolver__solve'' (castLinearSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__LinearSolver__solve_TIC_TIC_TIC" c_CasADi__LinearSolver__solve_TIC_TIC_TIC
-  :: Ptr LinearSolver' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__LinearSolver__solve'''
-  :: LinearSolver -> MX -> MX -> IO MX
-casADi__LinearSolver__solve''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__LinearSolver__solve_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-linearSolver_solve''' :: LinearSolverClass a => a -> MX -> MX -> IO MX
-linearSolver_solve''' x = casADi__LinearSolver__solve''' (castLinearSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__LinearSolver__prepared" c_CasADi__LinearSolver__prepared
-  :: Ptr LinearSolver' -> IO CInt
-casADi__LinearSolver__prepared
-  :: LinearSolver -> IO Bool
-casADi__LinearSolver__prepared x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__LinearSolver__prepared x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if prepared.
--}
-linearSolver_prepared :: LinearSolverClass a => a -> IO Bool
-linearSolver_prepared x = casADi__LinearSolver__prepared (castLinearSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__LinearSolver__checkNode" c_CasADi__LinearSolver__checkNode
-  :: Ptr LinearSolver' -> IO CInt
-casADi__LinearSolver__checkNode
-  :: LinearSolver -> IO Bool
-casADi__LinearSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__LinearSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-linearSolver_checkNode :: LinearSolverClass a => a -> IO Bool
-linearSolver_checkNode x = casADi__LinearSolver__checkNode (castLinearSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__LinearSolver__LinearSolver" c_CasADi__LinearSolver__LinearSolver
-  :: IO (Ptr LinearSolver')
-casADi__LinearSolver__LinearSolver
-  :: IO LinearSolver
-casADi__LinearSolver__LinearSolver  =
-  c_CasADi__LinearSolver__LinearSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::LinearSolver::LinearSolver()
->------------------------------------------------------------------------
->[INTERNAL] 
->Default (empty) constructor
->
->>  CasADi::LinearSolver::LinearSolver(const Sparsity &sp, int nrhs=1)
->------------------------------------------------------------------------
->
->Create a linear solver given a sparsity pattern (creates a dummy solver
->only)
--}
-linearSolver :: IO LinearSolver
-linearSolver = casADi__LinearSolver__LinearSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__LinearSolver__LinearSolver_TIC" c_CasADi__LinearSolver__LinearSolver_TIC
-  :: Ptr Sparsity' -> CInt -> IO (Ptr LinearSolver')
-casADi__LinearSolver__LinearSolver'
-  :: Sparsity -> Int -> IO LinearSolver
-casADi__LinearSolver__LinearSolver' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__LinearSolver__LinearSolver_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-linearSolver' :: Sparsity -> Int -> IO LinearSolver
-linearSolver' = casADi__LinearSolver__LinearSolver'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__LinearSolver__LinearSolver_TIC_TIC" c_CasADi__LinearSolver__LinearSolver_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr LinearSolver')
-casADi__LinearSolver__LinearSolver''
-  :: Sparsity -> IO LinearSolver
-casADi__LinearSolver__LinearSolver'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__LinearSolver__LinearSolver_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-linearSolver'' :: Sparsity -> IO LinearSolver
-linearSolver'' = casADi__LinearSolver__LinearSolver''
-
diff --git a/Casadi/Wrappers/Classes/MX.hs b/Casadi/Wrappers/Classes/MX.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/MX.hs
+++ /dev/null
@@ -1,2974 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.MX
-       (
-         MX,
-         MXClass(..),
-         mx,
-         mx',
-         mx'',
-         mx''',
-         mx'''',
-         mx''''',
-         mx'''''',
-         mx''''''',
-         mx'''''''',
-         mx___add__,
-         mx___constpow__,
-         mx___copysign__,
-         mx___div__,
-         mx___eq__,
-         mx___hash__,
-         mx___le__,
-         mx___lt__,
-         mx___mpower__,
-         mx___mrdivide__,
-         mx___mul__,
-         mx___ne__,
-         mx___nonzero__,
-         mx___pow__,
-         mx___sub__,
-         mx___truediv__,
-         mx_addToSum,
-         mx_append,
-         mx_appendColumns,
-         mx_arccos,
-         mx_arccosh,
-         mx_arcsin,
-         mx_arcsinh,
-         mx_arctan,
-         mx_arctan2,
-         mx_arctanh,
-         mx_attachAssert,
-         mx_attachAssert',
-         mx_binary,
-         mx_ceil,
-         mx_constpow,
-         mx_cos,
-         mx_cosh,
-         mx_densify,
-         mx_densify',
-         mx_enlarge,
-         mx_erase,
-         mx_erf,
-         mx_erfinv,
-         mx_exp,
-         mx_eye,
-         mx_fabs,
-         mx_floor,
-         mx_fmax,
-         mx_fmin,
-         mx_getDep,
-         mx_getDep',
-         mx_getEqualityCheckingDepth,
-         mx_getEvaluationOutput,
-         mx_getFunction,
-         mx_getMatrixValue,
-         mx_getMaxNumCallsInPrint,
-         mx_getNZ,
-         mx_getNZ',
-         mx_getNZ'',
-         mx_getNZ''',
-         mx_getName,
-         mx_getNdeps,
-         mx_getNumOutputs,
-         mx_getOp,
-         mx_getOutput,
-         mx_getOutput',
-         mx_getTemp,
-         mx_getValue,
-         mx_if_else_zero,
-         mx_indexed_assignment,
-         mx_indexed_assignment',
-         mx_indexed_assignment'',
-         mx_indexed_assignment''',
-         mx_indexed_assignment'''',
-         mx_indexed_assignment''''',
-         mx_indexed_assignment'''''',
-         mx_indexed_assignment''''''',
-         mx_indexed_assignment'''''''',
-         mx_indexed_assignment''''''''',
-         mx_indexed_one_based_assignment,
-         mx_indexed_one_based_assignment',
-         mx_indexed_zero_based_assignment,
-         mx_indexed_zero_based_assignment',
-         mx_indexed_zero_based_assignment'',
-         mx_inf,
-         mx_inf',
-         mx_inf'',
-         mx_inf''',
-         mx_inner_prod,
-         mx_isBinary,
-         mx_isCommutative,
-         mx_isConstant,
-         mx_isEqual,
-         mx_isEqual',
-         mx_isEvaluation,
-         mx_isEvaluationOutput,
-         mx_isIdentity,
-         mx_isMinusOne,
-         mx_isMultiplication,
-         mx_isNorm,
-         mx_isOne,
-         mx_isOperation,
-         mx_isRegular,
-         mx_isSymbolic,
-         mx_isSymbolicSparse,
-         mx_isTranspose,
-         mx_isUnary,
-         mx_isZero,
-         mx_lift,
-         mx_log,
-         mx_log10,
-         mx_logic_and,
-         mx_logic_not,
-         mx_logic_or,
-         mx_mapping,
-         mx_mul,
-         mx_mul',
-         mx_mul_full,
-         mx_mul_full',
-         mx_nan,
-         mx_nan',
-         mx_nan'',
-         mx_nan''',
-         mx_nz_indexed_assignment,
-         mx_nz_indexed_assignment',
-         mx_nz_indexed_one_based_assignment,
-         mx_nz_indexed_zero_based_assignment,
-         mx_operator_minus,
-         mx_outer_prod,
-         mx_printme,
-         mx_repmat,
-         mx_repmat',
-         mx_repmat'',
-         mx_setEqualityCheckingDepth,
-         mx_setEqualityCheckingDepth',
-         mx_setMaxNumCallsInPrint,
-         mx_setMaxNumCallsInPrint',
-         mx_setNZ,
-         mx_setNZ',
-         mx_setNZ'',
-         mx_setNZ''',
-         mx_setSparse,
-         mx_setSparse',
-         mx_setSub,
-         mx_setSub',
-         mx_setSub'',
-         mx_setSub''',
-         mx_setSub'''',
-         mx_setSub''''',
-         mx_setSub'''''',
-         mx_setSub''''''',
-         mx_setSub'''''''',
-         mx_setSub''''''''',
-         mx_setTemp,
-         mx_sign,
-         mx_sin,
-         mx_sinh,
-         mx_sparsityRef,
-         mx_sqrt,
-         mx_tan,
-         mx_tanh,
-         mx_trans,
-         mx_unary,
-       ) 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 MX where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____nonzero__" c_CasADi__MX____nonzero__
-  :: Ptr MX' -> IO CInt
-casADi__MX____nonzero__
-  :: MX -> IO Bool
-casADi__MX____nonzero__ x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX____nonzero__ x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Returns the truth value of an MX expression.
--}
-mx___nonzero__ :: MXClass a => a -> IO Bool
-mx___nonzero__ x = casADi__MX____nonzero__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__nz_indexed_one_based_assignment" c_CasADi__MX__nz_indexed_one_based_assignment
-  :: Ptr MX' -> CInt -> Ptr MX' -> IO ()
-casADi__MX__nz_indexed_one_based_assignment
-  :: MX -> Int -> MX -> IO ()
-casADi__MX__nz_indexed_one_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__nz_indexed_one_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->set a non-zero
--}
-mx_nz_indexed_one_based_assignment :: MXClass a => a -> Int -> MX -> IO ()
-mx_nz_indexed_one_based_assignment x = casADi__MX__nz_indexed_one_based_assignment (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__nz_indexed_zero_based_assignment" c_CasADi__MX__nz_indexed_zero_based_assignment
-  :: Ptr MX' -> CInt -> Ptr MX' -> IO ()
-casADi__MX__nz_indexed_zero_based_assignment
-  :: MX -> Int -> MX -> IO ()
-casADi__MX__nz_indexed_zero_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__nz_indexed_zero_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Indexing for interfaced languages.
->
->get a non-zero
--}
-mx_nz_indexed_zero_based_assignment :: MXClass a => a -> Int -> MX -> IO ()
-mx_nz_indexed_zero_based_assignment x = casADi__MX__nz_indexed_zero_based_assignment (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__nz_indexed_assignment" c_CasADi__MX__nz_indexed_assignment
-  :: Ptr MX' -> Ptr IndexList' -> Ptr MX' -> IO ()
-casADi__MX__nz_indexed_assignment
-  :: MX -> IndexList -> MX -> IO ()
-casADi__MX__nz_indexed_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__nz_indexed_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Indexing for interfaced languages.
->
->get a non-zero
--}
-mx_nz_indexed_assignment :: MXClass a => a -> IndexList -> MX -> IO ()
-mx_nz_indexed_assignment x = casADi__MX__nz_indexed_assignment (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__nz_indexed_assignment_TIC" c_CasADi__MX__nz_indexed_assignment_TIC
-  :: Ptr MX' -> Ptr Slice' -> Ptr MX' -> IO ()
-casADi__MX__nz_indexed_assignment'
-  :: MX -> Slice -> MX -> IO ()
-casADi__MX__nz_indexed_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__nz_indexed_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_nz_indexed_assignment' :: MXClass a => a -> Slice -> MX -> IO ()
-mx_nz_indexed_assignment' x = casADi__MX__nz_indexed_assignment' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_one_based_assignment" c_CasADi__MX__indexed_one_based_assignment
-  :: Ptr MX' -> CInt -> CInt -> Ptr MX' -> IO ()
-casADi__MX__indexed_one_based_assignment
-  :: MX -> Int -> Int -> MX -> IO ()
-casADi__MX__indexed_one_based_assignment x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__indexed_one_based_assignment x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::MX::indexed_one_based_assignment(int rr, int cc, const MX &m)
->------------------------------------------------------------------------
->
->set a matrix element
--}
-mx_indexed_one_based_assignment :: MXClass a => a -> Int -> Int -> MX -> IO ()
-mx_indexed_one_based_assignment x = casADi__MX__indexed_one_based_assignment (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_zero_based_assignment" c_CasADi__MX__indexed_zero_based_assignment
-  :: Ptr MX' -> CInt -> CInt -> Ptr MX' -> IO ()
-casADi__MX__indexed_zero_based_assignment
-  :: MX -> Int -> Int -> MX -> IO ()
-casADi__MX__indexed_zero_based_assignment x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__indexed_zero_based_assignment x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::MX::indexed_zero_based_assignment(int rr, int cc, const MX &m)
->
->>  void CasADi::MX::indexed_zero_based_assignment(const Matrix< int > &k, const MX &m)
->------------------------------------------------------------------------
->
->Indexing for interfaced languages.
->
->get a non-zero
--}
-mx_indexed_zero_based_assignment :: MXClass a => a -> Int -> Int -> MX -> IO ()
-mx_indexed_zero_based_assignment x = casADi__MX__indexed_zero_based_assignment (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_assignment" c_CasADi__MX__indexed_assignment
-  :: Ptr MX' -> Ptr IndexList' -> Ptr IndexList' -> Ptr MX' -> IO ()
-casADi__MX__indexed_assignment
-  :: MX -> IndexList -> IndexList -> MX -> IO ()
-casADi__MX__indexed_assignment x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__indexed_assignment x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::MX::indexed_assignment(const IndexList &rr, const IndexList &cc, const MX &m)
->
->>  void CasADi::MX::indexed_assignment(const Slice &rr, const Slice &cc, const MX &m)
->
->>  void CasADi::MX::indexed_assignment(const Sparsity &sp, const MX &m)
->
->>  void CasADi::MX::indexed_assignment(const Matrix< int > &rr, const Slice &cc, const MX &m)
->
->>  void CasADi::MX::indexed_assignment(const Slice &rr, const Matrix< int > &cc, const MX &m)
->
->>  void CasADi::MX::indexed_assignment(const Matrix< int > &rr, const IndexList &cc, const MX &m)
->
->>  void CasADi::MX::indexed_assignment(const IndexList &rr, const Matrix< int > &cc, const MX &m)
->
->>  void CasADi::MX::indexed_assignment(const Matrix< int > &rr, const Matrix< int > &cc, const MX &m)
->------------------------------------------------------------------------
->
->Indexing for interfaced languages.
->
->get a non-zero
--}
-mx_indexed_assignment :: MXClass a => a -> IndexList -> IndexList -> MX -> IO ()
-mx_indexed_assignment x = casADi__MX__indexed_assignment (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_assignment_TIC" c_CasADi__MX__indexed_assignment_TIC
-  :: Ptr MX' -> Ptr Slice' -> Ptr Slice' -> Ptr MX' -> IO ()
-casADi__MX__indexed_assignment'
-  :: MX -> Slice -> Slice -> MX -> IO ()
-casADi__MX__indexed_assignment' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__indexed_assignment_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_assignment' :: MXClass a => a -> Slice -> Slice -> MX -> IO ()
-mx_indexed_assignment' x = casADi__MX__indexed_assignment' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_zero_based_assignment_TIC" c_CasADi__MX__indexed_zero_based_assignment_TIC
-  :: Ptr MX' -> Ptr IMatrix' -> Ptr MX' -> IO ()
-casADi__MX__indexed_zero_based_assignment'
-  :: MX -> IMatrix -> MX -> IO ()
-casADi__MX__indexed_zero_based_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__indexed_zero_based_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_zero_based_assignment' :: MXClass a => a -> IMatrix -> MX -> IO ()
-mx_indexed_zero_based_assignment' x = casADi__MX__indexed_zero_based_assignment' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_assignment_TIC_TIC" c_CasADi__MX__indexed_assignment_TIC_TIC
-  :: Ptr MX' -> Ptr Sparsity' -> Ptr MX' -> IO ()
-casADi__MX__indexed_assignment''
-  :: MX -> Sparsity -> MX -> IO ()
-casADi__MX__indexed_assignment'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__indexed_assignment_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_assignment'' :: MXClass a => a -> Sparsity -> MX -> IO ()
-mx_indexed_assignment'' x = casADi__MX__indexed_assignment'' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_assignment_TIC_TIC_TIC" c_CasADi__MX__indexed_assignment_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr IMatrix' -> Ptr Slice' -> Ptr MX' -> IO ()
-casADi__MX__indexed_assignment'''
-  :: MX -> IMatrix -> Slice -> MX -> IO ()
-casADi__MX__indexed_assignment''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__indexed_assignment_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_assignment''' :: MXClass a => a -> IMatrix -> Slice -> MX -> IO ()
-mx_indexed_assignment''' x = casADi__MX__indexed_assignment''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC" c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr Slice' -> Ptr IMatrix' -> Ptr MX' -> IO ()
-casADi__MX__indexed_assignment''''
-  :: MX -> Slice -> IMatrix -> MX -> IO ()
-casADi__MX__indexed_assignment'''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_assignment'''' :: MXClass a => a -> Slice -> IMatrix -> MX -> IO ()
-mx_indexed_assignment'''' x = casADi__MX__indexed_assignment'''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr IMatrix' -> Ptr IndexList' -> Ptr MX' -> IO ()
-casADi__MX__indexed_assignment'''''
-  :: MX -> IMatrix -> IndexList -> MX -> IO ()
-casADi__MX__indexed_assignment''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_assignment''''' :: MXClass a => a -> IMatrix -> IndexList -> MX -> IO ()
-mx_indexed_assignment''''' x = casADi__MX__indexed_assignment''''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr IndexList' -> Ptr IMatrix' -> Ptr MX' -> IO ()
-casADi__MX__indexed_assignment''''''
-  :: MX -> IndexList -> IMatrix -> MX -> IO ()
-casADi__MX__indexed_assignment'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_assignment'''''' :: MXClass a => a -> IndexList -> IMatrix -> MX -> IO ()
-mx_indexed_assignment'''''' x = casADi__MX__indexed_assignment'''''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr MX' -> IO ()
-casADi__MX__indexed_assignment'''''''
-  :: MX -> IMatrix -> IMatrix -> MX -> IO ()
-casADi__MX__indexed_assignment''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_assignment''''''' :: MXClass a => a -> IMatrix -> IMatrix -> MX -> IO ()
-mx_indexed_assignment''''''' x = casADi__MX__indexed_assignment''''''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_one_based_assignment_TIC" c_CasADi__MX__indexed_one_based_assignment_TIC
-  :: Ptr MX' -> CInt -> Ptr MX' -> IO ()
-casADi__MX__indexed_one_based_assignment'
-  :: MX -> Int -> MX -> IO ()
-casADi__MX__indexed_one_based_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__indexed_one_based_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_one_based_assignment' :: MXClass a => a -> Int -> MX -> IO ()
-mx_indexed_one_based_assignment' x = casADi__MX__indexed_one_based_assignment' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_zero_based_assignment_TIC_TIC" c_CasADi__MX__indexed_zero_based_assignment_TIC_TIC
-  :: Ptr MX' -> CInt -> Ptr MX' -> IO ()
-casADi__MX__indexed_zero_based_assignment''
-  :: MX -> Int -> MX -> IO ()
-casADi__MX__indexed_zero_based_assignment'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__indexed_zero_based_assignment_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_zero_based_assignment'' :: MXClass a => a -> Int -> MX -> IO ()
-mx_indexed_zero_based_assignment'' x = casADi__MX__indexed_zero_based_assignment'' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr IndexList' -> Ptr MX' -> IO ()
-casADi__MX__indexed_assignment''''''''
-  :: MX -> IndexList -> MX -> IO ()
-casADi__MX__indexed_assignment'''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_assignment'''''''' :: MXClass a => a -> IndexList -> MX -> IO ()
-mx_indexed_assignment'''''''' x = casADi__MX__indexed_assignment'''''''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr Slice' -> Ptr MX' -> IO ()
-casADi__MX__indexed_assignment'''''''''
-  :: MX -> Slice -> MX -> IO ()
-casADi__MX__indexed_assignment''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_indexed_assignment''''''''' :: MXClass a => a -> Slice -> MX -> IO ()
-mx_indexed_assignment''''''''' x = casADi__MX__indexed_assignment''''''''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__sparsityRef" c_CasADi__MX__sparsityRef
-  :: Ptr MX' -> IO (Ptr Sparsity')
-casADi__MX__sparsityRef
-  :: MX -> IO Sparsity
-casADi__MX__sparsityRef x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__sparsityRef x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access the sparsity, make a copy if there are multiple references to it.
--}
-mx_sparsityRef :: MXClass a => a -> IO Sparsity
-mx_sparsityRef x = casADi__MX__sparsityRef (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__erase" c_CasADi__MX__erase
-  :: Ptr MX' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__MX__erase
-  :: MX -> Vector Int -> Vector Int -> IO ()
-casADi__MX__erase x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__erase x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Erase a submatrix.
--}
-mx_erase :: MXClass a => a -> Vector Int -> Vector Int -> IO ()
-mx_erase x = casADi__MX__erase (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__enlarge" c_CasADi__MX__enlarge
-  :: Ptr MX' -> CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__MX__enlarge
-  :: MX -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casADi__MX__enlarge x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__MX__enlarge x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->Enlarge matrix Make the matrix larger by inserting empty rows and columns,
->keeping the existing non-zeros.
--}
-mx_enlarge :: MXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-mx_enlarge x = casADi__MX__enlarge (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__operator_minus" c_CasADi__MX__operator_minus
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__operator_minus
-  :: MX -> IO MX
-casADi__MX__operator_minus x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__operator_minus x0' >>= wrapReturn
-
--- classy wrapper
-mx_operator_minus :: MXClass a => a -> IO MX
-mx_operator_minus x = casADi__MX__operator_minus (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getDep" c_CasADi__MX__getDep
-  :: Ptr MX' -> CInt -> IO (Ptr MX')
-casADi__MX__getDep
-  :: MX -> Int -> IO MX
-casADi__MX__getDep x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__getDep x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the nth dependency as MX.
--}
-mx_getDep :: MXClass a => a -> Int -> IO MX
-mx_getDep x = casADi__MX__getDep (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getDep_TIC" c_CasADi__MX__getDep_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__getDep'
-  :: MX -> IO MX
-casADi__MX__getDep' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getDep_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mx_getDep' :: MXClass a => a -> IO MX
-mx_getDep' x = casADi__MX__getDep' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getNumOutputs" c_CasADi__MX__getNumOutputs
-  :: Ptr MX' -> IO CInt
-casADi__MX__getNumOutputs
-  :: MX -> IO Int
-casADi__MX__getNumOutputs x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getNumOutputs x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Number of outputs.
--}
-mx_getNumOutputs :: MXClass a => a -> IO Int
-mx_getNumOutputs x = casADi__MX__getNumOutputs (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getOutput" c_CasADi__MX__getOutput
-  :: Ptr MX' -> CInt -> IO (Ptr MX')
-casADi__MX__getOutput
-  :: MX -> Int -> IO MX
-casADi__MX__getOutput x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__getOutput x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get an output.
--}
-mx_getOutput :: MXClass a => a -> Int -> IO MX
-mx_getOutput x = casADi__MX__getOutput (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getOutput_TIC" c_CasADi__MX__getOutput_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__getOutput'
-  :: MX -> IO MX
-casADi__MX__getOutput' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getOutput_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mx_getOutput' :: MXClass a => a -> IO MX
-mx_getOutput' x = casADi__MX__getOutput' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getNdeps" c_CasADi__MX__getNdeps
-  :: Ptr MX' -> IO CInt
-casADi__MX__getNdeps
-  :: MX -> IO Int
-casADi__MX__getNdeps x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getNdeps x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of dependencies of a binary SXElement.
--}
-mx_getNdeps :: MXClass a => a -> IO Int
-mx_getNdeps x = casADi__MX__getNdeps (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getName" c_CasADi__MX__getName
-  :: Ptr MX' -> IO (Ptr StdString')
-casADi__MX__getName
-  :: MX -> IO String
-casADi__MX__getName x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getName x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the name.
--}
-mx_getName :: MXClass a => a -> IO String
-mx_getName x = casADi__MX__getName (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getValue" c_CasADi__MX__getValue
-  :: Ptr MX' -> IO CDouble
-casADi__MX__getValue
-  :: MX -> IO Double
-casADi__MX__getValue x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getValue x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the value (only for scalar constant nodes)
--}
-mx_getValue :: MXClass a => a -> IO Double
-mx_getValue x = casADi__MX__getValue (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getMatrixValue" c_CasADi__MX__getMatrixValue
-  :: Ptr MX' -> IO (Ptr DMatrix')
-casADi__MX__getMatrixValue
-  :: MX -> IO DMatrix
-casADi__MX__getMatrixValue x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getMatrixValue x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the value (only for constant nodes)
--}
-mx_getMatrixValue :: MXClass a => a -> IO DMatrix
-mx_getMatrixValue x = casADi__MX__getMatrixValue (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isSymbolic" c_CasADi__MX__isSymbolic
-  :: Ptr MX' -> IO CInt
-casADi__MX__isSymbolic
-  :: MX -> IO Bool
-casADi__MX__isSymbolic x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isSymbolic x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if symbolic.
--}
-mx_isSymbolic :: MXClass a => a -> IO Bool
-mx_isSymbolic x = casADi__MX__isSymbolic (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isConstant" c_CasADi__MX__isConstant
-  :: Ptr MX' -> IO CInt
-casADi__MX__isConstant
-  :: MX -> IO Bool
-casADi__MX__isConstant x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isConstant x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if constant.
--}
-mx_isConstant :: MXClass a => a -> IO Bool
-mx_isConstant x = casADi__MX__isConstant (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isEvaluation" c_CasADi__MX__isEvaluation
-  :: Ptr MX' -> IO CInt
-casADi__MX__isEvaluation
-  :: MX -> IO Bool
-casADi__MX__isEvaluation x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isEvaluation x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if evaluation.
--}
-mx_isEvaluation :: MXClass a => a -> IO Bool
-mx_isEvaluation x = casADi__MX__isEvaluation (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isEvaluationOutput" c_CasADi__MX__isEvaluationOutput
-  :: Ptr MX' -> IO CInt
-casADi__MX__isEvaluationOutput
-  :: MX -> IO Bool
-casADi__MX__isEvaluationOutput x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isEvaluationOutput x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if evaluation output.
--}
-mx_isEvaluationOutput :: MXClass a => a -> IO Bool
-mx_isEvaluationOutput x = casADi__MX__isEvaluationOutput (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getEvaluationOutput" c_CasADi__MX__getEvaluationOutput
-  :: Ptr MX' -> IO CInt
-casADi__MX__getEvaluationOutput
-  :: MX -> IO Int
-casADi__MX__getEvaluationOutput x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getEvaluationOutput x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the index of evaluation output - only valid when isEvaluationoutput() is
->true.
--}
-mx_getEvaluationOutput :: MXClass a => a -> IO Int
-mx_getEvaluationOutput x = casADi__MX__getEvaluationOutput (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isOperation" c_CasADi__MX__isOperation
-  :: Ptr MX' -> CInt -> IO CInt
-casADi__MX__isOperation
-  :: MX -> Int -> IO Bool
-casADi__MX__isOperation x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__isOperation x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is it a certain operation.
--}
-mx_isOperation :: MXClass a => a -> Int -> IO Bool
-mx_isOperation x = casADi__MX__isOperation (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isMultiplication" c_CasADi__MX__isMultiplication
-  :: Ptr MX' -> IO CInt
-casADi__MX__isMultiplication
-  :: MX -> IO Bool
-casADi__MX__isMultiplication x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isMultiplication x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if multiplication.
--}
-mx_isMultiplication :: MXClass a => a -> IO Bool
-mx_isMultiplication x = casADi__MX__isMultiplication (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isCommutative" c_CasADi__MX__isCommutative
-  :: Ptr MX' -> IO CInt
-casADi__MX__isCommutative
-  :: MX -> IO Bool
-casADi__MX__isCommutative x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isCommutative x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if commutative operation.
--}
-mx_isCommutative :: MXClass a => a -> IO Bool
-mx_isCommutative x = casADi__MX__isCommutative (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isNorm" c_CasADi__MX__isNorm
-  :: Ptr MX' -> IO CInt
-casADi__MX__isNorm
-  :: MX -> IO Bool
-casADi__MX__isNorm x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isNorm x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if norm.
--}
-mx_isNorm :: MXClass a => a -> IO Bool
-mx_isNorm x = casADi__MX__isNorm (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isSymbolicSparse" c_CasADi__MX__isSymbolicSparse
-  :: Ptr MX' -> IO CInt
-casADi__MX__isSymbolicSparse
-  :: MX -> IO Bool
-casADi__MX__isSymbolicSparse x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isSymbolicSparse x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->check if all nonzeros are symbolic (this function is currently identical to
->isSymbolic)
--}
-mx_isSymbolicSparse :: MXClass a => a -> IO Bool
-mx_isSymbolicSparse x = casADi__MX__isSymbolicSparse (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isIdentity" c_CasADi__MX__isIdentity
-  :: Ptr MX' -> IO CInt
-casADi__MX__isIdentity
-  :: MX -> IO Bool
-casADi__MX__isIdentity x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isIdentity x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->check if identity
--}
-mx_isIdentity :: MXClass a => a -> IO Bool
-mx_isIdentity x = casADi__MX__isIdentity (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isZero" c_CasADi__MX__isZero
-  :: Ptr MX' -> IO CInt
-casADi__MX__isZero
-  :: MX -> IO Bool
-casADi__MX__isZero x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isZero x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->check if zero (note that false negative answers are possible)
--}
-mx_isZero :: MXClass a => a -> IO Bool
-mx_isZero x = casADi__MX__isZero (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isOne" c_CasADi__MX__isOne
-  :: Ptr MX' -> IO CInt
-casADi__MX__isOne
-  :: MX -> IO Bool
-casADi__MX__isOne x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isOne x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->check if zero (note that false negative answers are possible)
--}
-mx_isOne :: MXClass a => a -> IO Bool
-mx_isOne x = casADi__MX__isOne (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isMinusOne" c_CasADi__MX__isMinusOne
-  :: Ptr MX' -> IO CInt
-casADi__MX__isMinusOne
-  :: MX -> IO Bool
-casADi__MX__isMinusOne x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isMinusOne x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->check if zero (note that false negative answers are possible)
--}
-mx_isMinusOne :: MXClass a => a -> IO Bool
-mx_isMinusOne x = casADi__MX__isMinusOne (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isTranspose" c_CasADi__MX__isTranspose
-  :: Ptr MX' -> IO CInt
-casADi__MX__isTranspose
-  :: MX -> IO Bool
-casADi__MX__isTranspose x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isTranspose x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is the expression a transpose?
--}
-mx_isTranspose :: MXClass a => a -> IO Bool
-mx_isTranspose x = casADi__MX__isTranspose (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isRegular" c_CasADi__MX__isRegular
-  :: Ptr MX' -> IO CInt
-casADi__MX__isRegular
-  :: MX -> IO Bool
-casADi__MX__isRegular x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isRegular x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Checks if expression does not contain NaN or Inf.
--}
-mx_isRegular :: MXClass a => a -> IO Bool
-mx_isRegular x = casADi__MX__isRegular (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getFunction" c_CasADi__MX__getFunction
-  :: Ptr MX' -> IO (Ptr Function')
-casADi__MX__getFunction
-  :: MX -> IO Function
-casADi__MX__getFunction x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getFunction x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get function.
--}
-mx_getFunction :: MXClass a => a -> IO Function
-mx_getFunction x = casADi__MX__getFunction (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isBinary" c_CasADi__MX__isBinary
-  :: Ptr MX' -> IO CInt
-casADi__MX__isBinary
-  :: MX -> IO Bool
-casADi__MX__isBinary x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isBinary x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is binary operation.
--}
-mx_isBinary :: MXClass a => a -> IO Bool
-mx_isBinary x = casADi__MX__isBinary (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isUnary" c_CasADi__MX__isUnary
-  :: Ptr MX' -> IO CInt
-casADi__MX__isUnary
-  :: MX -> IO Bool
-casADi__MX__isUnary x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isUnary x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is unary operation.
--}
-mx_isUnary :: MXClass a => a -> IO Bool
-mx_isUnary x = casADi__MX__isUnary (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getOp" c_CasADi__MX__getOp
-  :: Ptr MX' -> IO CInt
-casADi__MX__getOp
-  :: MX -> IO Int
-casADi__MX__getOp x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getOp x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get operation type.
--}
-mx_getOp :: MXClass a => a -> IO Int
-mx_getOp x = casADi__MX__getOp (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isEqual" c_CasADi__MX__isEqual
-  :: Ptr MX' -> Ptr MX' -> CInt -> IO CInt
-casADi__MX__isEqual
-  :: MX -> MX -> Int -> IO Bool
-casADi__MX__isEqual x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__isEqual x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  bool CasADi::MX::isEqual(const MX &y, int depth=0) const 
->------------------------------------------------------------------------
->
->Check if two nodes are equivalent up to a given depth. Depth=0 checks if the
->expressions are identical, i.e. points to the same node.
->
->a = x*x b = x*x
->
->a.isEqual(b,0) will return false, but a.isEqual(b,1) will return true
->
->>  bool CasADi::MX::isEqual(const MXNode *y, int depth=0) const 
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-mx_isEqual :: MXClass a => a -> MX -> Int -> IO Bool
-mx_isEqual x = casADi__MX__isEqual (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__isEqual_TIC" c_CasADi__MX__isEqual_TIC
-  :: Ptr MX' -> Ptr MX' -> IO CInt
-casADi__MX__isEqual'
-  :: MX -> MX -> IO Bool
-casADi__MX__isEqual' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__isEqual_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_isEqual' :: MXClass a => a -> MX -> IO Bool
-mx_isEqual' x = casADi__MX__isEqual' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____hash__" c_CasADi__MX____hash__
-  :: Ptr MX' -> IO CLong
-casADi__MX____hash__
-  :: MX -> IO Int
-casADi__MX____hash__ x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX____hash__ x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Returns a number that is unique for a given MXNode. If the MX does not point
->to any node, 0 is returned.
--}
-mx___hash__ :: MXClass a => a -> IO Int
-mx___hash__ x = casADi__MX____hash__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getTemp" c_CasADi__MX__getTemp
-  :: Ptr MX' -> IO CInt
-casADi__MX__getTemp
-  :: MX -> IO Int
-casADi__MX__getTemp x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getTemp x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Get the temporary
->variable
--}
-mx_getTemp :: MXClass a => a -> IO Int
-mx_getTemp x = casADi__MX__getTemp (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setTemp" c_CasADi__MX__setTemp
-  :: Ptr MX' -> CInt -> IO ()
-casADi__MX__setTemp
-  :: MX -> Int -> IO ()
-casADi__MX__setTemp x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__setTemp x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set the temporary
->variable.
--}
-mx_setTemp :: MXClass a => a -> Int -> IO ()
-mx_setTemp x = casADi__MX__setTemp (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__binary" c_CasADi__MX__binary
-  :: CInt -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__binary
-  :: Int -> MX -> MX -> IO MX
-casADi__MX__binary x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__binary x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create nodes by their ID.
--}
-mx_binary :: Int -> MX -> MX -> IO MX
-mx_binary = casADi__MX__binary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__unary" c_CasADi__MX__unary
-  :: CInt -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__unary
-  :: Int -> MX -> IO MX
-casADi__MX__unary x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__unary x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create nodes by their ID.
--}
-mx_unary :: Int -> MX -> IO MX
-mx_unary = casADi__MX__unary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__inf" c_CasADi__MX__inf
-  :: Ptr Sparsity' -> IO (Ptr MX')
-casADi__MX__inf
-  :: Sparsity -> IO MX
-casADi__MX__inf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__inf x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->create a matrix with all inf
--}
-mx_inf :: Sparsity -> IO MX
-mx_inf = casADi__MX__inf
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__inf_TIC" c_CasADi__MX__inf_TIC
-  :: CInt -> CInt -> IO (Ptr MX')
-casADi__MX__inf'
-  :: Int -> Int -> IO MX
-casADi__MX__inf' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__inf_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_inf' :: Int -> Int -> IO MX
-mx_inf' = casADi__MX__inf'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__inf_TIC_TIC" c_CasADi__MX__inf_TIC_TIC
-  :: CInt -> IO (Ptr MX')
-casADi__MX__inf''
-  :: Int -> IO MX
-casADi__MX__inf'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__inf_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mx_inf'' :: Int -> IO MX
-mx_inf'' = casADi__MX__inf''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__inf_TIC_TIC_TIC" c_CasADi__MX__inf_TIC_TIC_TIC
-  :: IO (Ptr MX')
-casADi__MX__inf'''
-  :: IO MX
-casADi__MX__inf'''  =
-  c_CasADi__MX__inf_TIC_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-mx_inf''' :: IO MX
-mx_inf''' = casADi__MX__inf'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__nan" c_CasADi__MX__nan
-  :: Ptr Sparsity' -> IO (Ptr MX')
-casADi__MX__nan
-  :: Sparsity -> IO MX
-casADi__MX__nan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__nan x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->create a matrix with all nan
--}
-mx_nan :: Sparsity -> IO MX
-mx_nan = casADi__MX__nan
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__nan_TIC" c_CasADi__MX__nan_TIC
-  :: CInt -> CInt -> IO (Ptr MX')
-casADi__MX__nan'
-  :: Int -> Int -> IO MX
-casADi__MX__nan' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__nan_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_nan' :: Int -> Int -> IO MX
-mx_nan' = casADi__MX__nan'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__nan_TIC_TIC" c_CasADi__MX__nan_TIC_TIC
-  :: CInt -> IO (Ptr MX')
-casADi__MX__nan''
-  :: Int -> IO MX
-casADi__MX__nan'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__nan_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mx_nan'' :: Int -> IO MX
-mx_nan'' = casADi__MX__nan''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__nan_TIC_TIC_TIC" c_CasADi__MX__nan_TIC_TIC_TIC
-  :: IO (Ptr MX')
-casADi__MX__nan'''
-  :: IO MX
-casADi__MX__nan'''  =
-  c_CasADi__MX__nan_TIC_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-mx_nan''' :: IO MX
-mx_nan''' = casADi__MX__nan'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__repmat" c_CasADi__MX__repmat
-  :: Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casADi__MX__repmat
-  :: MX -> Sparsity -> IO MX
-casADi__MX__repmat x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__repmat x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->create a matrix by repeating an existing matrix
--}
-mx_repmat :: MX -> Sparsity -> IO MX
-mx_repmat = casADi__MX__repmat
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__repmat_TIC" c_CasADi__MX__repmat_TIC
-  :: Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
-casADi__MX__repmat'
-  :: MX -> Int -> Int -> IO MX
-casADi__MX__repmat' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__repmat_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_repmat' :: MX -> Int -> Int -> IO MX
-mx_repmat' = casADi__MX__repmat'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__repmat_TIC_TIC" c_CasADi__MX__repmat_TIC_TIC
-  :: Ptr MX' -> CInt -> IO (Ptr MX')
-casADi__MX__repmat''
-  :: MX -> Int -> IO MX
-casADi__MX__repmat'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__repmat_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_repmat'' :: MX -> Int -> IO MX
-mx_repmat'' = casADi__MX__repmat''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__eye" c_CasADi__MX__eye
-  :: CInt -> IO (Ptr MX')
-casADi__MX__eye
-  :: Int -> IO MX
-casADi__MX__eye x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__eye x0' >>= wrapReturn
-
--- classy wrapper
-mx_eye :: Int -> IO MX
-mx_eye = casADi__MX__eye
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSub" c_CasADi__MX__setSub
-  :: Ptr MX' -> Ptr MX' -> CInt -> CInt -> IO ()
-casADi__MX__setSub
-  :: MX -> MX -> Int -> Int -> IO ()
-casADi__MX__setSub x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__setSub x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-mx_setSub :: MXClass a => a -> MX -> Int -> Int -> IO ()
-mx_setSub x = casADi__MX__setSub (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSub_TIC" c_CasADi__MX__setSub_TIC
-  :: Ptr MX' -> Ptr MX' -> Ptr (CppVec CInt) -> CInt -> IO ()
-casADi__MX__setSub'
-  :: MX -> MX -> Vector Int -> Int -> IO ()
-casADi__MX__setSub' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__setSub_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_setSub' :: MXClass a => a -> MX -> Vector Int -> Int -> IO ()
-mx_setSub' x = casADi__MX__setSub' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSub_TIC_TIC" c_CasADi__MX__setSub_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> CInt -> Ptr (CppVec CInt) -> IO ()
-casADi__MX__setSub''
-  :: MX -> MX -> Int -> Vector Int -> IO ()
-casADi__MX__setSub'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__setSub_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_setSub'' :: MXClass a => a -> MX -> Int -> Vector Int -> IO ()
-mx_setSub'' x = casADi__MX__setSub'' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSub_TIC_TIC_TIC" c_CasADi__MX__setSub_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__MX__setSub'''
-  :: MX -> MX -> Vector Int -> Vector Int -> IO ()
-casADi__MX__setSub''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__setSub_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_setSub''' :: MXClass a => a -> MX -> Vector Int -> Vector Int -> IO ()
-mx_setSub''' x = casADi__MX__setSub''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSub_TIC_TIC_TIC_TIC" c_CasADi__MX__setSub_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> Ptr IMatrix' -> IO ()
-casADi__MX__setSub''''
-  :: MX -> MX -> IMatrix -> IO ()
-casADi__MX__setSub'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__setSub_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_setSub'''' :: MXClass a => a -> MX -> IMatrix -> IO ()
-mx_setSub'''' x = casADi__MX__setSub'''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> Ptr IMatrix' -> Ptr (CppVec CInt) -> IO ()
-casADi__MX__setSub'''''
-  :: MX -> MX -> IMatrix -> Vector Int -> IO ()
-casADi__MX__setSub''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_setSub''''' :: MXClass a => a -> MX -> IMatrix -> Vector Int -> IO ()
-mx_setSub''''' x = casADi__MX__setSub''''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> Ptr (CppVec CInt) -> Ptr IMatrix' -> IO ()
-casADi__MX__setSub''''''
-  :: MX -> MX -> Vector Int -> IMatrix -> IO ()
-casADi__MX__setSub'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_setSub'''''' :: MXClass a => a -> MX -> Vector Int -> IMatrix -> IO ()
-mx_setSub'''''' x = casADi__MX__setSub'''''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> Ptr Slice' -> Ptr Slice' -> IO ()
-casADi__MX__setSub'''''''
-  :: MX -> MX -> Slice -> Slice -> IO ()
-casADi__MX__setSub''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_setSub''''''' :: MXClass a => a -> MX -> Slice -> Slice -> IO ()
-mx_setSub''''''' x = casADi__MX__setSub''''''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__MX__setSub''''''''
-  :: MX -> MX -> IMatrix -> IMatrix -> IO ()
-casADi__MX__setSub'''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_setSub'''''''' :: MXClass a => a -> MX -> IMatrix -> IMatrix -> IO ()
-mx_setSub'''''''' x = casADi__MX__setSub'''''''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> Ptr Sparsity' -> CInt -> IO ()
-casADi__MX__setSub'''''''''
-  :: MX -> MX -> Sparsity -> Int -> IO ()
-casADi__MX__setSub''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MX__setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mx_setSub''''''''' :: MXClass a => a -> MX -> Sparsity -> Int -> IO ()
-mx_setSub''''''''' x = casADi__MX__setSub''''''''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getNZ" c_CasADi__MX__getNZ
-  :: Ptr MX' -> CInt -> IO (Ptr MX')
-casADi__MX__getNZ
-  :: MX -> Int -> IO MX
-casADi__MX__getNZ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__getNZ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-mx_getNZ :: MXClass a => a -> Int -> IO MX
-mx_getNZ x = casADi__MX__getNZ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getNZ_TIC" c_CasADi__MX__getNZ_TIC
-  :: Ptr MX' -> Ptr (CppVec CInt) -> IO (Ptr MX')
-casADi__MX__getNZ'
-  :: MX -> Vector Int -> IO MX
-casADi__MX__getNZ' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__getNZ_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_getNZ' :: MXClass a => a -> Vector Int -> IO MX
-mx_getNZ' x = casADi__MX__getNZ' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getNZ_TIC_TIC" c_CasADi__MX__getNZ_TIC_TIC
-  :: Ptr MX' -> Ptr Slice' -> IO (Ptr MX')
-casADi__MX__getNZ''
-  :: MX -> Slice -> IO MX
-casADi__MX__getNZ'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__getNZ_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_getNZ'' :: MXClass a => a -> Slice -> IO MX
-mx_getNZ'' x = casADi__MX__getNZ'' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getNZ_TIC_TIC_TIC" c_CasADi__MX__getNZ_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr IMatrix' -> IO (Ptr MX')
-casADi__MX__getNZ'''
-  :: MX -> IMatrix -> IO MX
-casADi__MX__getNZ''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__getNZ_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_getNZ''' :: MXClass a => a -> IMatrix -> IO MX
-mx_getNZ''' x = casADi__MX__getNZ''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setNZ" c_CasADi__MX__setNZ
-  :: Ptr MX' -> CInt -> Ptr MX' -> IO ()
-casADi__MX__setNZ
-  :: MX -> Int -> MX -> IO ()
-casADi__MX__setNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__setNZ x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-mx_setNZ :: MXClass a => a -> Int -> MX -> IO ()
-mx_setNZ x = casADi__MX__setNZ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setNZ_TIC" c_CasADi__MX__setNZ_TIC
-  :: Ptr MX' -> Ptr (CppVec CInt) -> Ptr MX' -> IO ()
-casADi__MX__setNZ'
-  :: MX -> Vector Int -> MX -> IO ()
-casADi__MX__setNZ' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__setNZ_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_setNZ' :: MXClass a => a -> Vector Int -> MX -> IO ()
-mx_setNZ' x = casADi__MX__setNZ' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setNZ_TIC_TIC" c_CasADi__MX__setNZ_TIC_TIC
-  :: Ptr MX' -> Ptr Slice' -> Ptr MX' -> IO ()
-casADi__MX__setNZ''
-  :: MX -> Slice -> MX -> IO ()
-casADi__MX__setNZ'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__setNZ_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_setNZ'' :: MXClass a => a -> Slice -> MX -> IO ()
-mx_setNZ'' x = casADi__MX__setNZ'' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setNZ_TIC_TIC_TIC" c_CasADi__MX__setNZ_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr IMatrix' -> Ptr MX' -> IO ()
-casADi__MX__setNZ'''
-  :: MX -> IMatrix -> MX -> IO ()
-casADi__MX__setNZ''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__setNZ_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_setNZ''' :: MXClass a => a -> IMatrix -> MX -> IO ()
-mx_setNZ''' x = casADi__MX__setNZ''' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__append" c_CasADi__MX__append
-  :: Ptr MX' -> Ptr MX' -> IO ()
-casADi__MX__append
-  :: MX -> MX -> IO ()
-casADi__MX__append x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__append x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Append a matrix vertically (NOTE: only efficient if vector)
--}
-mx_append :: MXClass a => a -> MX -> IO ()
-mx_append x = casADi__MX__append (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__appendColumns" c_CasADi__MX__appendColumns
-  :: Ptr MX' -> Ptr MX' -> IO ()
-casADi__MX__appendColumns
-  :: MX -> MX -> IO ()
-casADi__MX__appendColumns x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__appendColumns x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Append a matrix horizontally.
--}
-mx_appendColumns :: MXClass a => a -> MX -> IO ()
-mx_appendColumns x = casADi__MX__appendColumns (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____add__" c_CasADi__MX____add__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____add__
-  :: MX -> MX -> IO MX
-casADi__MX____add__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____add__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___add__ :: MXClass a => a -> MX -> IO MX
-mx___add__ x = casADi__MX____add__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____sub__" c_CasADi__MX____sub__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____sub__
-  :: MX -> MX -> IO MX
-casADi__MX____sub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____sub__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___sub__ :: MXClass a => a -> MX -> IO MX
-mx___sub__ x = casADi__MX____sub__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____mul__" c_CasADi__MX____mul__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____mul__
-  :: MX -> MX -> IO MX
-casADi__MX____mul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____mul__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___mul__ :: MXClass a => a -> MX -> IO MX
-mx___mul__ x = casADi__MX____mul__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____div__" c_CasADi__MX____div__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____div__
-  :: MX -> MX -> IO MX
-casADi__MX____div__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____div__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___div__ :: MXClass a => a -> MX -> IO MX
-mx___div__ x = casADi__MX____div__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____lt__" c_CasADi__MX____lt__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____lt__
-  :: MX -> MX -> IO MX
-casADi__MX____lt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____lt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___lt__ :: MXClass a => a -> MX -> IO MX
-mx___lt__ x = casADi__MX____lt__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____le__" c_CasADi__MX____le__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____le__
-  :: MX -> MX -> IO MX
-casADi__MX____le__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____le__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___le__ :: MXClass a => a -> MX -> IO MX
-mx___le__ x = casADi__MX____le__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____eq__" c_CasADi__MX____eq__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____eq__
-  :: MX -> MX -> IO MX
-casADi__MX____eq__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____eq__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___eq__ :: MXClass a => a -> MX -> IO MX
-mx___eq__ x = casADi__MX____eq__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____ne__" c_CasADi__MX____ne__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____ne__
-  :: MX -> MX -> IO MX
-casADi__MX____ne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____ne__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___ne__ :: MXClass a => a -> MX -> IO MX
-mx___ne__ x = casADi__MX____ne__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____truediv__" c_CasADi__MX____truediv__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____truediv__
-  :: MX -> MX -> IO MX
-casADi__MX____truediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____truediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___truediv__ :: MXClass a => a -> MX -> IO MX
-mx___truediv__ x = casADi__MX____truediv__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____pow__" c_CasADi__MX____pow__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____pow__
-  :: MX -> MX -> IO MX
-casADi__MX____pow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____pow__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___pow__ :: MXClass a => a -> MX -> IO MX
-mx___pow__ x = casADi__MX____pow__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____constpow__" c_CasADi__MX____constpow__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____constpow__
-  :: MX -> MX -> IO MX
-casADi__MX____constpow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____constpow__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___constpow__ :: MXClass a => a -> MX -> IO MX
-mx___constpow__ x = casADi__MX____constpow__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____mrdivide__" c_CasADi__MX____mrdivide__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____mrdivide__
-  :: MX -> MX -> IO MX
-casADi__MX____mrdivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____mrdivide__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___mrdivide__ :: MXClass a => a -> MX -> IO MX
-mx___mrdivide__ x = casADi__MX____mrdivide__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____mpower__" c_CasADi__MX____mpower__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____mpower__
-  :: MX -> MX -> IO MX
-casADi__MX____mpower__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____mpower__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___mpower__ :: MXClass a => a -> MX -> IO MX
-mx___mpower__ x = casADi__MX____mpower__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__mul" c_CasADi__MX__mul
-  :: Ptr MX' -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casADi__MX__mul
-  :: MX -> MX -> Sparsity -> IO MX
-casADi__MX__mul x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__mul x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_mul :: MXClass a => a -> MX -> Sparsity -> IO MX
-mx_mul x = casADi__MX__mul (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__mul_TIC" c_CasADi__MX__mul_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__mul'
-  :: MX -> MX -> IO MX
-casADi__MX__mul' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__mul_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_mul' :: MXClass a => a -> MX -> IO MX
-mx_mul' x = casADi__MX__mul' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__mul_full" c_CasADi__MX__mul_full
-  :: Ptr MX' -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casADi__MX__mul_full
-  :: MX -> MX -> Sparsity -> IO MX
-casADi__MX__mul_full x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__mul_full x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mx_mul_full :: MXClass a => a -> MX -> Sparsity -> IO MX
-mx_mul_full x = casADi__MX__mul_full (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__mul_full_TIC" c_CasADi__MX__mul_full_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__mul_full'
-  :: MX -> MX -> IO MX
-casADi__MX__mul_full' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__mul_full_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_mul_full' :: MXClass a => a -> MX -> IO MX
-mx_mul_full' x = casADi__MX__mul_full' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__inner_prod" c_CasADi__MX__inner_prod
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__inner_prod
-  :: MX -> MX -> IO MX
-casADi__MX__inner_prod x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__inner_prod x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_inner_prod :: MXClass a => a -> MX -> IO MX
-mx_inner_prod x = casADi__MX__inner_prod (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__outer_prod" c_CasADi__MX__outer_prod
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__outer_prod
-  :: MX -> MX -> IO MX
-casADi__MX__outer_prod x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__outer_prod x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_outer_prod :: MXClass a => a -> MX -> IO MX
-mx_outer_prod x = casADi__MX__outer_prod (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__constpow" c_CasADi__MX__constpow
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__constpow
-  :: MX -> MX -> IO MX
-casADi__MX__constpow x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__constpow x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_constpow :: MXClass a => a -> MX -> IO MX
-mx_constpow x = casADi__MX__constpow (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__fmin" c_CasADi__MX__fmin
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__fmin
-  :: MX -> MX -> IO MX
-casADi__MX__fmin x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__fmin x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_fmin :: MXClass a => a -> MX -> IO MX
-mx_fmin x = casADi__MX__fmin (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__fmax" c_CasADi__MX__fmax
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__fmax
-  :: MX -> MX -> IO MX
-casADi__MX__fmax x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__fmax x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_fmax :: MXClass a => a -> MX -> IO MX
-mx_fmax x = casADi__MX__fmax (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__printme" c_CasADi__MX__printme
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__printme
-  :: MX -> MX -> IO MX
-casADi__MX__printme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__printme x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_printme :: MXClass a => a -> MX -> IO MX
-mx_printme x = casADi__MX__printme (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__arctan2" c_CasADi__MX__arctan2
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__arctan2
-  :: MX -> MX -> IO MX
-casADi__MX__arctan2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__arctan2 x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_arctan2 :: MXClass a => a -> MX -> IO MX
-mx_arctan2 x = casADi__MX__arctan2 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__logic_and" c_CasADi__MX__logic_and
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__logic_and
-  :: MX -> MX -> IO MX
-casADi__MX__logic_and x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__logic_and x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_logic_and :: MXClass a => a -> MX -> IO MX
-mx_logic_and x = casADi__MX__logic_and (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__logic_or" c_CasADi__MX__logic_or
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__logic_or
-  :: MX -> MX -> IO MX
-casADi__MX__logic_or x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__logic_or x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_logic_or :: MXClass a => a -> MX -> IO MX
-mx_logic_or x = casADi__MX__logic_or (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__if_else_zero" c_CasADi__MX__if_else_zero
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__if_else_zero
-  :: MX -> MX -> IO MX
-casADi__MX__if_else_zero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__if_else_zero x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_if_else_zero :: MXClass a => a -> MX -> IO MX
-mx_if_else_zero x = casADi__MX__if_else_zero (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX____copysign__" c_CasADi__MX____copysign__
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX____copysign__
-  :: MX -> MX -> IO MX
-casADi__MX____copysign__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX____copysign__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx___copysign__ :: MXClass a => a -> MX -> IO MX
-mx___copysign__ x = casADi__MX____copysign__ (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__exp" c_CasADi__MX__exp
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__exp
-  :: MX -> IO MX
-casADi__MX__exp x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__exp x0' >>= wrapReturn
-
--- classy wrapper
-mx_exp :: MXClass a => a -> IO MX
-mx_exp x = casADi__MX__exp (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__log" c_CasADi__MX__log
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__log
-  :: MX -> IO MX
-casADi__MX__log x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__log x0' >>= wrapReturn
-
--- classy wrapper
-mx_log :: MXClass a => a -> IO MX
-mx_log x = casADi__MX__log (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__log10" c_CasADi__MX__log10
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__log10
-  :: MX -> IO MX
-casADi__MX__log10 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__log10 x0' >>= wrapReturn
-
--- classy wrapper
-mx_log10 :: MXClass a => a -> IO MX
-mx_log10 x = casADi__MX__log10 (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__sqrt" c_CasADi__MX__sqrt
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__sqrt
-  :: MX -> IO MX
-casADi__MX__sqrt x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__sqrt x0' >>= wrapReturn
-
--- classy wrapper
-mx_sqrt :: MXClass a => a -> IO MX
-mx_sqrt x = casADi__MX__sqrt (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__sin" c_CasADi__MX__sin
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__sin
-  :: MX -> IO MX
-casADi__MX__sin x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__sin x0' >>= wrapReturn
-
--- classy wrapper
-mx_sin :: MXClass a => a -> IO MX
-mx_sin x = casADi__MX__sin (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__cos" c_CasADi__MX__cos
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__cos
-  :: MX -> IO MX
-casADi__MX__cos x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__cos x0' >>= wrapReturn
-
--- classy wrapper
-mx_cos :: MXClass a => a -> IO MX
-mx_cos x = casADi__MX__cos (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__tan" c_CasADi__MX__tan
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__tan
-  :: MX -> IO MX
-casADi__MX__tan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__tan x0' >>= wrapReturn
-
--- classy wrapper
-mx_tan :: MXClass a => a -> IO MX
-mx_tan x = casADi__MX__tan (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__arcsin" c_CasADi__MX__arcsin
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__arcsin
-  :: MX -> IO MX
-casADi__MX__arcsin x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arcsin x0' >>= wrapReturn
-
--- classy wrapper
-mx_arcsin :: MXClass a => a -> IO MX
-mx_arcsin x = casADi__MX__arcsin (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__arccos" c_CasADi__MX__arccos
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__arccos
-  :: MX -> IO MX
-casADi__MX__arccos x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arccos x0' >>= wrapReturn
-
--- classy wrapper
-mx_arccos :: MXClass a => a -> IO MX
-mx_arccos x = casADi__MX__arccos (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__arctan" c_CasADi__MX__arctan
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__arctan
-  :: MX -> IO MX
-casADi__MX__arctan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arctan x0' >>= wrapReturn
-
--- classy wrapper
-mx_arctan :: MXClass a => a -> IO MX
-mx_arctan x = casADi__MX__arctan (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__floor" c_CasADi__MX__floor
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__floor
-  :: MX -> IO MX
-casADi__MX__floor x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__floor x0' >>= wrapReturn
-
--- classy wrapper
-mx_floor :: MXClass a => a -> IO MX
-mx_floor x = casADi__MX__floor (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__ceil" c_CasADi__MX__ceil
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__ceil
-  :: MX -> IO MX
-casADi__MX__ceil x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__ceil x0' >>= wrapReturn
-
--- classy wrapper
-mx_ceil :: MXClass a => a -> IO MX
-mx_ceil x = casADi__MX__ceil (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__fabs" c_CasADi__MX__fabs
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__fabs
-  :: MX -> IO MX
-casADi__MX__fabs x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__fabs x0' >>= wrapReturn
-
--- classy wrapper
-mx_fabs :: MXClass a => a -> IO MX
-mx_fabs x = casADi__MX__fabs (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__sign" c_CasADi__MX__sign
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__sign
-  :: MX -> IO MX
-casADi__MX__sign x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__sign x0' >>= wrapReturn
-
--- classy wrapper
-mx_sign :: MXClass a => a -> IO MX
-mx_sign x = casADi__MX__sign (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__erfinv" c_CasADi__MX__erfinv
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__erfinv
-  :: MX -> IO MX
-casADi__MX__erfinv x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__erfinv x0' >>= wrapReturn
-
--- classy wrapper
-mx_erfinv :: MXClass a => a -> IO MX
-mx_erfinv x = casADi__MX__erfinv (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__erf" c_CasADi__MX__erf
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__erf
-  :: MX -> IO MX
-casADi__MX__erf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__erf x0' >>= wrapReturn
-
--- classy wrapper
-mx_erf :: MXClass a => a -> IO MX
-mx_erf x = casADi__MX__erf (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__sinh" c_CasADi__MX__sinh
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__sinh
-  :: MX -> IO MX
-casADi__MX__sinh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__sinh x0' >>= wrapReturn
-
--- classy wrapper
-mx_sinh :: MXClass a => a -> IO MX
-mx_sinh x = casADi__MX__sinh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__cosh" c_CasADi__MX__cosh
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__cosh
-  :: MX -> IO MX
-casADi__MX__cosh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__cosh x0' >>= wrapReturn
-
--- classy wrapper
-mx_cosh :: MXClass a => a -> IO MX
-mx_cosh x = casADi__MX__cosh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__tanh" c_CasADi__MX__tanh
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__tanh
-  :: MX -> IO MX
-casADi__MX__tanh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__tanh x0' >>= wrapReturn
-
--- classy wrapper
-mx_tanh :: MXClass a => a -> IO MX
-mx_tanh x = casADi__MX__tanh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__arcsinh" c_CasADi__MX__arcsinh
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__arcsinh
-  :: MX -> IO MX
-casADi__MX__arcsinh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arcsinh x0' >>= wrapReturn
-
--- classy wrapper
-mx_arcsinh :: MXClass a => a -> IO MX
-mx_arcsinh x = casADi__MX__arcsinh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__arccosh" c_CasADi__MX__arccosh
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__arccosh
-  :: MX -> IO MX
-casADi__MX__arccosh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arccosh x0' >>= wrapReturn
-
--- classy wrapper
-mx_arccosh :: MXClass a => a -> IO MX
-mx_arccosh x = casADi__MX__arccosh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__arctanh" c_CasADi__MX__arctanh
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__arctanh
-  :: MX -> IO MX
-casADi__MX__arctanh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arctanh x0' >>= wrapReturn
-
--- classy wrapper
-mx_arctanh :: MXClass a => a -> IO MX
-mx_arctanh x = casADi__MX__arctanh (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__logic_not" c_CasADi__MX__logic_not
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__logic_not
-  :: MX -> IO MX
-casADi__MX__logic_not x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__logic_not x0' >>= wrapReturn
-
--- classy wrapper
-mx_logic_not :: MXClass a => a -> IO MX
-mx_logic_not x = casADi__MX__logic_not (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__attachAssert" c_CasADi__MX__attachAssert
-  :: Ptr MX' -> Ptr MX' -> Ptr StdString' -> IO (Ptr MX')
-casADi__MX__attachAssert
-  :: MX -> MX -> String -> IO MX
-casADi__MX__attachAssert x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__attachAssert x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->returns itself, but with an assertion attached
->
->If y does not evaluate to 1, a runtime error is raised
--}
-mx_attachAssert :: MXClass a => a -> MX -> String -> IO MX
-mx_attachAssert x = casADi__MX__attachAssert (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__attachAssert_TIC" c_CasADi__MX__attachAssert_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__attachAssert'
-  :: MX -> MX -> IO MX
-casADi__MX__attachAssert' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__attachAssert_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_attachAssert' :: MXClass a => a -> MX -> IO MX
-mx_attachAssert' x = casADi__MX__attachAssert' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSparse" c_CasADi__MX__setSparse
-  :: Ptr MX' -> Ptr Sparsity' -> CInt -> IO (Ptr MX')
-casADi__MX__setSparse
-  :: MX -> Sparsity -> Bool -> IO MX
-casADi__MX__setSparse x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MX__setSparse x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set sparse.
--}
-mx_setSparse :: MXClass a => a -> Sparsity -> Bool -> IO MX
-mx_setSparse x = casADi__MX__setSparse (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setSparse_TIC" c_CasADi__MX__setSparse_TIC
-  :: Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-casADi__MX__setSparse'
-  :: MX -> Sparsity -> IO MX
-casADi__MX__setSparse' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__setSparse_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx_setSparse' :: MXClass a => a -> Sparsity -> IO MX
-mx_setSparse' x = casADi__MX__setSparse' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__densify" c_CasADi__MX__densify
-  :: Ptr MX' -> Ptr MX' -> IO ()
-casADi__MX__densify
-  :: MX -> MX -> IO ()
-casADi__MX__densify x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__densify x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Make the matrix dense.
--}
-mx_densify :: MXClass a => a -> MX -> IO ()
-mx_densify x = casADi__MX__densify (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__densify_TIC" c_CasADi__MX__densify_TIC
-  :: Ptr MX' -> IO ()
-casADi__MX__densify'
-  :: MX -> IO ()
-casADi__MX__densify' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__densify_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mx_densify' :: MXClass a => a -> IO ()
-mx_densify' x = casADi__MX__densify' (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__lift" c_CasADi__MX__lift
-  :: Ptr MX' -> Ptr MX' -> IO ()
-casADi__MX__lift
-  :: MX -> MX -> IO ()
-casADi__MX__lift x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__lift x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Lift an expression.
--}
-mx_lift :: MXClass a => a -> MX -> IO ()
-mx_lift x = casADi__MX__lift (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__addToSum" c_CasADi__MX__addToSum
-  :: Ptr MX' -> Ptr MX' -> IO ()
-casADi__MX__addToSum
-  :: MX -> MX -> IO ()
-casADi__MX__addToSum x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__addToSum x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Add an expression to the expression if the expression is non-empty,
->otherwise assign.
--}
-mx_addToSum :: MXClass a => a -> MX -> IO ()
-mx_addToSum x = casADi__MX__addToSum (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__trans" c_CasADi__MX__trans
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__trans
-  :: MX -> IO MX
-casADi__MX__trans x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__trans x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Transpose the matrix.
--}
-mx_trans :: MXClass a => a -> IO MX
-mx_trans x = casADi__MX__trans (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__mapping" c_CasADi__MX__mapping
-  :: Ptr MX' -> IO (Ptr IMatrix')
-casADi__MX__mapping
-  :: MX -> IO IMatrix
-casADi__MX__mapping x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__mapping x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get an IMatrix representation of a GetNonzeros or SetNonzeros node.
--}
-mx_mapping :: MXClass a => a -> IO IMatrix
-mx_mapping x = casADi__MX__mapping (castMX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setMaxNumCallsInPrint" c_CasADi__MX__setMaxNumCallsInPrint
-  :: CLong -> IO ()
-casADi__MX__setMaxNumCallsInPrint
-  :: Int -> IO ()
-casADi__MX__setMaxNumCallsInPrint x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__setMaxNumCallsInPrint x0' >>= wrapReturn
-
--- classy wrapper
-mx_setMaxNumCallsInPrint :: Int -> IO ()
-mx_setMaxNumCallsInPrint = casADi__MX__setMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setMaxNumCallsInPrint_TIC" c_CasADi__MX__setMaxNumCallsInPrint_TIC
-  :: IO ()
-casADi__MX__setMaxNumCallsInPrint'
-  :: IO ()
-casADi__MX__setMaxNumCallsInPrint'  =
-  c_CasADi__MX__setMaxNumCallsInPrint_TIC  >>= wrapReturn
-
--- classy wrapper
-mx_setMaxNumCallsInPrint' :: IO ()
-mx_setMaxNumCallsInPrint' = casADi__MX__setMaxNumCallsInPrint'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getMaxNumCallsInPrint" c_CasADi__MX__getMaxNumCallsInPrint
-  :: IO CLong
-casADi__MX__getMaxNumCallsInPrint
-  :: IO Int
-casADi__MX__getMaxNumCallsInPrint  =
-  c_CasADi__MX__getMaxNumCallsInPrint  >>= wrapReturn
-
--- classy wrapper
-mx_getMaxNumCallsInPrint :: IO Int
-mx_getMaxNumCallsInPrint = casADi__MX__getMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setEqualityCheckingDepth" c_CasADi__MX__setEqualityCheckingDepth
-  :: CInt -> IO ()
-casADi__MX__setEqualityCheckingDepth
-  :: Int -> IO ()
-casADi__MX__setEqualityCheckingDepth x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__setEqualityCheckingDepth x0' >>= wrapReturn
-
--- classy wrapper
-mx_setEqualityCheckingDepth :: Int -> IO ()
-mx_setEqualityCheckingDepth = casADi__MX__setEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__setEqualityCheckingDepth_TIC" c_CasADi__MX__setEqualityCheckingDepth_TIC
-  :: IO ()
-casADi__MX__setEqualityCheckingDepth'
-  :: IO ()
-casADi__MX__setEqualityCheckingDepth'  =
-  c_CasADi__MX__setEqualityCheckingDepth_TIC  >>= wrapReturn
-
--- classy wrapper
-mx_setEqualityCheckingDepth' :: IO ()
-mx_setEqualityCheckingDepth' = casADi__MX__setEqualityCheckingDepth'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__getEqualityCheckingDepth" c_CasADi__MX__getEqualityCheckingDepth
-  :: IO CInt
-casADi__MX__getEqualityCheckingDepth
-  :: IO Int
-casADi__MX__getEqualityCheckingDepth  =
-  c_CasADi__MX__getEqualityCheckingDepth  >>= wrapReturn
-
--- classy wrapper
-mx_getEqualityCheckingDepth :: IO Int
-mx_getEqualityCheckingDepth = casADi__MX__getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__MX" c_CasADi__MX__MX
-  :: IO (Ptr MX')
-casADi__MX__MX
-  :: IO MX
-casADi__MX__MX  =
-  c_CasADi__MX__MX  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::MX::MX(const std::string &name, int nrow=1, int ncol=1)
->
->>  CasADi::MX::MX(const std::string &name, const std::pair< int, int > &rc)
->
->>  CasADi::MX::MX(const std::string &name, const Sparsity &sp)
->
->>  CasADi::MX::MX(int nrow, int ncol)
->
->>  CasADi::MX::MX(int nrow, int ncol, const MX &val)
->------------------------------------------------------------------------
->
->[DEPRECATED]
->
->>  CasADi::MX::MX(const Sparsity &sp, int val=0)
->
->>  CasADi::MX::MX(const Sparsity &sp, double val)
->
->>  CasADi::MX::MX(const Sparsity &sp, const MX &val)
->------------------------------------------------------------------------
->
->Construct constant matrix with a given sparsity.
->
->>  CasADi::MX::MX()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::MX::MX(double x)
->------------------------------------------------------------------------
->
->Create scalar constant (also implicit type conversion)
->
->>  CasADi::MX::MX(const MX &x)
->------------------------------------------------------------------------
->
->Copy constructor.
->
->>  CasADi::MX::MX(const std::vector< double > &x)
->------------------------------------------------------------------------
->
->Create vector constant (also implicit type conversion)
->
->>  CasADi::MX::MX(const Matrix< double > &x)
->------------------------------------------------------------------------
->
->Create sparse matrix constant (also implicit type conversion)
--}
-mx :: IO MX
-mx = casADi__MX__MX
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__MX_TIC" c_CasADi__MX__MX_TIC
-  :: Ptr Sparsity' -> CInt -> IO (Ptr MX')
-casADi__MX__MX'
-  :: Sparsity -> Int -> IO MX
-casADi__MX__MX' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__MX_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx' :: Sparsity -> Int -> IO MX
-mx' = casADi__MX__MX'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__MX_TIC_TIC" c_CasADi__MX__MX_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr MX')
-casADi__MX__MX''
-  :: Sparsity -> IO MX
-casADi__MX__MX'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__MX_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mx'' :: Sparsity -> IO MX
-mx'' = casADi__MX__MX''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__MX_TIC_TIC_TIC" c_CasADi__MX__MX_TIC_TIC_TIC
-  :: Ptr Sparsity' -> CDouble -> IO (Ptr MX')
-casADi__MX__MX'''
-  :: Sparsity -> Double -> IO MX
-casADi__MX__MX''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx''' :: Sparsity -> Double -> IO MX
-mx''' = casADi__MX__MX'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__MX_TIC_TIC_TIC_TIC" c_CasADi__MX__MX_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> Ptr MX' -> IO (Ptr MX')
-casADi__MX__MX''''
-  :: Sparsity -> MX -> IO MX
-casADi__MX__MX'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mx'''' :: Sparsity -> MX -> IO MX
-mx'''' = casADi__MX__MX''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC
-  :: CDouble -> IO (Ptr MX')
-casADi__MX__MX'''''
-  :: Double -> IO MX
-casADi__MX__MX''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mx''''' :: Double -> IO MX
-mx''''' = casADi__MX__MX'''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-casADi__MX__MX''''''
-  :: MX -> IO MX
-casADi__MX__MX'''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mx'''''' :: MX -> IO MX
-mx'''''' = casADi__MX__MX''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CDouble) -> IO (Ptr MX')
-casADi__MX__MX'''''''
-  :: Vector Double -> IO MX
-casADi__MX__MX''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mx''''''' :: Vector Double -> IO MX
-mx''''''' = casADi__MX__MX'''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> IO (Ptr MX')
-casADi__MX__MX''''''''
-  :: DMatrix -> IO MX
-casADi__MX__MX'''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mx'''''''' :: DMatrix -> IO MX
-mx'''''''' = casADi__MX__MX''''''''
-
diff --git a/Casadi/Wrappers/Classes/MXFunction.hs b/Casadi/Wrappers/Classes/MXFunction.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/MXFunction.hs
+++ /dev/null
@@ -1,759 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.MXFunction
-       (
-         MXFunction,
-         MXFunctionClass(..),
-         mxFunction,
-         mxFunction',
-         mxFunction'',
-         mxFunction_checkNode,
-         mxFunction_countNodes,
-         mxFunction_expand,
-         mxFunction_expand',
-         mxFunction_generateLiftingFunctions,
-         mxFunction_getAlgorithmSize,
-         mxFunction_getFree,
-         mxFunction_getWorkSize,
-         mxFunction_grad,
-         mxFunction_grad',
-         mxFunction_grad'',
-         mxFunction_grad''',
-         mxFunction_grad'''',
-         mxFunction_grad''''',
-         mxFunction_grad'''''',
-         mxFunction_jac,
-         mxFunction_jac',
-         mxFunction_jac'',
-         mxFunction_jac''',
-         mxFunction_jac'''',
-         mxFunction_jac''''',
-         mxFunction_jac'''''',
-         mxFunction_jac''''''',
-         mxFunction_jac'''''''',
-         mxFunction_jac''''''''',
-         mxFunction_jac'''''''''',
-         mxFunction_jac''''''''''',
-         mxFunction_jac'''''''''''',
-         mxFunction_jac''''''''''''',
-         mxFunction_jac'''''''''''''',
-         mxFunction_tang,
-         mxFunction_tang',
-         mxFunction_tang'',
-         mxFunction_tang''',
-         mxFunction_tang'''',
-         mxFunction_tang''''',
-         mxFunction_tang'''''',
-       ) 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 MXFunction where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__getAlgorithmSize" c_CasADi__MXFunction__getAlgorithmSize
-  :: Ptr MXFunction' -> IO CInt
-casADi__MXFunction__getAlgorithmSize
-  :: MXFunction -> IO Int
-casADi__MXFunction__getAlgorithmSize x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__getAlgorithmSize x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of atomic operations.
--}
-mxFunction_getAlgorithmSize :: MXFunctionClass a => a -> IO Int
-mxFunction_getAlgorithmSize x = casADi__MXFunction__getAlgorithmSize (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__getWorkSize" c_CasADi__MXFunction__getWorkSize
-  :: Ptr MXFunction' -> IO CInt
-casADi__MXFunction__getWorkSize
-  :: MXFunction -> IO Int
-casADi__MXFunction__getWorkSize x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__getWorkSize x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the length of the work vector.
--}
-mxFunction_getWorkSize :: MXFunctionClass a => a -> IO Int
-mxFunction_getWorkSize x = casADi__MXFunction__getWorkSize (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__countNodes" c_CasADi__MXFunction__countNodes
-  :: Ptr MXFunction' -> IO CInt
-casADi__MXFunction__countNodes
-  :: MXFunction -> IO Int
-casADi__MXFunction__countNodes x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__countNodes x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Number of nodes in the algorithm.
--}
-mxFunction_countNodes :: MXFunctionClass a => a -> IO Int
-mxFunction_countNodes x = casADi__MXFunction__countNodes (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__checkNode" c_CasADi__MXFunction__checkNode
-  :: Ptr MXFunction' -> IO CInt
-casADi__MXFunction__checkNode
-  :: MXFunction -> IO Bool
-casADi__MXFunction__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-mxFunction_checkNode :: MXFunctionClass a => a -> IO Bool
-mxFunction_checkNode x = casADi__MXFunction__checkNode (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac" c_CasADi__MXFunction__jac
-  :: Ptr MXFunction' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr MX')
-casADi__MXFunction__jac
-  :: MXFunction -> Int -> Int -> Bool -> Bool -> IO MX
-casADi__MXFunction__jac x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__MXFunction__jac x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->Jacobian via source code transformation.
--}
-mxFunction_jac :: MXFunctionClass a => a -> Int -> Int -> Bool -> Bool -> IO MX
-mxFunction_jac x = casADi__MXFunction__jac (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC" c_CasADi__MXFunction__jac_TIC
-  :: Ptr MXFunction' -> CInt -> CInt -> CInt -> IO (Ptr MX')
-casADi__MXFunction__jac'
-  :: MXFunction -> Int -> Int -> Bool -> IO MX
-casADi__MXFunction__jac' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MXFunction__jac_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac' :: MXFunctionClass a => a -> Int -> Int -> Bool -> IO MX
-mxFunction_jac' x = casADi__MXFunction__jac' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC
-  :: Ptr MXFunction' -> CInt -> CInt -> IO (Ptr MX')
-casADi__MXFunction__jac''
-  :: MXFunction -> Int -> Int -> IO MX
-casADi__MXFunction__jac'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__jac_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac'' :: MXFunctionClass a => a -> Int -> Int -> IO MX
-mxFunction_jac'' x = casADi__MXFunction__jac'' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC
-  :: Ptr MXFunction' -> CInt -> IO (Ptr MX')
-casADi__MXFunction__jac'''
-  :: MXFunction -> Int -> IO MX
-casADi__MXFunction__jac''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac''' :: MXFunctionClass a => a -> Int -> IO MX
-mxFunction_jac''' x = casADi__MXFunction__jac''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> IO (Ptr MX')
-casADi__MXFunction__jac''''
-  :: MXFunction -> IO MX
-casADi__MXFunction__jac'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac'''' :: MXFunctionClass a => a -> IO MX
-mxFunction_jac'''' x = casADi__MXFunction__jac'''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> CInt -> CInt -> CInt -> IO (Ptr MX')
-casADi__MXFunction__jac'''''
-  :: MXFunction -> String -> Int -> Bool -> Bool -> IO MX
-casADi__MXFunction__jac''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac''''' :: MXFunctionClass a => a -> String -> Int -> Bool -> Bool -> IO MX
-mxFunction_jac''''' x = casADi__MXFunction__jac''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> CInt -> CInt -> IO (Ptr MX')
-casADi__MXFunction__jac''''''
-  :: MXFunction -> String -> Int -> Bool -> IO MX
-casADi__MXFunction__jac'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac'''''' :: MXFunctionClass a => a -> String -> Int -> Bool -> IO MX
-mxFunction_jac'''''' x = casADi__MXFunction__jac'''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> CInt -> IO (Ptr MX')
-casADi__MXFunction__jac'''''''
-  :: MXFunction -> String -> Int -> IO MX
-casADi__MXFunction__jac''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac''''''' :: MXFunctionClass a => a -> String -> Int -> IO MX
-mxFunction_jac''''''' x = casADi__MXFunction__jac''''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> IO (Ptr MX')
-casADi__MXFunction__jac''''''''
-  :: MXFunction -> String -> IO MX
-casADi__MXFunction__jac'''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac'''''''' :: MXFunctionClass a => a -> String -> IO MX
-mxFunction_jac'''''''' x = casADi__MXFunction__jac'''''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> CInt -> Ptr StdString' -> CInt -> CInt -> IO (Ptr MX')
-casADi__MXFunction__jac'''''''''
-  :: MXFunction -> Int -> String -> Bool -> Bool -> IO MX
-casADi__MXFunction__jac''''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac''''''''' :: MXFunctionClass a => a -> Int -> String -> Bool -> Bool -> IO MX
-mxFunction_jac''''''''' x = casADi__MXFunction__jac''''''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> CInt -> Ptr StdString' -> CInt -> IO (Ptr MX')
-casADi__MXFunction__jac''''''''''
-  :: MXFunction -> Int -> String -> Bool -> IO MX
-casADi__MXFunction__jac'''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac'''''''''' :: MXFunctionClass a => a -> Int -> String -> Bool -> IO MX
-mxFunction_jac'''''''''' x = casADi__MXFunction__jac'''''''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> CInt -> Ptr StdString' -> IO (Ptr MX')
-casADi__MXFunction__jac'''''''''''
-  :: MXFunction -> Int -> String -> IO MX
-casADi__MXFunction__jac''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac''''''''''' :: MXFunctionClass a => a -> Int -> String -> IO MX
-mxFunction_jac''''''''''' x = casADi__MXFunction__jac''''''''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> Ptr StdString' -> CInt -> CInt -> IO (Ptr MX')
-casADi__MXFunction__jac''''''''''''
-  :: MXFunction -> String -> String -> Bool -> Bool -> IO MX
-casADi__MXFunction__jac'''''''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac'''''''''''' :: MXFunctionClass a => a -> String -> String -> Bool -> Bool -> IO MX
-mxFunction_jac'''''''''''' x = casADi__MXFunction__jac'''''''''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> Ptr StdString' -> CInt -> IO (Ptr MX')
-casADi__MXFunction__jac'''''''''''''
-  :: MXFunction -> String -> String -> Bool -> IO MX
-casADi__MXFunction__jac''''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac''''''''''''' :: MXFunctionClass a => a -> String -> String -> Bool -> IO MX
-mxFunction_jac''''''''''''' x = casADi__MXFunction__jac''''''''''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr MX')
-casADi__MXFunction__jac''''''''''''''
-  :: MXFunction -> String -> String -> IO MX
-casADi__MXFunction__jac'''''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mxFunction_jac'''''''''''''' :: MXFunctionClass a => a -> String -> String -> IO MX
-mxFunction_jac'''''''''''''' x = casADi__MXFunction__jac'''''''''''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__grad" c_CasADi__MXFunction__grad
-  :: Ptr MXFunction' -> CInt -> CInt -> IO (Ptr MX')
-casADi__MXFunction__grad
-  :: MXFunction -> Int -> Int -> IO MX
-casADi__MXFunction__grad x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__grad x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Gradient via source code transformation.
--}
-mxFunction_grad :: MXFunctionClass a => a -> Int -> Int -> IO MX
-mxFunction_grad x = casADi__MXFunction__grad (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__grad_TIC" c_CasADi__MXFunction__grad_TIC
-  :: Ptr MXFunction' -> CInt -> IO (Ptr MX')
-casADi__MXFunction__grad'
-  :: MXFunction -> Int -> IO MX
-casADi__MXFunction__grad' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MXFunction__grad_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mxFunction_grad' :: MXFunctionClass a => a -> Int -> IO MX
-mxFunction_grad' x = casADi__MXFunction__grad' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__grad_TIC_TIC" c_CasADi__MXFunction__grad_TIC_TIC
-  :: Ptr MXFunction' -> IO (Ptr MX')
-casADi__MXFunction__grad''
-  :: MXFunction -> IO MX
-casADi__MXFunction__grad'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__grad_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mxFunction_grad'' :: MXFunctionClass a => a -> IO MX
-mxFunction_grad'' x = casADi__MXFunction__grad'' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__grad_TIC_TIC_TIC" c_CasADi__MXFunction__grad_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> CInt -> IO (Ptr MX')
-casADi__MXFunction__grad'''
-  :: MXFunction -> String -> Int -> IO MX
-casADi__MXFunction__grad''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__grad_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mxFunction_grad''' :: MXFunctionClass a => a -> String -> Int -> IO MX
-mxFunction_grad''' x = casADi__MXFunction__grad''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__grad_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__grad_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> IO (Ptr MX')
-casADi__MXFunction__grad''''
-  :: MXFunction -> String -> IO MX
-casADi__MXFunction__grad'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MXFunction__grad_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mxFunction_grad'''' :: MXFunctionClass a => a -> String -> IO MX
-mxFunction_grad'''' x = casADi__MXFunction__grad'''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__grad_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__grad_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> CInt -> Ptr StdString' -> IO (Ptr MX')
-casADi__MXFunction__grad'''''
-  :: MXFunction -> Int -> String -> IO MX
-casADi__MXFunction__grad''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__grad_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mxFunction_grad''''' :: MXFunctionClass a => a -> Int -> String -> IO MX
-mxFunction_grad''''' x = casADi__MXFunction__grad''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__grad_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__grad_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr MX')
-casADi__MXFunction__grad''''''
-  :: MXFunction -> String -> String -> IO MX
-casADi__MXFunction__grad'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__grad_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mxFunction_grad'''''' :: MXFunctionClass a => a -> String -> String -> IO MX
-mxFunction_grad'''''' x = casADi__MXFunction__grad'''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__tang" c_CasADi__MXFunction__tang
-  :: Ptr MXFunction' -> CInt -> CInt -> IO (Ptr MX')
-casADi__MXFunction__tang
-  :: MXFunction -> Int -> Int -> IO MX
-casADi__MXFunction__tang x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__tang x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Tangent via source code transformation.
--}
-mxFunction_tang :: MXFunctionClass a => a -> Int -> Int -> IO MX
-mxFunction_tang x = casADi__MXFunction__tang (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__tang_TIC" c_CasADi__MXFunction__tang_TIC
-  :: Ptr MXFunction' -> CInt -> IO (Ptr MX')
-casADi__MXFunction__tang'
-  :: MXFunction -> Int -> IO MX
-casADi__MXFunction__tang' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MXFunction__tang_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mxFunction_tang' :: MXFunctionClass a => a -> Int -> IO MX
-mxFunction_tang' x = casADi__MXFunction__tang' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__tang_TIC_TIC" c_CasADi__MXFunction__tang_TIC_TIC
-  :: Ptr MXFunction' -> IO (Ptr MX')
-casADi__MXFunction__tang''
-  :: MXFunction -> IO MX
-casADi__MXFunction__tang'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__tang_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mxFunction_tang'' :: MXFunctionClass a => a -> IO MX
-mxFunction_tang'' x = casADi__MXFunction__tang'' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__tang_TIC_TIC_TIC" c_CasADi__MXFunction__tang_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> CInt -> IO (Ptr MX')
-casADi__MXFunction__tang'''
-  :: MXFunction -> String -> Int -> IO MX
-casADi__MXFunction__tang''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__tang_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mxFunction_tang''' :: MXFunctionClass a => a -> String -> Int -> IO MX
-mxFunction_tang''' x = casADi__MXFunction__tang''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__tang_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__tang_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> IO (Ptr MX')
-casADi__MXFunction__tang''''
-  :: MXFunction -> String -> IO MX
-casADi__MXFunction__tang'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MXFunction__tang_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mxFunction_tang'''' :: MXFunctionClass a => a -> String -> IO MX
-mxFunction_tang'''' x = casADi__MXFunction__tang'''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__tang_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__tang_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> CInt -> Ptr StdString' -> IO (Ptr MX')
-casADi__MXFunction__tang'''''
-  :: MXFunction -> Int -> String -> IO MX
-casADi__MXFunction__tang''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__tang_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mxFunction_tang''''' :: MXFunctionClass a => a -> Int -> String -> IO MX
-mxFunction_tang''''' x = casADi__MXFunction__tang''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__tang_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__MXFunction__tang_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MXFunction' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr MX')
-casADi__MXFunction__tang''''''
-  :: MXFunction -> String -> String -> IO MX
-casADi__MXFunction__tang'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__tang_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-mxFunction_tang'''''' :: MXFunctionClass a => a -> String -> String -> IO MX
-mxFunction_tang'''''' x = casADi__MXFunction__tang'''''' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__expand" c_CasADi__MXFunction__expand
-  :: Ptr MXFunction' -> Ptr (CppVec (Ptr SX')) -> IO (Ptr SXFunction')
-casADi__MXFunction__expand
-  :: MXFunction -> Vector SX -> IO SXFunction
-casADi__MXFunction__expand x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MXFunction__expand x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Expand the matrix valued graph into a scalar valued graph.
--}
-mxFunction_expand :: MXFunctionClass a => a -> Vector SX -> IO SXFunction
-mxFunction_expand x = casADi__MXFunction__expand (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__expand_TIC" c_CasADi__MXFunction__expand_TIC
-  :: Ptr MXFunction' -> IO (Ptr SXFunction')
-casADi__MXFunction__expand'
-  :: MXFunction -> IO SXFunction
-casADi__MXFunction__expand' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__expand_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mxFunction_expand' :: MXFunctionClass a => a -> IO SXFunction
-mxFunction_expand' x = casADi__MXFunction__expand' (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__getFree" c_CasADi__MXFunction__getFree
-  :: Ptr MXFunction' -> IO (Ptr (CppVec (Ptr MX')))
-casADi__MXFunction__getFree
-  :: MXFunction -> IO (Vector MX)
-casADi__MXFunction__getFree x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__getFree x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get all the free variables of the function.
--}
-mxFunction_getFree :: MXFunctionClass a => a -> IO (Vector MX)
-mxFunction_getFree x = casADi__MXFunction__getFree (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__generateLiftingFunctions" c_CasADi__MXFunction__generateLiftingFunctions
-  :: Ptr MXFunction' -> Ptr MXFunction' -> Ptr MXFunction' -> IO ()
-casADi__MXFunction__generateLiftingFunctions
-  :: MXFunction -> MXFunction -> MXFunction -> IO ()
-casADi__MXFunction__generateLiftingFunctions x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__generateLiftingFunctions x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Extract the functions needed for the Lifted Newton method.
--}
-mxFunction_generateLiftingFunctions :: MXFunctionClass a => a -> MXFunction -> MXFunction -> IO ()
-mxFunction_generateLiftingFunctions x = casADi__MXFunction__generateLiftingFunctions (castMXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__MXFunction" c_CasADi__MXFunction__MXFunction
-  :: IO (Ptr MXFunction')
-casADi__MXFunction__MXFunction
-  :: IO MXFunction
-casADi__MXFunction__MXFunction  =
-  c_CasADi__MXFunction__MXFunction  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::MXFunction::MXFunction()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::MXFunction::MXFunction(const Function &function)
->------------------------------------------------------------------------
->
->Attempt to form an MXFunction out of an Function.
->
->>  CasADi::MXFunction::MXFunction(const MX &input, const MX &output)
->------------------------------------------------------------------------
->[INTERNAL] 
->Single input, single output.
->
->>  CasADi::MXFunction::MXFunction(const MX &input, const std::vector< MX > &output)
->------------------------------------------------------------------------
->[INTERNAL] 
->Single input, multiple output.
->
->>  CasADi::MXFunction::MXFunction(const std::vector< MX > &input, const MX &output)
->------------------------------------------------------------------------
->[INTERNAL] 
->Multiple input, single output.
->
->>  CasADi::MXFunction::MXFunction(const std::vector< MX > &input, const std::vector< MX > &output)
->
->>  CasADi::MXFunction::MXFunction(const std::vector< MX > &input, const IOSchemeVector< MX > &output)
->
->>  CasADi::MXFunction::MXFunction(const IOSchemeVector< MX > &input, const std::vector< MX > &output)
->
->>  CasADi::MXFunction::MXFunction(const IOSchemeVector< MX > &input, const IOSchemeVector< MX > &output)
->------------------------------------------------------------------------
->
->Multiple input, multiple output.
--}
-mxFunction :: IO MXFunction
-mxFunction = casADi__MXFunction__MXFunction
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__MXFunction_TIC" c_CasADi__MXFunction__MXFunction_TIC
-  :: Ptr Function' -> IO (Ptr MXFunction')
-casADi__MXFunction__MXFunction'
-  :: Function -> IO MXFunction
-casADi__MXFunction__MXFunction' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__MXFunction_TIC x0' >>= wrapReturn
-
--- classy wrapper
-mxFunction' :: Function -> IO MXFunction
-mxFunction' = casADi__MXFunction__MXFunction'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__MXFunction__MXFunction_TIC_TIC" c_CasADi__MXFunction__MXFunction_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> IO (Ptr MXFunction')
-casADi__MXFunction__MXFunction''
-  :: Vector MX -> Vector MX -> IO MXFunction
-casADi__MXFunction__MXFunction'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__MXFunction__MXFunction_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-mxFunction'' :: Vector MX -> Vector MX -> IO MXFunction
-mxFunction'' = casADi__MXFunction__MXFunction''
-
diff --git a/Casadi/Wrappers/Classes/NLPImplicitSolver.hs b/Casadi/Wrappers/Classes/NLPImplicitSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/NLPImplicitSolver.hs
+++ /dev/null
@@ -1,157 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.NLPImplicitSolver
-       (
-         NLPImplicitSolver,
-         NLPImplicitSolverClass(..),
-         nlpImplicitSolver,
-         nlpImplicitSolver',
-         nlpImplicitSolver'',
-         nlpImplicitSolver''',
-         nlpImplicitSolver_checkNode,
-         nlpImplicitSolver_creator,
-         nlpImplicitSolver_getNLPSolver,
-       ) 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 NLPImplicitSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPImplicitSolver__checkNode" c_CasADi__NLPImplicitSolver__checkNode
-  :: Ptr NLPImplicitSolver' -> IO CInt
-casADi__NLPImplicitSolver__checkNode
-  :: NLPImplicitSolver -> IO Bool
-casADi__NLPImplicitSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPImplicitSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-nlpImplicitSolver_checkNode :: NLPImplicitSolverClass a => a -> IO Bool
-nlpImplicitSolver_checkNode x = casADi__NLPImplicitSolver__checkNode (castNLPImplicitSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPImplicitSolver__getNLPSolver" c_CasADi__NLPImplicitSolver__getNLPSolver
-  :: Ptr NLPImplicitSolver' -> IO (Ptr NLPSolver')
-casADi__NLPImplicitSolver__getNLPSolver
-  :: NLPImplicitSolver -> IO NLPSolver
-casADi__NLPImplicitSolver__getNLPSolver x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPImplicitSolver__getNLPSolver x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access NLP solver.
--}
-nlpImplicitSolver_getNLPSolver :: NLPImplicitSolverClass a => a -> IO NLPSolver
-nlpImplicitSolver_getNLPSolver x = casADi__NLPImplicitSolver__getNLPSolver (castNLPImplicitSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPImplicitSolver__creator" c_CasADi__NLPImplicitSolver__creator
-  :: Ptr Function' -> Ptr Function' -> Ptr LinearSolver' -> IO (Ptr ImplicitFunction')
-casADi__NLPImplicitSolver__creator
-  :: Function -> Function -> LinearSolver -> IO ImplicitFunction
-casADi__NLPImplicitSolver__creator x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__NLPImplicitSolver__creator x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-nlpImplicitSolver_creator :: Function -> Function -> LinearSolver -> IO ImplicitFunction
-nlpImplicitSolver_creator = casADi__NLPImplicitSolver__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPImplicitSolver__NLPImplicitSolver" c_CasADi__NLPImplicitSolver__NLPImplicitSolver
-  :: IO (Ptr NLPImplicitSolver')
-casADi__NLPImplicitSolver__NLPImplicitSolver
-  :: IO NLPImplicitSolver
-casADi__NLPImplicitSolver__NLPImplicitSolver  =
-  c_CasADi__NLPImplicitSolver__NLPImplicitSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::NLPImplicitSolver::NLPImplicitSolver()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::NLPImplicitSolver::NLPImplicitSolver(const Function &f, const Function &jac=Function(), const LinearSolver &linsol=LinearSolver())
->------------------------------------------------------------------------
->
->Create a new solver instance.
--}
-nlpImplicitSolver :: IO NLPImplicitSolver
-nlpImplicitSolver = casADi__NLPImplicitSolver__NLPImplicitSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPImplicitSolver__NLPImplicitSolver_TIC" c_CasADi__NLPImplicitSolver__NLPImplicitSolver_TIC
-  :: Ptr Function' -> Ptr Function' -> Ptr LinearSolver' -> IO (Ptr NLPImplicitSolver')
-casADi__NLPImplicitSolver__NLPImplicitSolver'
-  :: Function -> Function -> LinearSolver -> IO NLPImplicitSolver
-casADi__NLPImplicitSolver__NLPImplicitSolver' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__NLPImplicitSolver__NLPImplicitSolver_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-nlpImplicitSolver' :: Function -> Function -> LinearSolver -> IO NLPImplicitSolver
-nlpImplicitSolver' = casADi__NLPImplicitSolver__NLPImplicitSolver'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPImplicitSolver__NLPImplicitSolver_TIC_TIC" c_CasADi__NLPImplicitSolver__NLPImplicitSolver_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr NLPImplicitSolver')
-casADi__NLPImplicitSolver__NLPImplicitSolver''
-  :: Function -> Function -> IO NLPImplicitSolver
-casADi__NLPImplicitSolver__NLPImplicitSolver'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__NLPImplicitSolver__NLPImplicitSolver_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-nlpImplicitSolver'' :: Function -> Function -> IO NLPImplicitSolver
-nlpImplicitSolver'' = casADi__NLPImplicitSolver__NLPImplicitSolver''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPImplicitSolver__NLPImplicitSolver_TIC_TIC_TIC" c_CasADi__NLPImplicitSolver__NLPImplicitSolver_TIC_TIC_TIC
-  :: Ptr Function' -> IO (Ptr NLPImplicitSolver')
-casADi__NLPImplicitSolver__NLPImplicitSolver'''
-  :: Function -> IO NLPImplicitSolver
-casADi__NLPImplicitSolver__NLPImplicitSolver''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPImplicitSolver__NLPImplicitSolver_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-nlpImplicitSolver''' :: Function -> IO NLPImplicitSolver
-nlpImplicitSolver''' = casADi__NLPImplicitSolver__NLPImplicitSolver'''
-
diff --git a/Casadi/Wrappers/Classes/NLPQPSolver.hs b/Casadi/Wrappers/Classes/NLPQPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/NLPQPSolver.hs
+++ /dev/null
@@ -1,121 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.NLPQPSolver
-       (
-         NLPQPSolver,
-         NLPQPSolverClass(..),
-         nlpqpSolver,
-         nlpqpSolver',
-         nlpqpSolver_checkNode,
-         nlpqpSolver_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 NLPQPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPQPSolver__checkNode" c_CasADi__NLPQPSolver__checkNode
-  :: Ptr NLPQPSolver' -> IO CInt
-casADi__NLPQPSolver__checkNode
-  :: NLPQPSolver -> IO Bool
-casADi__NLPQPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPQPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  bool CasADi::NLPQPSolver::checkNode() const 
->------------------------------------------------------------------------
->
->Check if the node is pointing to the right type of object.
->
->>  virtual bool CasADi::NLPQPSolver::checkNode() const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Check if the node is pointing to the right type of object.
--}
-nlpqpSolver_checkNode :: NLPQPSolverClass a => a -> IO Bool
-nlpqpSolver_checkNode x = casADi__NLPQPSolver__checkNode (castNLPQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPQPSolver__creator" c_CasADi__NLPQPSolver__creator
-  :: Ptr QPStructure' -> IO (Ptr QPSolver')
-casADi__NLPQPSolver__creator
-  :: QPStructure -> IO QPSolver
-casADi__NLPQPSolver__creator x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPQPSolver__creator x0' >>= wrapReturn
-
--- classy wrapper
-nlpqpSolver_creator :: QPStructure -> IO QPSolver
-nlpqpSolver_creator = casADi__NLPQPSolver__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPQPSolver__NLPQPSolver" c_CasADi__NLPQPSolver__NLPQPSolver
-  :: IO (Ptr NLPQPSolver')
-casADi__NLPQPSolver__NLPQPSolver
-  :: IO NLPQPSolver
-casADi__NLPQPSolver__NLPQPSolver  =
-  c_CasADi__NLPQPSolver__NLPQPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::NLPQPSolver::NLPQPSolver()
->
->>  CasADi::NLPQPSolver::NLPQPSolver()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::NLPQPSolver::NLPQPSolver(const QPStructure &st)
->
->>  CasADi::NLPQPSolver::NLPQPSolver(const QPStructure &st)
->------------------------------------------------------------------------
->
->Constructor.
->
->Parameters:
->-----------
->
->st:  Problem structure
--}
-nlpqpSolver :: IO NLPQPSolver
-nlpqpSolver = casADi__NLPQPSolver__NLPQPSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPQPSolver__NLPQPSolver_TIC" c_CasADi__NLPQPSolver__NLPQPSolver_TIC
-  :: Ptr QPStructure' -> IO (Ptr NLPQPSolver')
-casADi__NLPQPSolver__NLPQPSolver'
-  :: QPStructure -> IO NLPQPSolver
-casADi__NLPQPSolver__NLPQPSolver' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPQPSolver__NLPQPSolver_TIC x0' >>= wrapReturn
-
--- classy wrapper
-nlpqpSolver' :: QPStructure -> IO NLPQPSolver
-nlpqpSolver' = casADi__NLPQPSolver__NLPQPSolver'
-
diff --git a/Casadi/Wrappers/Classes/NLPSolver.hs b/Casadi/Wrappers/Classes/NLPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/NLPSolver.hs
+++ /dev/null
@@ -1,327 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.NLPSolver
-       (
-         NLPSolver,
-         NLPSolverClass(..),
-         nlpSolver,
-         nlpSolver_checkNode,
-         nlpSolver_getReportConstraints,
-         nlpSolver_gradF,
-         nlpSolver_hessLag,
-         nlpSolver_jacG,
-         nlpSolver_joinFG,
-         nlpSolver_nlp,
-         nlpSolver_reportConstraints',
-         nlpSolver_setQPOptions,
-       ) 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 NLPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPSolver__checkNode" c_CasADi__NLPSolver__checkNode
-  :: Ptr NLPSolver' -> IO CInt
-casADi__NLPSolver__checkNode
-  :: NLPSolver -> IO Bool
-casADi__NLPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-nlpSolver_checkNode :: NLPSolverClass a => a -> IO Bool
-nlpSolver_checkNode x = casADi__NLPSolver__checkNode (castNLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPSolver__reportConstraints_TIC" c_CasADi__NLPSolver__reportConstraints_TIC
-  :: Ptr NLPSolver' -> IO ()
-casADi__NLPSolver__reportConstraints'
-  :: NLPSolver -> IO ()
-casADi__NLPSolver__reportConstraints' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPSolver__reportConstraints_TIC x0' >>= wrapReturn
-
--- classy wrapper
-nlpSolver_reportConstraints' :: NLPSolverClass a => a -> IO ()
-nlpSolver_reportConstraints' x = casADi__NLPSolver__reportConstraints' (castNLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPSolver__getReportConstraints" c_CasADi__NLPSolver__getReportConstraints
-  :: Ptr NLPSolver' -> IO (Ptr StdString')
-casADi__NLPSolver__getReportConstraints
-  :: NLPSolver -> IO String
-casADi__NLPSolver__getReportConstraints x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPSolver__getReportConstraints x0' >>= wrapReturn
-
--- classy wrapper
-nlpSolver_getReportConstraints :: NLPSolverClass a => a -> IO String
-nlpSolver_getReportConstraints x = casADi__NLPSolver__getReportConstraints (castNLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPSolver__setQPOptions" c_CasADi__NLPSolver__setQPOptions
-  :: Ptr NLPSolver' -> IO ()
-casADi__NLPSolver__setQPOptions
-  :: NLPSolver -> IO ()
-casADi__NLPSolver__setQPOptions x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPSolver__setQPOptions x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set options that make the NLP solver more suitable for solving QPs.
--}
-nlpSolver_setQPOptions :: NLPSolverClass a => a -> IO ()
-nlpSolver_setQPOptions x = casADi__NLPSolver__setQPOptions (castNLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPSolver__nlp" c_CasADi__NLPSolver__nlp
-  :: Ptr NLPSolver' -> IO (Ptr Function')
-casADi__NLPSolver__nlp
-  :: NLPSolver -> IO Function
-casADi__NLPSolver__nlp x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPSolver__nlp x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access the NLP.
->
->>Input scheme: CasADi::NLPSolverInput (NLP_SOLVER_NUM_IN = 9) [nlpSolverIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X0          | x0                     | Decision variables,    |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_P           | p                      | Value of fixed         |
->|                        |                        | parameters (np x 1) .  |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBX         | lbx                    | Decision variables     |
->|                        |                        | lower bound (nx x 1),  |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBX         | ubx                    | Decision variables     |
->|                        |                        | upper bound (nx x 1),  |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBG         | lbg                    | Constraints lower      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBG         | ubg                    | Constraints upper      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X0      | lam_x0                 | Lagrange multipliers   |
->|                        |                        | for bounds on X,       |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G0      | lam_g0                 | Lagrange multipliers   |
->|                        |                        | for bounds on G,       |
->|                        |                        | initial guess (ng x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::NLPSolverOutput (NLP_SOLVER_NUM_OUT = 7) [nlpSolverOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X           | x                      | Decision variables at  |
->|                        |                        | the optimal solution   |
->|                        |                        | (nx x 1) .             |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_F           | f                      | Cost function value at |
->|                        |                        | the optimal solution   |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_G           | g                      | Constraints function   |
->|                        |                        | at the optimal         |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X       | lam_x                  | Lagrange multipliers   |
->|                        |                        | for bounds on X at the |
->|                        |                        | solution (nx x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G       | lam_g                  | Lagrange multipliers   |
->|                        |                        | for bounds on G at the |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_P       | lam_p                  | Lagrange multipliers   |
->|                        |                        | for bounds on P at the |
->|                        |                        | solution (np x 1) .    |
->+------------------------+------------------------+------------------------+
--}
-nlpSolver_nlp :: NLPSolverClass a => a -> IO Function
-nlpSolver_nlp x = casADi__NLPSolver__nlp (castNLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPSolver__gradF" c_CasADi__NLPSolver__gradF
-  :: Ptr NLPSolver' -> IO (Ptr Function')
-casADi__NLPSolver__gradF
-  :: NLPSolver -> IO Function
-casADi__NLPSolver__gradF x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPSolver__gradF x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access the objective gradient function>Input scheme: CasADi::GradFInput
->(GRADF_NUM_IN = 3) [gradFIn] +-----------+-------+---------------------+ |
->Full name | Short |     Description     |
->+===========+=======+=====================+ | GRADF_X   | x     | Decision
->variable . | +-----------+-------+---------------------+ | GRADF_P   | p
->| Fixed parameter .   | +-----------+-------+---------------------+
--}
-nlpSolver_gradF :: NLPSolverClass a => a -> IO Function
-nlpSolver_gradF x = casADi__NLPSolver__gradF (castNLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPSolver__jacG" c_CasADi__NLPSolver__jacG
-  :: Ptr NLPSolver' -> IO (Ptr Function')
-casADi__NLPSolver__jacG
-  :: NLPSolver -> IO Function
-casADi__NLPSolver__jacG x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPSolver__jacG x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access the Jacobian of the constraint function.
->
->>Input scheme: CasADi::HessLagInput (HESSLAG_NUM_IN = 5) [hessLagIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| HESSLAG_X              | x                      | Decision variable .    |
->+------------------------+------------------------+------------------------+
->| HESSLAG_P              | p                      | Fixed parameter .      |
->+------------------------+------------------------+------------------------+
->| HESSLAG_LAM_F          | lam_f                  | Multiplier for f. Just |
->|                        |                        | a scalar factor for    |
->|                        |                        | the objective that the |
->|                        |                        | NLP solver might use   |
->|                        |                        | to scale the           |
->|                        |                        | objective. .           |
->+------------------------+------------------------+------------------------+
->| HESSLAG_LAM_G          | lam_g                  | Multiplier for g .     |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::HessLagOutput (HESSLAG_NUM_OUT = 6) [hessLagOut]
->+----------------+--------+------------------------------------------------+
->|   Full name    | Short  |                  Description                   |
->+================+========+================================================+
->| HESSLAG_HESS   | hess   | Hessian of the Lagrangian .                    |
->+----------------+--------+------------------------------------------------+
->| HESSLAG_F      | f      | Objective function .                           |
->+----------------+--------+------------------------------------------------+
->| HESSLAG_G      | g      | Constraint function .                          |
->+----------------+--------+------------------------------------------------+
->| HESSLAG_GRAD_X | grad_x | Gradient of the Lagrangian with respect to x . |
->+----------------+--------+------------------------------------------------+
->| HESSLAG_GRAD_P | grad_p | Gradient of the Lagrangian with respect to p . |
->+----------------+--------+------------------------------------------------+
--}
-nlpSolver_jacG :: NLPSolverClass a => a -> IO Function
-nlpSolver_jacG x = casADi__NLPSolver__jacG (castNLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPSolver__hessLag" c_CasADi__NLPSolver__hessLag
-  :: Ptr NLPSolver' -> IO (Ptr Function')
-casADi__NLPSolver__hessLag
-  :: NLPSolver -> IO Function
-casADi__NLPSolver__hessLag x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NLPSolver__hessLag x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access the Hessian of the Lagrangian function.
->
->>Input scheme: CasADi::JacGInput (JACG_NUM_IN = 3) [jacGIn]
->+-----------+-------+---------------------+
->| Full name | Short |     Description     |
->+===========+=======+=====================+
->| JACG_X    | x     | Decision variable . |
->+-----------+-------+---------------------+
->| JACG_P    | p     | Fixed parameter .   |
->+-----------+-------+---------------------+
->
->>Output scheme: CasADi::JacGOutput (JACG_NUM_OUT = 4) [jacGOut]
->+-----------+-------+-------------------------------+
->| Full name | Short |          Description          |
->+===========+=======+===============================+
->| JACG_JAC  | jac   | Jacobian of the constraints . |
->+-----------+-------+-------------------------------+
->| JACG_F    | f     | Objective function .          |
->+-----------+-------+-------------------------------+
->| JACG_G    | g     | Constraint function .         |
->+-----------+-------+-------------------------------+
--}
-nlpSolver_hessLag :: NLPSolverClass a => a -> IO Function
-nlpSolver_hessLag x = casADi__NLPSolver__hessLag (castNLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPSolver__joinFG" c_CasADi__NLPSolver__joinFG
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr Function')
-casADi__NLPSolver__joinFG
-  :: Function -> Function -> IO Function
-casADi__NLPSolver__joinFG x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__NLPSolver__joinFG x0' x1' >>= wrapReturn
-
--- classy wrapper
-nlpSolver_joinFG :: Function -> Function -> IO Function
-nlpSolver_joinFG = casADi__NLPSolver__joinFG
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NLPSolver__NLPSolver" c_CasADi__NLPSolver__NLPSolver
-  :: IO (Ptr NLPSolver')
-casADi__NLPSolver__NLPSolver
-  :: IO NLPSolver
-casADi__NLPSolver__NLPSolver  =
-  c_CasADi__NLPSolver__NLPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-nlpSolver :: IO NLPSolver
-nlpSolver = casADi__NLPSolver__NLPSolver
-
diff --git a/Casadi/Wrappers/Classes/NewtonImplicitSolver.hs b/Casadi/Wrappers/Classes/NewtonImplicitSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/NewtonImplicitSolver.hs
+++ /dev/null
@@ -1,139 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.NewtonImplicitSolver
-       (
-         NewtonImplicitSolver,
-         NewtonImplicitSolverClass(..),
-         newtonImplicitSolver,
-         newtonImplicitSolver',
-         newtonImplicitSolver'',
-         newtonImplicitSolver''',
-         newtonImplicitSolver_checkNode,
-         newtonImplicitSolver_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 NewtonImplicitSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__NewtonImplicitSolver__checkNode" c_CasADi__NewtonImplicitSolver__checkNode
-  :: Ptr NewtonImplicitSolver' -> IO CInt
-casADi__NewtonImplicitSolver__checkNode
-  :: NewtonImplicitSolver -> IO Bool
-casADi__NewtonImplicitSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NewtonImplicitSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-newtonImplicitSolver_checkNode :: NewtonImplicitSolverClass a => a -> IO Bool
-newtonImplicitSolver_checkNode x = casADi__NewtonImplicitSolver__checkNode (castNewtonImplicitSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NewtonImplicitSolver__creator" c_CasADi__NewtonImplicitSolver__creator
-  :: Ptr Function' -> Ptr Function' -> Ptr LinearSolver' -> IO (Ptr ImplicitFunction')
-casADi__NewtonImplicitSolver__creator
-  :: Function -> Function -> LinearSolver -> IO ImplicitFunction
-casADi__NewtonImplicitSolver__creator x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__NewtonImplicitSolver__creator x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-newtonImplicitSolver_creator :: Function -> Function -> LinearSolver -> IO ImplicitFunction
-newtonImplicitSolver_creator = casADi__NewtonImplicitSolver__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NewtonImplicitSolver__NewtonImplicitSolver" c_CasADi__NewtonImplicitSolver__NewtonImplicitSolver
-  :: IO (Ptr NewtonImplicitSolver')
-casADi__NewtonImplicitSolver__NewtonImplicitSolver
-  :: IO NewtonImplicitSolver
-casADi__NewtonImplicitSolver__NewtonImplicitSolver  =
-  c_CasADi__NewtonImplicitSolver__NewtonImplicitSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::NewtonImplicitSolver::NewtonImplicitSolver()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::NewtonImplicitSolver::NewtonImplicitSolver(const Function &f, const Function &jac=Function(), const LinearSolver &linsol=LinearSolver())
->------------------------------------------------------------------------
->
->Create a solver instance.
--}
-newtonImplicitSolver :: IO NewtonImplicitSolver
-newtonImplicitSolver = casADi__NewtonImplicitSolver__NewtonImplicitSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NewtonImplicitSolver__NewtonImplicitSolver_TIC" c_CasADi__NewtonImplicitSolver__NewtonImplicitSolver_TIC
-  :: Ptr Function' -> Ptr Function' -> Ptr LinearSolver' -> IO (Ptr NewtonImplicitSolver')
-casADi__NewtonImplicitSolver__NewtonImplicitSolver'
-  :: Function -> Function -> LinearSolver -> IO NewtonImplicitSolver
-casADi__NewtonImplicitSolver__NewtonImplicitSolver' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__NewtonImplicitSolver__NewtonImplicitSolver_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-newtonImplicitSolver' :: Function -> Function -> LinearSolver -> IO NewtonImplicitSolver
-newtonImplicitSolver' = casADi__NewtonImplicitSolver__NewtonImplicitSolver'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NewtonImplicitSolver__NewtonImplicitSolver_TIC_TIC" c_CasADi__NewtonImplicitSolver__NewtonImplicitSolver_TIC_TIC
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr NewtonImplicitSolver')
-casADi__NewtonImplicitSolver__NewtonImplicitSolver''
-  :: Function -> Function -> IO NewtonImplicitSolver
-casADi__NewtonImplicitSolver__NewtonImplicitSolver'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__NewtonImplicitSolver__NewtonImplicitSolver_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-newtonImplicitSolver'' :: Function -> Function -> IO NewtonImplicitSolver
-newtonImplicitSolver'' = casADi__NewtonImplicitSolver__NewtonImplicitSolver''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__NewtonImplicitSolver__NewtonImplicitSolver_TIC_TIC_TIC" c_CasADi__NewtonImplicitSolver__NewtonImplicitSolver_TIC_TIC_TIC
-  :: Ptr Function' -> IO (Ptr NewtonImplicitSolver')
-casADi__NewtonImplicitSolver__NewtonImplicitSolver'''
-  :: Function -> IO NewtonImplicitSolver
-casADi__NewtonImplicitSolver__NewtonImplicitSolver''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__NewtonImplicitSolver__NewtonImplicitSolver_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-newtonImplicitSolver''' :: Function -> IO NewtonImplicitSolver
-newtonImplicitSolver''' = casADi__NewtonImplicitSolver__NewtonImplicitSolver'''
-
diff --git a/Casadi/Wrappers/Classes/Nullspace.hs b/Casadi/Wrappers/Classes/Nullspace.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/Nullspace.hs
+++ /dev/null
@@ -1,66 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.Nullspace
-       (
-         Nullspace,
-         NullspaceClass(..),
-         nullspace,
-         nullspace_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 Nullspace where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Nullspace__checkNode" c_CasADi__Nullspace__checkNode
-  :: Ptr Nullspace' -> IO CInt
-casADi__Nullspace__checkNode
-  :: Nullspace -> IO Bool
-casADi__Nullspace__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Nullspace__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-nullspace_checkNode :: NullspaceClass a => a -> IO Bool
-nullspace_checkNode x = casADi__Nullspace__checkNode (castNullspace x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Nullspace__Nullspace" c_CasADi__Nullspace__Nullspace
-  :: IO (Ptr Nullspace')
-casADi__Nullspace__Nullspace
-  :: IO Nullspace
-casADi__Nullspace__Nullspace  =
-  c_CasADi__Nullspace__Nullspace  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-nullspace :: IO Nullspace
-nullspace = casADi__Nullspace__Nullspace
-
diff --git a/Casadi/Wrappers/Classes/OCPSolver.hs b/Casadi/Wrappers/Classes/OCPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/OCPSolver.hs
+++ /dev/null
@@ -1,108 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.OCPSolver
-       (
-         OCPSolver,
-         OCPSolverClass(..),
-         ocpSolver,
-         ocpSolver_getCfcn,
-         ocpSolver_getFfcn,
-         ocpSolver_getMfcn,
-         ocpSolver_getRfcn,
-       ) 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 OCPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__OCPSolver__getFfcn" c_CasADi__OCPSolver__getFfcn
-  :: Ptr OCPSolver' -> IO (Ptr Function')
-casADi__OCPSolver__getFfcn
-  :: OCPSolver -> IO Function
-casADi__OCPSolver__getFfcn x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__OCPSolver__getFfcn x0' >>= wrapReturn
-
--- classy wrapper
-ocpSolver_getFfcn :: OCPSolverClass a => a -> IO Function
-ocpSolver_getFfcn x = casADi__OCPSolver__getFfcn (castOCPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OCPSolver__getMfcn" c_CasADi__OCPSolver__getMfcn
-  :: Ptr OCPSolver' -> IO (Ptr Function')
-casADi__OCPSolver__getMfcn
-  :: OCPSolver -> IO Function
-casADi__OCPSolver__getMfcn x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__OCPSolver__getMfcn x0' >>= wrapReturn
-
--- classy wrapper
-ocpSolver_getMfcn :: OCPSolverClass a => a -> IO Function
-ocpSolver_getMfcn x = casADi__OCPSolver__getMfcn (castOCPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OCPSolver__getCfcn" c_CasADi__OCPSolver__getCfcn
-  :: Ptr OCPSolver' -> IO (Ptr Function')
-casADi__OCPSolver__getCfcn
-  :: OCPSolver -> IO Function
-casADi__OCPSolver__getCfcn x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__OCPSolver__getCfcn x0' >>= wrapReturn
-
--- classy wrapper
-ocpSolver_getCfcn :: OCPSolverClass a => a -> IO Function
-ocpSolver_getCfcn x = casADi__OCPSolver__getCfcn (castOCPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OCPSolver__getRfcn" c_CasADi__OCPSolver__getRfcn
-  :: Ptr OCPSolver' -> IO (Ptr Function')
-casADi__OCPSolver__getRfcn
-  :: OCPSolver -> IO Function
-casADi__OCPSolver__getRfcn x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__OCPSolver__getRfcn x0' >>= wrapReturn
-
--- classy wrapper
-ocpSolver_getRfcn :: OCPSolverClass a => a -> IO Function
-ocpSolver_getRfcn x = casADi__OCPSolver__getRfcn (castOCPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OCPSolver__OCPSolver" c_CasADi__OCPSolver__OCPSolver
-  :: IO (Ptr OCPSolver')
-casADi__OCPSolver__OCPSolver
-  :: IO OCPSolver
-casADi__OCPSolver__OCPSolver  =
-  c_CasADi__OCPSolver__OCPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-ocpSolver :: IO OCPSolver
-ocpSolver = casADi__OCPSolver__OCPSolver
-
diff --git a/Casadi/Wrappers/Classes/OldCollocationIntegrator.hs b/Casadi/Wrappers/Classes/OldCollocationIntegrator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/OldCollocationIntegrator.hs
+++ /dev/null
@@ -1,185 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.OldCollocationIntegrator
-       (
-         OldCollocationIntegrator,
-         OldCollocationIntegratorClass(..),
-         oldCollocationIntegrator,
-         oldCollocationIntegrator',
-         oldCollocationIntegrator'',
-         oldCollocationIntegrator_checkNode,
-         oldCollocationIntegrator_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 OldCollocationIntegrator where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__OldCollocationIntegrator__checkNode" c_CasADi__OldCollocationIntegrator__checkNode
-  :: Ptr OldCollocationIntegrator' -> IO CInt
-casADi__OldCollocationIntegrator__checkNode
-  :: OldCollocationIntegrator -> IO Bool
-casADi__OldCollocationIntegrator__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__OldCollocationIntegrator__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-oldCollocationIntegrator_checkNode :: OldCollocationIntegratorClass a => a -> IO Bool
-oldCollocationIntegrator_checkNode x = casADi__OldCollocationIntegrator__checkNode (castOldCollocationIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OldCollocationIntegrator__creator" c_CasADi__OldCollocationIntegrator__creator
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr Integrator')
-casADi__OldCollocationIntegrator__creator
-  :: Function -> Function -> IO Integrator
-casADi__OldCollocationIntegrator__creator x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OldCollocationIntegrator__creator x0' x1' >>= wrapReturn
-
--- classy wrapper
-oldCollocationIntegrator_creator :: Function -> Function -> IO Integrator
-oldCollocationIntegrator_creator = casADi__OldCollocationIntegrator__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OldCollocationIntegrator__OldCollocationIntegrator" c_CasADi__OldCollocationIntegrator__OldCollocationIntegrator
-  :: IO (Ptr OldCollocationIntegrator')
-casADi__OldCollocationIntegrator__OldCollocationIntegrator
-  :: IO OldCollocationIntegrator
-casADi__OldCollocationIntegrator__OldCollocationIntegrator  =
-  c_CasADi__OldCollocationIntegrator__OldCollocationIntegrator  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::OldCollocationIntegrator::OldCollocationIntegrator()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::OldCollocationIntegrator::OldCollocationIntegrator(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. .         |
->+-----------+-------+-------------------------------------------+
--}
-oldCollocationIntegrator :: IO OldCollocationIntegrator
-oldCollocationIntegrator = casADi__OldCollocationIntegrator__OldCollocationIntegrator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OldCollocationIntegrator__OldCollocationIntegrator_TIC" c_CasADi__OldCollocationIntegrator__OldCollocationIntegrator_TIC
-  :: Ptr Function' -> Ptr Function' -> IO (Ptr OldCollocationIntegrator')
-casADi__OldCollocationIntegrator__OldCollocationIntegrator'
-  :: Function -> Function -> IO OldCollocationIntegrator
-casADi__OldCollocationIntegrator__OldCollocationIntegrator' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OldCollocationIntegrator__OldCollocationIntegrator_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-oldCollocationIntegrator' :: Function -> Function -> IO OldCollocationIntegrator
-oldCollocationIntegrator' = casADi__OldCollocationIntegrator__OldCollocationIntegrator'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OldCollocationIntegrator__OldCollocationIntegrator_TIC_TIC" c_CasADi__OldCollocationIntegrator__OldCollocationIntegrator_TIC_TIC
-  :: Ptr Function' -> IO (Ptr OldCollocationIntegrator')
-casADi__OldCollocationIntegrator__OldCollocationIntegrator''
-  :: Function -> IO OldCollocationIntegrator
-casADi__OldCollocationIntegrator__OldCollocationIntegrator'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__OldCollocationIntegrator__OldCollocationIntegrator_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-oldCollocationIntegrator'' :: Function -> IO OldCollocationIntegrator
-oldCollocationIntegrator'' = casADi__OldCollocationIntegrator__OldCollocationIntegrator''
-
diff --git a/Casadi/Wrappers/Classes/OptionsFunctionality.hs b/Casadi/Wrappers/Classes/OptionsFunctionality.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/OptionsFunctionality.hs
+++ /dev/null
@@ -1,407 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.OptionsFunctionality
-       (
-         OptionsFunctionality,
-         OptionsFunctionalityClass(..),
-         optionsFunctionality,
-         optionsFunctionality_checkNode,
-         optionsFunctionality_copyOptions,
-         optionsFunctionality_copyOptions',
-         optionsFunctionality_getOption,
-         optionsFunctionality_getOptionAllowed,
-         optionsFunctionality_getOptionAllowedIndex,
-         optionsFunctionality_getOptionDefault,
-         optionsFunctionality_getOptionDescription,
-         optionsFunctionality_getOptionEnumValue,
-         optionsFunctionality_getOptionNames,
-         optionsFunctionality_getOptionType,
-         optionsFunctionality_getOptionTypeName,
-         optionsFunctionality_hasOption,
-         optionsFunctionality_hasSetOption,
-         optionsFunctionality_printOptions',
-         optionsFunctionality_setOption,
-         optionsFunctionality_setOptionByAllowedIndex,
-         optionsFunctionality_setOptionByEnumValue,
-       ) 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 OptionsFunctionality where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__setOption" c_CasADi__OptionsFunctionality__setOption
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> Ptr GenericType' -> IO ()
-casADi__OptionsFunctionality__setOption
-  :: OptionsFunctionality -> String -> GenericType -> IO ()
-casADi__OptionsFunctionality__setOption x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__OptionsFunctionality__setOption x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::OptionsFunctionality::setOption(const std::string &str, const GenericType &val)
->------------------------------------------------------------------------
->
->set an option. For a list of options, check the class documentation of this
->class.
->
->The setOptions are only considered before the init function. If properties
->changes, the init function should be called again.
->
->>  void CasADi::OptionsFunctionality::setOption(const Dictionary &dict, bool skipUnknown=false)
->------------------------------------------------------------------------
->
->set a set of options. For a list of options, check the class documentation
->of this class.
->
->The setOptions are only considered before the init function. If properties
->changes, the init function should be called again.
--}
-optionsFunctionality_setOption :: OptionsFunctionalityClass a => a -> String -> GenericType -> IO ()
-optionsFunctionality_setOption x = casADi__OptionsFunctionality__setOption (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__getOption" c_CasADi__OptionsFunctionality__getOption
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO (Ptr GenericType')
-casADi__OptionsFunctionality__getOption
-  :: OptionsFunctionality -> String -> IO GenericType
-casADi__OptionsFunctionality__getOption x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOption x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->get an option value
--}
-optionsFunctionality_getOption :: OptionsFunctionalityClass a => a -> String -> IO GenericType
-optionsFunctionality_getOption x = casADi__OptionsFunctionality__getOption (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__hasOption" c_CasADi__OptionsFunctionality__hasOption
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO CInt
-casADi__OptionsFunctionality__hasOption
-  :: OptionsFunctionality -> String -> IO Bool
-casADi__OptionsFunctionality__hasOption x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__hasOption x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->check if there is an option str
--}
-optionsFunctionality_hasOption :: OptionsFunctionalityClass a => a -> String -> IO Bool
-optionsFunctionality_hasOption x = casADi__OptionsFunctionality__hasOption (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__hasSetOption" c_CasADi__OptionsFunctionality__hasSetOption
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO CInt
-casADi__OptionsFunctionality__hasSetOption
-  :: OptionsFunctionality -> String -> IO Bool
-casADi__OptionsFunctionality__hasSetOption x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__hasSetOption x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->check if the user has there is an option str
--}
-optionsFunctionality_hasSetOption :: OptionsFunctionalityClass a => a -> String -> IO Bool
-optionsFunctionality_hasSetOption x = casADi__OptionsFunctionality__hasSetOption (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__printOptions_TIC" c_CasADi__OptionsFunctionality__printOptions_TIC
-  :: Ptr OptionsFunctionality' -> IO ()
-casADi__OptionsFunctionality__printOptions'
-  :: OptionsFunctionality -> IO ()
-casADi__OptionsFunctionality__printOptions' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__OptionsFunctionality__printOptions_TIC x0' >>= wrapReturn
-
--- classy wrapper
-optionsFunctionality_printOptions' :: OptionsFunctionalityClass a => a -> IO ()
-optionsFunctionality_printOptions' x = casADi__OptionsFunctionality__printOptions' (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__copyOptions" c_CasADi__OptionsFunctionality__copyOptions
-  :: Ptr OptionsFunctionality' -> Ptr OptionsFunctionality' -> CInt -> IO ()
-casADi__OptionsFunctionality__copyOptions
-  :: OptionsFunctionality -> OptionsFunctionality -> Bool -> IO ()
-casADi__OptionsFunctionality__copyOptions x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__OptionsFunctionality__copyOptions x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Copy all options from another object.
--}
-optionsFunctionality_copyOptions :: OptionsFunctionalityClass a => a -> OptionsFunctionality -> Bool -> IO ()
-optionsFunctionality_copyOptions x = casADi__OptionsFunctionality__copyOptions (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__copyOptions_TIC" c_CasADi__OptionsFunctionality__copyOptions_TIC
-  :: Ptr OptionsFunctionality' -> Ptr OptionsFunctionality' -> IO ()
-casADi__OptionsFunctionality__copyOptions'
-  :: OptionsFunctionality -> OptionsFunctionality -> IO ()
-casADi__OptionsFunctionality__copyOptions' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__copyOptions_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-optionsFunctionality_copyOptions' :: OptionsFunctionalityClass a => a -> OptionsFunctionality -> IO ()
-optionsFunctionality_copyOptions' x = casADi__OptionsFunctionality__copyOptions' (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__checkNode" c_CasADi__OptionsFunctionality__checkNode
-  :: Ptr OptionsFunctionality' -> IO CInt
-casADi__OptionsFunctionality__checkNode
-  :: OptionsFunctionality -> IO Bool
-casADi__OptionsFunctionality__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__OptionsFunctionality__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]
->Assert that the node is pointing to the right type of object
--}
-optionsFunctionality_checkNode :: OptionsFunctionalityClass a => a -> IO Bool
-optionsFunctionality_checkNode x = casADi__OptionsFunctionality__checkNode (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__getOptionNames" c_CasADi__OptionsFunctionality__getOptionNames
-  :: Ptr OptionsFunctionality' -> IO (Ptr (CppVec (Ptr StdString')))
-casADi__OptionsFunctionality__getOptionNames
-  :: OptionsFunctionality -> IO (Vector String)
-casADi__OptionsFunctionality__getOptionNames x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__OptionsFunctionality__getOptionNames x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->INTERNAL.
->
->Get a list of all option names
--}
-optionsFunctionality_getOptionNames :: OptionsFunctionalityClass a => a -> IO (Vector String)
-optionsFunctionality_getOptionNames x = casADi__OptionsFunctionality__getOptionNames (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__getOptionDescription" c_CasADi__OptionsFunctionality__getOptionDescription
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO (Ptr StdString')
-casADi__OptionsFunctionality__getOptionDescription
-  :: OptionsFunctionality -> String -> IO String
-casADi__OptionsFunctionality__getOptionDescription x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOptionDescription x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the description of a certain option.
--}
-optionsFunctionality_getOptionDescription :: OptionsFunctionalityClass a => a -> String -> IO String
-optionsFunctionality_getOptionDescription x = casADi__OptionsFunctionality__getOptionDescription (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__getOptionType" c_CasADi__OptionsFunctionality__getOptionType
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO CInt
-casADi__OptionsFunctionality__getOptionType
-  :: OptionsFunctionality -> String -> IO Opt_type
-casADi__OptionsFunctionality__getOptionType x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOptionType x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the type of a certain option.
--}
-optionsFunctionality_getOptionType :: OptionsFunctionalityClass a => a -> String -> IO Opt_type
-optionsFunctionality_getOptionType x = casADi__OptionsFunctionality__getOptionType (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__getOptionTypeName" c_CasADi__OptionsFunctionality__getOptionTypeName
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO (Ptr StdString')
-casADi__OptionsFunctionality__getOptionTypeName
-  :: OptionsFunctionality -> String -> IO String
-casADi__OptionsFunctionality__getOptionTypeName x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOptionTypeName x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the type name of a certain option.
--}
-optionsFunctionality_getOptionTypeName :: OptionsFunctionalityClass a => a -> String -> IO String
-optionsFunctionality_getOptionTypeName x = casADi__OptionsFunctionality__getOptionTypeName (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__getOptionAllowed" c_CasADi__OptionsFunctionality__getOptionAllowed
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO (Ptr (CppVec (Ptr GenericType')))
-casADi__OptionsFunctionality__getOptionAllowed
-  :: OptionsFunctionality -> String -> IO (Vector GenericType)
-casADi__OptionsFunctionality__getOptionAllowed x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOptionAllowed x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the allowed values of a certain option.
--}
-optionsFunctionality_getOptionAllowed :: OptionsFunctionalityClass a => a -> String -> IO (Vector GenericType)
-optionsFunctionality_getOptionAllowed x = casADi__OptionsFunctionality__getOptionAllowed (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__getOptionAllowedIndex" c_CasADi__OptionsFunctionality__getOptionAllowedIndex
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO CInt
-casADi__OptionsFunctionality__getOptionAllowedIndex
-  :: OptionsFunctionality -> String -> IO Int
-casADi__OptionsFunctionality__getOptionAllowedIndex x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOptionAllowedIndex x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Get the index into allowed options of a certain option.
--}
-optionsFunctionality_getOptionAllowedIndex :: OptionsFunctionalityClass a => a -> String -> IO Int
-optionsFunctionality_getOptionAllowedIndex x = casADi__OptionsFunctionality__getOptionAllowedIndex (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__setOptionByAllowedIndex" c_CasADi__OptionsFunctionality__setOptionByAllowedIndex
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> CInt -> IO ()
-casADi__OptionsFunctionality__setOptionByAllowedIndex
-  :: OptionsFunctionality -> String -> Int -> IO ()
-casADi__OptionsFunctionality__setOptionByAllowedIndex x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__OptionsFunctionality__setOptionByAllowedIndex x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set a certain option by giving its index into the allowed
->values.
--}
-optionsFunctionality_setOptionByAllowedIndex :: OptionsFunctionalityClass a => a -> String -> Int -> IO ()
-optionsFunctionality_setOptionByAllowedIndex x = casADi__OptionsFunctionality__setOptionByAllowedIndex (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__getOptionEnumValue" c_CasADi__OptionsFunctionality__getOptionEnumValue
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO CInt
-casADi__OptionsFunctionality__getOptionEnumValue
-  :: OptionsFunctionality -> String -> IO Int
-casADi__OptionsFunctionality__getOptionEnumValue x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOptionEnumValue x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Get the enum value corresponding to th certain option.
--}
-optionsFunctionality_getOptionEnumValue :: OptionsFunctionalityClass a => a -> String -> IO Int
-optionsFunctionality_getOptionEnumValue x = casADi__OptionsFunctionality__getOptionEnumValue (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__setOptionByEnumValue" c_CasADi__OptionsFunctionality__setOptionByEnumValue
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> CInt -> IO ()
-casADi__OptionsFunctionality__setOptionByEnumValue
-  :: OptionsFunctionality -> String -> Int -> IO ()
-casADi__OptionsFunctionality__setOptionByEnumValue x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__OptionsFunctionality__setOptionByEnumValue x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set a certain option by giving an enum value.
--}
-optionsFunctionality_setOptionByEnumValue :: OptionsFunctionalityClass a => a -> String -> Int -> IO ()
-optionsFunctionality_setOptionByEnumValue x = casADi__OptionsFunctionality__setOptionByEnumValue (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__getOptionDefault" c_CasADi__OptionsFunctionality__getOptionDefault
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO (Ptr GenericType')
-casADi__OptionsFunctionality__getOptionDefault
-  :: OptionsFunctionality -> String -> IO GenericType
-casADi__OptionsFunctionality__getOptionDefault x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOptionDefault x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->INTERNAL.
->
->Get the default of a certain option
--}
-optionsFunctionality_getOptionDefault :: OptionsFunctionalityClass a => a -> String -> IO GenericType
-optionsFunctionality_getOptionDefault x = casADi__OptionsFunctionality__getOptionDefault (castOptionsFunctionality x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__OptionsFunctionality__OptionsFunctionality" c_CasADi__OptionsFunctionality__OptionsFunctionality
-  :: IO (Ptr OptionsFunctionality')
-casADi__OptionsFunctionality__OptionsFunctionality
-  :: IO OptionsFunctionality
-casADi__OptionsFunctionality__OptionsFunctionality  =
-  c_CasADi__OptionsFunctionality__OptionsFunctionality  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-optionsFunctionality :: IO OptionsFunctionality
-optionsFunctionality = casADi__OptionsFunctionality__OptionsFunctionality
-
diff --git a/Casadi/Wrappers/Classes/Parallelizer.hs b/Casadi/Wrappers/Classes/Parallelizer.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/Parallelizer.hs
+++ /dev/null
@@ -1,71 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.Parallelizer
-       (
-         Parallelizer,
-         ParallelizerClass(..),
-         parallelizer,
-         parallelizer',
-       ) 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 Parallelizer where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Parallelizer__Parallelizer" c_CasADi__Parallelizer__Parallelizer
-  :: IO (Ptr Parallelizer')
-casADi__Parallelizer__Parallelizer
-  :: IO Parallelizer
-casADi__Parallelizer__Parallelizer  =
-  c_CasADi__Parallelizer__Parallelizer  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::Parallelizer::Parallelizer()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::Parallelizer::Parallelizer(const std::vector< Function > &funcs)
->------------------------------------------------------------------------
->
->Create a Parallelizer.
--}
-parallelizer :: IO Parallelizer
-parallelizer = casADi__Parallelizer__Parallelizer
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Parallelizer__Parallelizer_TIC" c_CasADi__Parallelizer__Parallelizer_TIC
-  :: Ptr (CppVec (Ptr Function')) -> IO (Ptr Parallelizer')
-casADi__Parallelizer__Parallelizer'
-  :: Vector Function -> IO Parallelizer
-casADi__Parallelizer__Parallelizer' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Parallelizer__Parallelizer_TIC x0' >>= wrapReturn
-
--- classy wrapper
-parallelizer' :: Vector Function -> IO Parallelizer
-parallelizer' = casADi__Parallelizer__Parallelizer'
-
diff --git a/Casadi/Wrappers/Classes/PrintableObject.hs b/Casadi/Wrappers/Classes/PrintableObject.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/PrintableObject.hs
+++ /dev/null
@@ -1,66 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.PrintableObject
-       (
-         PrintableObject,
-         PrintableObjectClass(..),
-         printableObject_getDescription,
-         printableObject_getRepresentation,
-       ) 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.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 PrintableObject where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__PrintableObject__getRepresentation" c_CasADi__PrintableObject__getRepresentation
-  :: Ptr PrintableObject' -> IO (Ptr StdString')
-casADi__PrintableObject__getRepresentation
-  :: PrintableObject -> IO String
-casADi__PrintableObject__getRepresentation x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__PrintableObject__getRepresentation x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Return a string with a representation (for SWIG)
--}
-printableObject_getRepresentation :: PrintableObjectClass a => a -> IO String
-printableObject_getRepresentation x = casADi__PrintableObject__getRepresentation (castPrintableObject x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__PrintableObject__getDescription" c_CasADi__PrintableObject__getDescription
-  :: Ptr PrintableObject' -> IO (Ptr StdString')
-casADi__PrintableObject__getDescription
-  :: PrintableObject -> IO String
-casADi__PrintableObject__getDescription x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__PrintableObject__getDescription x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Return a string with a destription (for SWIG)
--}
-printableObject_getDescription :: PrintableObjectClass a => a -> IO String
-printableObject_getDescription x = casADi__PrintableObject__getDescription (castPrintableObject x)
-
diff --git a/Casadi/Wrappers/Classes/QCQPQPSolver.hs b/Casadi/Wrappers/Classes/QCQPQPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/QCQPQPSolver.hs
+++ /dev/null
@@ -1,127 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.QCQPQPSolver
-       (
-         QCQPQPSolver,
-         QCQPQPSolverClass(..),
-         qcqpqpSolver,
-         qcqpqpSolver',
-         qcqpqpSolver_checkNode,
-         qcqpqpSolver_creator,
-         qcqpqpSolver_getSolver,
-       ) 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 QCQPQPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__QCQPQPSolver__checkNode" c_CasADi__QCQPQPSolver__checkNode
-  :: Ptr QCQPQPSolver' -> IO CInt
-casADi__QCQPQPSolver__checkNode
-  :: QCQPQPSolver -> IO Bool
-casADi__QCQPQPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QCQPQPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-qcqpqpSolver_checkNode :: QCQPQPSolverClass a => a -> IO Bool
-qcqpqpSolver_checkNode x = casADi__QCQPQPSolver__checkNode (castQCQPQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QCQPQPSolver__creator" c_CasADi__QCQPQPSolver__creator
-  :: Ptr QPStructure' -> IO (Ptr QPSolver')
-casADi__QCQPQPSolver__creator
-  :: QPStructure -> IO QPSolver
-casADi__QCQPQPSolver__creator x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QCQPQPSolver__creator x0' >>= wrapReturn
-
--- classy wrapper
-qcqpqpSolver_creator :: QPStructure -> IO QPSolver
-qcqpqpSolver_creator = casADi__QCQPQPSolver__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QCQPQPSolver__getSolver" c_CasADi__QCQPQPSolver__getSolver
-  :: Ptr QCQPQPSolver' -> IO (Ptr QCQPSolver')
-casADi__QCQPQPSolver__getSolver
-  :: QCQPQPSolver -> IO QCQPSolver
-casADi__QCQPQPSolver__getSolver x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QCQPQPSolver__getSolver x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access underlying QCQP solver.
--}
-qcqpqpSolver_getSolver :: QCQPQPSolverClass a => a -> IO QCQPSolver
-qcqpqpSolver_getSolver x = casADi__QCQPQPSolver__getSolver (castQCQPQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QCQPQPSolver__QCQPQPSolver" c_CasADi__QCQPQPSolver__QCQPQPSolver
-  :: IO (Ptr QCQPQPSolver')
-casADi__QCQPQPSolver__QCQPQPSolver
-  :: IO QCQPQPSolver
-casADi__QCQPQPSolver__QCQPQPSolver  =
-  c_CasADi__QCQPQPSolver__QCQPQPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::QCQPQPSolver::QCQPQPSolver()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::QCQPQPSolver::QCQPQPSolver(const QPStructure &st)
->------------------------------------------------------------------------
->
->Constructor.
->
->Parameters:
->-----------
->
->st:  Problem structure
--}
-qcqpqpSolver :: IO QCQPQPSolver
-qcqpqpSolver = casADi__QCQPQPSolver__QCQPQPSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QCQPQPSolver__QCQPQPSolver_TIC" c_CasADi__QCQPQPSolver__QCQPQPSolver_TIC
-  :: Ptr QPStructure' -> IO (Ptr QCQPQPSolver')
-casADi__QCQPQPSolver__QCQPQPSolver'
-  :: QPStructure -> IO QCQPQPSolver
-casADi__QCQPQPSolver__QCQPQPSolver' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QCQPQPSolver__QCQPQPSolver_TIC x0' >>= wrapReturn
-
--- classy wrapper
-qcqpqpSolver' :: QPStructure -> IO QCQPQPSolver
-qcqpqpSolver' = casADi__QCQPQPSolver__QCQPQPSolver'
-
diff --git a/Casadi/Wrappers/Classes/QCQPSolver.hs b/Casadi/Wrappers/Classes/QCQPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/QCQPSolver.hs
+++ /dev/null
@@ -1,84 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.QCQPSolver
-       (
-         QCQPSolver,
-         QCQPSolverClass(..),
-         qcqpSolver,
-         qcqpSolver_checkNode,
-         qcqpSolver_setQPOptions,
-       ) 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 QCQPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__QCQPSolver__checkNode" c_CasADi__QCQPSolver__checkNode
-  :: Ptr QCQPSolver' -> IO CInt
-casADi__QCQPSolver__checkNode
-  :: QCQPSolver -> IO Bool
-casADi__QCQPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QCQPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-qcqpSolver_checkNode :: QCQPSolverClass a => a -> IO Bool
-qcqpSolver_checkNode x = casADi__QCQPSolver__checkNode (castQCQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QCQPSolver__setQPOptions" c_CasADi__QCQPSolver__setQPOptions
-  :: Ptr QCQPSolver' -> IO ()
-casADi__QCQPSolver__setQPOptions
-  :: QCQPSolver -> IO ()
-casADi__QCQPSolver__setQPOptions x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QCQPSolver__setQPOptions x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set options that make the QP solver more suitable for solving LPs.
--}
-qcqpSolver_setQPOptions :: QCQPSolverClass a => a -> IO ()
-qcqpSolver_setQPOptions x = casADi__QCQPSolver__setQPOptions (castQCQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QCQPSolver__QCQPSolver" c_CasADi__QCQPSolver__QCQPSolver
-  :: IO (Ptr QCQPSolver')
-casADi__QCQPSolver__QCQPSolver
-  :: IO QCQPSolver
-casADi__QCQPSolver__QCQPSolver  =
-  c_CasADi__QCQPSolver__QCQPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-qcqpSolver :: IO QCQPSolver
-qcqpSolver = casADi__QCQPSolver__QCQPSolver
-
diff --git a/Casadi/Wrappers/Classes/QCQPStructure.hs b/Casadi/Wrappers/Classes/QCQPStructure.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/QCQPStructure.hs
+++ /dev/null
@@ -1,49 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.QCQPStructure
-       (
-         QCQPStructure,
-         QCQPStructureClass(..),
-         qcqpStructure,
-       ) 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 QCQPStructure where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__QCQPStructIOSchemeVector_CasADi__Sparsity___QCQPStructure" c_CasADi__QCQPStructIOSchemeVector_CasADi__Sparsity___QCQPStructure
-  :: Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr QCQPStructure')
-casADi__QCQPStructIOSchemeVector_CasADi__Sparsity___QCQPStructure
-  :: Vector Sparsity -> IO QCQPStructure
-casADi__QCQPStructIOSchemeVector_CasADi__Sparsity___QCQPStructure x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QCQPStructIOSchemeVector_CasADi__Sparsity___QCQPStructure x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-qcqpStructure :: Vector Sparsity -> IO QCQPStructure
-qcqpStructure = casADi__QCQPStructIOSchemeVector_CasADi__Sparsity___QCQPStructure
-
diff --git a/Casadi/Wrappers/Classes/QPLPSolver.hs b/Casadi/Wrappers/Classes/QPLPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/QPLPSolver.hs
+++ /dev/null
@@ -1,127 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.QPLPSolver
-       (
-         QPLPSolver,
-         QPLPSolverClass(..),
-         qplpSolver,
-         qplpSolver',
-         qplpSolver_checkNode,
-         qplpSolver_creator,
-         qplpSolver_getSolver,
-       ) 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 QPLPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPLPSolver__checkNode" c_CasADi__QPLPSolver__checkNode
-  :: Ptr QPLPSolver' -> IO CInt
-casADi__QPLPSolver__checkNode
-  :: QPLPSolver -> IO Bool
-casADi__QPLPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QPLPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-qplpSolver_checkNode :: QPLPSolverClass a => a -> IO Bool
-qplpSolver_checkNode x = casADi__QPLPSolver__checkNode (castQPLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPLPSolver__creator" c_CasADi__QPLPSolver__creator
-  :: Ptr LPStructure' -> IO (Ptr LPSolver')
-casADi__QPLPSolver__creator
-  :: LPStructure -> IO LPSolver
-casADi__QPLPSolver__creator x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QPLPSolver__creator x0' >>= wrapReturn
-
--- classy wrapper
-qplpSolver_creator :: LPStructure -> IO LPSolver
-qplpSolver_creator = casADi__QPLPSolver__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPLPSolver__getSolver" c_CasADi__QPLPSolver__getSolver
-  :: Ptr QPLPSolver' -> IO (Ptr QPSolver')
-casADi__QPLPSolver__getSolver
-  :: QPLPSolver -> IO QPSolver
-casADi__QPLPSolver__getSolver x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QPLPSolver__getSolver x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access underlying QP solver.
--}
-qplpSolver_getSolver :: QPLPSolverClass a => a -> IO QPSolver
-qplpSolver_getSolver x = casADi__QPLPSolver__getSolver (castQPLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPLPSolver__QPLPSolver" c_CasADi__QPLPSolver__QPLPSolver
-  :: IO (Ptr QPLPSolver')
-casADi__QPLPSolver__QPLPSolver
-  :: IO QPLPSolver
-casADi__QPLPSolver__QPLPSolver  =
-  c_CasADi__QPLPSolver__QPLPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::QPLPSolver::QPLPSolver()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::QPLPSolver::QPLPSolver(const LPStructure &st)
->------------------------------------------------------------------------
->
->Constructor.
->
->Parameters:
->-----------
->
->st:  Problem structure
--}
-qplpSolver :: IO QPLPSolver
-qplpSolver = casADi__QPLPSolver__QPLPSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPLPSolver__QPLPSolver_TIC" c_CasADi__QPLPSolver__QPLPSolver_TIC
-  :: Ptr LPStructure' -> IO (Ptr QPLPSolver')
-casADi__QPLPSolver__QPLPSolver'
-  :: LPStructure -> IO QPLPSolver
-casADi__QPLPSolver__QPLPSolver' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QPLPSolver__QPLPSolver_TIC x0' >>= wrapReturn
-
--- classy wrapper
-qplpSolver' :: LPStructure -> IO QPLPSolver
-qplpSolver' = casADi__QPLPSolver__QPLPSolver'
-
diff --git a/Casadi/Wrappers/Classes/QPSolver.hs b/Casadi/Wrappers/Classes/QPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/QPSolver.hs
+++ /dev/null
@@ -1,103 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.QPSolver
-       (
-         QPSolver,
-         QPSolverClass(..),
-         qpSolver,
-         qpSolver_checkNode,
-         qpSolver_generateNativeCode,
-         qpSolver_setLPOptions,
-       ) 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 QPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPSolver__checkNode" c_CasADi__QPSolver__checkNode
-  :: Ptr QPSolver' -> IO CInt
-casADi__QPSolver__checkNode
-  :: QPSolver -> IO Bool
-casADi__QPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-qpSolver_checkNode :: QPSolverClass a => a -> IO Bool
-qpSolver_checkNode x = casADi__QPSolver__checkNode (castQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPSolver__setLPOptions" c_CasADi__QPSolver__setLPOptions
-  :: Ptr QPSolver' -> IO ()
-casADi__QPSolver__setLPOptions
-  :: QPSolver -> IO ()
-casADi__QPSolver__setLPOptions x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QPSolver__setLPOptions x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set options that make the QP solver more suitable for solving LPs.
--}
-qpSolver_setLPOptions :: QPSolverClass a => a -> IO ()
-qpSolver_setLPOptions x = casADi__QPSolver__setLPOptions (castQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPSolver__generateNativeCode" c_CasADi__QPSolver__generateNativeCode
-  :: Ptr QPSolver' -> Ptr StdString' -> IO ()
-casADi__QPSolver__generateNativeCode
-  :: QPSolver -> String -> IO ()
-casADi__QPSolver__generateNativeCode x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__QPSolver__generateNativeCode x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Generate native code in the interfaced language for debugging
--}
-qpSolver_generateNativeCode :: QPSolverClass a => a -> String -> IO ()
-qpSolver_generateNativeCode x = casADi__QPSolver__generateNativeCode (castQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPSolver__QPSolver" c_CasADi__QPSolver__QPSolver
-  :: IO (Ptr QPSolver')
-casADi__QPSolver__QPSolver
-  :: IO QPSolver
-casADi__QPSolver__QPSolver  =
-  c_CasADi__QPSolver__QPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-qpSolver :: IO QPSolver
-qpSolver = casADi__QPSolver__QPSolver
-
diff --git a/Casadi/Wrappers/Classes/QPStabilizer.hs b/Casadi/Wrappers/Classes/QPStabilizer.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/QPStabilizer.hs
+++ /dev/null
@@ -1,127 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.QPStabilizer
-       (
-         QPStabilizer,
-         QPStabilizerClass(..),
-         qpStabilizer,
-         qpStabilizer',
-         qpStabilizer_checkNode,
-         qpStabilizer_creator,
-         qpStabilizer_getSolver,
-       ) 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 QPStabilizer where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPStabilizer__checkNode" c_CasADi__QPStabilizer__checkNode
-  :: Ptr QPStabilizer' -> IO CInt
-casADi__QPStabilizer__checkNode
-  :: QPStabilizer -> IO Bool
-casADi__QPStabilizer__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QPStabilizer__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-qpStabilizer_checkNode :: QPStabilizerClass a => a -> IO Bool
-qpStabilizer_checkNode x = casADi__QPStabilizer__checkNode (castQPStabilizer x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPStabilizer__creator" c_CasADi__QPStabilizer__creator
-  :: Ptr QPStructure' -> IO (Ptr StabilizedQPSolver')
-casADi__QPStabilizer__creator
-  :: QPStructure -> IO StabilizedQPSolver
-casADi__QPStabilizer__creator x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QPStabilizer__creator x0' >>= wrapReturn
-
--- classy wrapper
-qpStabilizer_creator :: QPStructure -> IO StabilizedQPSolver
-qpStabilizer_creator = casADi__QPStabilizer__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPStabilizer__getSolver" c_CasADi__QPStabilizer__getSolver
-  :: Ptr QPStabilizer' -> IO (Ptr QPSolver')
-casADi__QPStabilizer__getSolver
-  :: QPStabilizer -> IO QPSolver
-casADi__QPStabilizer__getSolver x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QPStabilizer__getSolver x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access underlying QP solver.
--}
-qpStabilizer_getSolver :: QPStabilizerClass a => a -> IO QPSolver
-qpStabilizer_getSolver x = casADi__QPStabilizer__getSolver (castQPStabilizer x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPStabilizer__QPStabilizer" c_CasADi__QPStabilizer__QPStabilizer
-  :: IO (Ptr QPStabilizer')
-casADi__QPStabilizer__QPStabilizer
-  :: IO QPStabilizer
-casADi__QPStabilizer__QPStabilizer  =
-  c_CasADi__QPStabilizer__QPStabilizer  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::QPStabilizer::QPStabilizer()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::QPStabilizer::QPStabilizer(const QPStructure &st)
->------------------------------------------------------------------------
->
->Constructor.
->
->Parameters:
->-----------
->
->st:  Problem structure
--}
-qpStabilizer :: IO QPStabilizer
-qpStabilizer = casADi__QPStabilizer__QPStabilizer
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPStabilizer__QPStabilizer_TIC" c_CasADi__QPStabilizer__QPStabilizer_TIC
-  :: Ptr QPStructure' -> IO (Ptr QPStabilizer')
-casADi__QPStabilizer__QPStabilizer'
-  :: QPStructure -> IO QPStabilizer
-casADi__QPStabilizer__QPStabilizer' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QPStabilizer__QPStabilizer_TIC x0' >>= wrapReturn
-
--- classy wrapper
-qpStabilizer' :: QPStructure -> IO QPStabilizer
-qpStabilizer' = casADi__QPStabilizer__QPStabilizer'
-
diff --git a/Casadi/Wrappers/Classes/QPStructure.hs b/Casadi/Wrappers/Classes/QPStructure.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/QPStructure.hs
+++ /dev/null
@@ -1,49 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.QPStructure
-       (
-         QPStructure,
-         QPStructureClass(..),
-         qpStructure,
-       ) 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 QPStructure where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__QPStructIOSchemeVector_CasADi__Sparsity___QPStructure" c_CasADi__QPStructIOSchemeVector_CasADi__Sparsity___QPStructure
-  :: Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr QPStructure')
-casADi__QPStructIOSchemeVector_CasADi__Sparsity___QPStructure
-  :: Vector Sparsity -> IO QPStructure
-casADi__QPStructIOSchemeVector_CasADi__Sparsity___QPStructure x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__QPStructIOSchemeVector_CasADi__Sparsity___QPStructure x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-qpStructure :: Vector Sparsity -> IO QPStructure
-qpStructure = casADi__QPStructIOSchemeVector_CasADi__Sparsity___QPStructure
-
diff --git a/Casadi/Wrappers/Classes/RKIntegrator.hs b/Casadi/Wrappers/Classes/RKIntegrator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/RKIntegrator.hs
+++ /dev/null
@@ -1,185 +0,0 @@
-{-# 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''
-
diff --git a/Casadi/Wrappers/Classes/SCPgen.hs b/Casadi/Wrappers/Classes/SCPgen.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SCPgen.hs
+++ /dev/null
@@ -1,109 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SCPgen
-       (
-         SCPgen,
-         SCPgenClass(..),
-         scPgen,
-         scPgen',
-         scPgen_checkNode,
-         scPgen_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 SCPgen where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SCPgen__checkNode" c_CasADi__SCPgen__checkNode
-  :: Ptr SCPgen' -> IO CInt
-casADi__SCPgen__checkNode
-  :: SCPgen -> IO Bool
-casADi__SCPgen__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SCPgen__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-scPgen_checkNode :: SCPgenClass a => a -> IO Bool
-scPgen_checkNode x = casADi__SCPgen__checkNode (castSCPgen x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SCPgen__creator" c_CasADi__SCPgen__creator
-  :: Ptr Function' -> IO (Ptr NLPSolver')
-casADi__SCPgen__creator
-  :: Function -> IO NLPSolver
-casADi__SCPgen__creator x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SCPgen__creator x0' >>= wrapReturn
-
--- classy wrapper
-scPgen_creator :: Function -> IO NLPSolver
-scPgen_creator = casADi__SCPgen__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SCPgen__SCPgen" c_CasADi__SCPgen__SCPgen
-  :: IO (Ptr SCPgen')
-casADi__SCPgen__SCPgen
-  :: IO SCPgen
-casADi__SCPgen__SCPgen  =
-  c_CasADi__SCPgen__SCPgen  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::SCPgen::SCPgen()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::SCPgen::SCPgen(const Function &F, const Function &G)
->------------------------------------------------------------------------
->
->[DEPRECATED] Create an NLP solver instance (legacy syntax)
->
->>  CasADi::SCPgen::SCPgen(const Function &nlp)
->------------------------------------------------------------------------
->
->Create an NLP solver instance.
--}
-scPgen :: IO SCPgen
-scPgen = casADi__SCPgen__SCPgen
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SCPgen__SCPgen_TIC" c_CasADi__SCPgen__SCPgen_TIC
-  :: Ptr Function' -> IO (Ptr SCPgen')
-casADi__SCPgen__SCPgen'
-  :: Function -> IO SCPgen
-casADi__SCPgen__SCPgen' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SCPgen__SCPgen_TIC x0' >>= wrapReturn
-
--- classy wrapper
-scPgen' :: Function -> IO SCPgen
-scPgen' = casADi__SCPgen__SCPgen'
-
diff --git a/Casadi/Wrappers/Classes/SDPSDQPSolver.hs b/Casadi/Wrappers/Classes/SDPSDQPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SDPSDQPSolver.hs
+++ /dev/null
@@ -1,127 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SDPSDQPSolver
-       (
-         SDPSDQPSolver,
-         SDPSDQPSolverClass(..),
-         sdpsdqpSolver,
-         sdpsdqpSolver',
-         sdpsdqpSolver_checkNode,
-         sdpsdqpSolver_creator,
-         sdpsdqpSolver_getSolver,
-       ) 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 SDPSDQPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSDQPSolver__checkNode" c_CasADi__SDPSDQPSolver__checkNode
-  :: Ptr SDPSDQPSolver' -> IO CInt
-casADi__SDPSDQPSolver__checkNode
-  :: SDPSDQPSolver -> IO Bool
-casADi__SDPSDQPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDPSDQPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-sdpsdqpSolver_checkNode :: SDPSDQPSolverClass a => a -> IO Bool
-sdpsdqpSolver_checkNode x = casADi__SDPSDQPSolver__checkNode (castSDPSDQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSDQPSolver__creator" c_CasADi__SDPSDQPSolver__creator
-  :: Ptr SDQPStructure' -> IO (Ptr SDQPSolver')
-casADi__SDPSDQPSolver__creator
-  :: SDQPStructure -> IO SDQPSolver
-casADi__SDPSDQPSolver__creator x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDPSDQPSolver__creator x0' >>= wrapReturn
-
--- classy wrapper
-sdpsdqpSolver_creator :: SDQPStructure -> IO SDQPSolver
-sdpsdqpSolver_creator = casADi__SDPSDQPSolver__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSDQPSolver__getSolver" c_CasADi__SDPSDQPSolver__getSolver
-  :: Ptr SDPSDQPSolver' -> IO (Ptr SDPSolver')
-casADi__SDPSDQPSolver__getSolver
-  :: SDPSDQPSolver -> IO SDPSolver
-casADi__SDPSDQPSolver__getSolver x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDPSDQPSolver__getSolver x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access underlying SDP solver.
--}
-sdpsdqpSolver_getSolver :: SDPSDQPSolverClass a => a -> IO SDPSolver
-sdpsdqpSolver_getSolver x = casADi__SDPSDQPSolver__getSolver (castSDPSDQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSDQPSolver__SDPSDQPSolver" c_CasADi__SDPSDQPSolver__SDPSDQPSolver
-  :: IO (Ptr SDPSDQPSolver')
-casADi__SDPSDQPSolver__SDPSDQPSolver
-  :: IO SDPSDQPSolver
-casADi__SDPSDQPSolver__SDPSDQPSolver  =
-  c_CasADi__SDPSDQPSolver__SDPSDQPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::SDPSDQPSolver::SDPSDQPSolver()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::SDPSDQPSolver::SDPSDQPSolver(const SDQPStructure &st)
->------------------------------------------------------------------------
->
->Constructor.
->
->Parameters:
->-----------
->
->st:  Problem structure
--}
-sdpsdqpSolver :: IO SDPSDQPSolver
-sdpsdqpSolver = casADi__SDPSDQPSolver__SDPSDQPSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSDQPSolver__SDPSDQPSolver_TIC" c_CasADi__SDPSDQPSolver__SDPSDQPSolver_TIC
-  :: Ptr SDQPStructure' -> IO (Ptr SDPSDQPSolver')
-casADi__SDPSDQPSolver__SDPSDQPSolver'
-  :: SDQPStructure -> IO SDPSDQPSolver
-casADi__SDPSDQPSolver__SDPSDQPSolver' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDPSDQPSolver__SDPSDQPSolver_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sdpsdqpSolver' :: SDQPStructure -> IO SDPSDQPSolver
-sdpsdqpSolver' = casADi__SDPSDQPSolver__SDPSDQPSolver'
-
diff --git a/Casadi/Wrappers/Classes/SDPSOCPSolver.hs b/Casadi/Wrappers/Classes/SDPSOCPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SDPSOCPSolver.hs
+++ /dev/null
@@ -1,127 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SDPSOCPSolver
-       (
-         SDPSOCPSolver,
-         SDPSOCPSolverClass(..),
-         sdpsocpSolver,
-         sdpsocpSolver',
-         sdpsocpSolver_checkNode,
-         sdpsocpSolver_creator,
-         sdpsocpSolver_getSolver,
-       ) 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 SDPSOCPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSOCPSolver__checkNode" c_CasADi__SDPSOCPSolver__checkNode
-  :: Ptr SDPSOCPSolver' -> IO CInt
-casADi__SDPSOCPSolver__checkNode
-  :: SDPSOCPSolver -> IO Bool
-casADi__SDPSOCPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDPSOCPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-sdpsocpSolver_checkNode :: SDPSOCPSolverClass a => a -> IO Bool
-sdpsocpSolver_checkNode x = casADi__SDPSOCPSolver__checkNode (castSDPSOCPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSOCPSolver__creator" c_CasADi__SDPSOCPSolver__creator
-  :: Ptr SOCPStructure' -> IO (Ptr SOCPSolver')
-casADi__SDPSOCPSolver__creator
-  :: SOCPStructure -> IO SOCPSolver
-casADi__SDPSOCPSolver__creator x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDPSOCPSolver__creator x0' >>= wrapReturn
-
--- classy wrapper
-sdpsocpSolver_creator :: SOCPStructure -> IO SOCPSolver
-sdpsocpSolver_creator = casADi__SDPSOCPSolver__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSOCPSolver__getSolver" c_CasADi__SDPSOCPSolver__getSolver
-  :: Ptr SDPSOCPSolver' -> IO (Ptr SDPSolver')
-casADi__SDPSOCPSolver__getSolver
-  :: SDPSOCPSolver -> IO SDPSolver
-casADi__SDPSOCPSolver__getSolver x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDPSOCPSolver__getSolver x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access underlying SDP solver.
--}
-sdpsocpSolver_getSolver :: SDPSOCPSolverClass a => a -> IO SDPSolver
-sdpsocpSolver_getSolver x = casADi__SDPSOCPSolver__getSolver (castSDPSOCPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSOCPSolver__SDPSOCPSolver" c_CasADi__SDPSOCPSolver__SDPSOCPSolver
-  :: IO (Ptr SDPSOCPSolver')
-casADi__SDPSOCPSolver__SDPSOCPSolver
-  :: IO SDPSOCPSolver
-casADi__SDPSOCPSolver__SDPSOCPSolver  =
-  c_CasADi__SDPSOCPSolver__SDPSOCPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::SDPSOCPSolver::SDPSOCPSolver()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::SDPSOCPSolver::SDPSOCPSolver(const SOCPStructure &st)
->------------------------------------------------------------------------
->
->Constructor.
->
->Parameters:
->-----------
->
->st:  Problem structure
--}
-sdpsocpSolver :: IO SDPSOCPSolver
-sdpsocpSolver = casADi__SDPSOCPSolver__SDPSOCPSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSOCPSolver__SDPSOCPSolver_TIC" c_CasADi__SDPSOCPSolver__SDPSOCPSolver_TIC
-  :: Ptr SOCPStructure' -> IO (Ptr SDPSOCPSolver')
-casADi__SDPSOCPSolver__SDPSOCPSolver'
-  :: SOCPStructure -> IO SDPSOCPSolver
-casADi__SDPSOCPSolver__SDPSOCPSolver' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDPSOCPSolver__SDPSOCPSolver_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sdpsocpSolver' :: SOCPStructure -> IO SDPSOCPSolver
-sdpsocpSolver' = casADi__SDPSOCPSolver__SDPSOCPSolver'
-
diff --git a/Casadi/Wrappers/Classes/SDPSolver.hs b/Casadi/Wrappers/Classes/SDPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SDPSolver.hs
+++ /dev/null
@@ -1,84 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SDPSolver
-       (
-         SDPSolver,
-         SDPSolverClass(..),
-         sdpSolver,
-         sdpSolver_checkNode,
-         sdpSolver_setSOCPOptions,
-       ) 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 SDPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSolver__checkNode" c_CasADi__SDPSolver__checkNode
-  :: Ptr SDPSolver' -> IO CInt
-casADi__SDPSolver__checkNode
-  :: SDPSolver -> IO Bool
-casADi__SDPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-sdpSolver_checkNode :: SDPSolverClass a => a -> IO Bool
-sdpSolver_checkNode x = casADi__SDPSolver__checkNode (castSDPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSolver__setSOCPOptions" c_CasADi__SDPSolver__setSOCPOptions
-  :: Ptr SDPSolver' -> IO ()
-casADi__SDPSolver__setSOCPOptions
-  :: SDPSolver -> IO ()
-casADi__SDPSolver__setSOCPOptions x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDPSolver__setSOCPOptions x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set options that make the SDP solver more suitable for solving SOCPs.
--}
-sdpSolver_setSOCPOptions :: SDPSolverClass a => a -> IO ()
-sdpSolver_setSOCPOptions x = casADi__SDPSolver__setSOCPOptions (castSDPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPSolver__SDPSolver" c_CasADi__SDPSolver__SDPSolver
-  :: IO (Ptr SDPSolver')
-casADi__SDPSolver__SDPSolver
-  :: IO SDPSolver
-casADi__SDPSolver__SDPSolver  =
-  c_CasADi__SDPSolver__SDPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-sdpSolver :: IO SDPSolver
-sdpSolver = casADi__SDPSolver__SDPSolver
-
diff --git a/Casadi/Wrappers/Classes/SDPStructure.hs b/Casadi/Wrappers/Classes/SDPStructure.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SDPStructure.hs
+++ /dev/null
@@ -1,49 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SDPStructure
-       (
-         SDPStructure,
-         SDPStructureClass(..),
-         sdpStructure,
-       ) 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 SDPStructure where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDPStructIOSchemeVector_CasADi__Sparsity___SDPStructure" c_CasADi__SDPStructIOSchemeVector_CasADi__Sparsity___SDPStructure
-  :: Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr SDPStructure')
-casADi__SDPStructIOSchemeVector_CasADi__Sparsity___SDPStructure
-  :: Vector Sparsity -> IO SDPStructure
-casADi__SDPStructIOSchemeVector_CasADi__Sparsity___SDPStructure x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDPStructIOSchemeVector_CasADi__Sparsity___SDPStructure x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sdpStructure :: Vector Sparsity -> IO SDPStructure
-sdpStructure = casADi__SDPStructIOSchemeVector_CasADi__Sparsity___SDPStructure
-
diff --git a/Casadi/Wrappers/Classes/SDQPSolver.hs b/Casadi/Wrappers/Classes/SDQPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SDQPSolver.hs
+++ /dev/null
@@ -1,84 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SDQPSolver
-       (
-         SDQPSolver,
-         SDQPSolverClass(..),
-         sdqpSolver,
-         sdqpSolver_checkNode,
-         sdqpSolver_setSOCQPOptions,
-       ) 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 SDQPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDQPSolver__checkNode" c_CasADi__SDQPSolver__checkNode
-  :: Ptr SDQPSolver' -> IO CInt
-casADi__SDQPSolver__checkNode
-  :: SDQPSolver -> IO Bool
-casADi__SDQPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDQPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-sdqpSolver_checkNode :: SDQPSolverClass a => a -> IO Bool
-sdqpSolver_checkNode x = casADi__SDQPSolver__checkNode (castSDQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDQPSolver__setSOCQPOptions" c_CasADi__SDQPSolver__setSOCQPOptions
-  :: Ptr SDQPSolver' -> IO ()
-casADi__SDQPSolver__setSOCQPOptions
-  :: SDQPSolver -> IO ()
-casADi__SDQPSolver__setSOCQPOptions x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDQPSolver__setSOCQPOptions x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set options that make the SDQP solver more suitable for solving SOCPs.
--}
-sdqpSolver_setSOCQPOptions :: SDQPSolverClass a => a -> IO ()
-sdqpSolver_setSOCQPOptions x = casADi__SDQPSolver__setSOCQPOptions (castSDQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDQPSolver__SDQPSolver" c_CasADi__SDQPSolver__SDQPSolver
-  :: IO (Ptr SDQPSolver')
-casADi__SDQPSolver__SDQPSolver
-  :: IO SDQPSolver
-casADi__SDQPSolver__SDQPSolver  =
-  c_CasADi__SDQPSolver__SDQPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-sdqpSolver :: IO SDQPSolver
-sdqpSolver = casADi__SDQPSolver__SDQPSolver
-
diff --git a/Casadi/Wrappers/Classes/SDQPStructure.hs b/Casadi/Wrappers/Classes/SDQPStructure.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SDQPStructure.hs
+++ /dev/null
@@ -1,49 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SDQPStructure
-       (
-         SDQPStructure,
-         SDQPStructureClass(..),
-         sdqpStructure,
-       ) 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 SDQPStructure where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SDQPStructIOSchemeVector_CasADi__Sparsity___SDQPStructure" c_CasADi__SDQPStructIOSchemeVector_CasADi__Sparsity___SDQPStructure
-  :: Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr SDQPStructure')
-casADi__SDQPStructIOSchemeVector_CasADi__Sparsity___SDQPStructure
-  :: Vector Sparsity -> IO SDQPStructure
-casADi__SDQPStructIOSchemeVector_CasADi__Sparsity___SDQPStructure x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SDQPStructIOSchemeVector_CasADi__Sparsity___SDQPStructure x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sdqpStructure :: Vector Sparsity -> IO SDQPStructure
-sdqpStructure = casADi__SDQPStructIOSchemeVector_CasADi__Sparsity___SDQPStructure
-
diff --git a/Casadi/Wrappers/Classes/SOCPQCQPSolver.hs b/Casadi/Wrappers/Classes/SOCPQCQPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SOCPQCQPSolver.hs
+++ /dev/null
@@ -1,127 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SOCPQCQPSolver
-       (
-         SOCPQCQPSolver,
-         SOCPQCQPSolverClass(..),
-         socpqcqpSolver,
-         socpqcqpSolver',
-         socpqcqpSolver_checkNode,
-         socpqcqpSolver_creator,
-         socpqcqpSolver_getSolver,
-       ) 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 SOCPQCQPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SOCPQCQPSolver__checkNode" c_CasADi__SOCPQCQPSolver__checkNode
-  :: Ptr SOCPQCQPSolver' -> IO CInt
-casADi__SOCPQCQPSolver__checkNode
-  :: SOCPQCQPSolver -> IO Bool
-casADi__SOCPQCQPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SOCPQCQPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-socpqcqpSolver_checkNode :: SOCPQCQPSolverClass a => a -> IO Bool
-socpqcqpSolver_checkNode x = casADi__SOCPQCQPSolver__checkNode (castSOCPQCQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SOCPQCQPSolver__creator" c_CasADi__SOCPQCQPSolver__creator
-  :: Ptr QCQPStructure' -> IO (Ptr QCQPSolver')
-casADi__SOCPQCQPSolver__creator
-  :: QCQPStructure -> IO QCQPSolver
-casADi__SOCPQCQPSolver__creator x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SOCPQCQPSolver__creator x0' >>= wrapReturn
-
--- classy wrapper
-socpqcqpSolver_creator :: QCQPStructure -> IO QCQPSolver
-socpqcqpSolver_creator = casADi__SOCPQCQPSolver__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SOCPQCQPSolver__getSolver" c_CasADi__SOCPQCQPSolver__getSolver
-  :: Ptr SOCPQCQPSolver' -> IO (Ptr SOCPSolver')
-casADi__SOCPQCQPSolver__getSolver
-  :: SOCPQCQPSolver -> IO SOCPSolver
-casADi__SOCPQCQPSolver__getSolver x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SOCPQCQPSolver__getSolver x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access underlying SOCP solver.
--}
-socpqcqpSolver_getSolver :: SOCPQCQPSolverClass a => a -> IO SOCPSolver
-socpqcqpSolver_getSolver x = casADi__SOCPQCQPSolver__getSolver (castSOCPQCQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SOCPQCQPSolver__SOCPQCQPSolver" c_CasADi__SOCPQCQPSolver__SOCPQCQPSolver
-  :: IO (Ptr SOCPQCQPSolver')
-casADi__SOCPQCQPSolver__SOCPQCQPSolver
-  :: IO SOCPQCQPSolver
-casADi__SOCPQCQPSolver__SOCPQCQPSolver  =
-  c_CasADi__SOCPQCQPSolver__SOCPQCQPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::SOCPQCQPSolver::SOCPQCQPSolver()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::SOCPQCQPSolver::SOCPQCQPSolver(const QCQPStructure &st)
->------------------------------------------------------------------------
->
->Constructor.
->
->Parameters:
->-----------
->
->st:  Problem structure
--}
-socpqcqpSolver :: IO SOCPQCQPSolver
-socpqcqpSolver = casADi__SOCPQCQPSolver__SOCPQCQPSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SOCPQCQPSolver__SOCPQCQPSolver_TIC" c_CasADi__SOCPQCQPSolver__SOCPQCQPSolver_TIC
-  :: Ptr QCQPStructure' -> IO (Ptr SOCPQCQPSolver')
-casADi__SOCPQCQPSolver__SOCPQCQPSolver'
-  :: QCQPStructure -> IO SOCPQCQPSolver
-casADi__SOCPQCQPSolver__SOCPQCQPSolver' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SOCPQCQPSolver__SOCPQCQPSolver_TIC x0' >>= wrapReturn
-
--- classy wrapper
-socpqcqpSolver' :: QCQPStructure -> IO SOCPQCQPSolver
-socpqcqpSolver' = casADi__SOCPQCQPSolver__SOCPQCQPSolver'
-
diff --git a/Casadi/Wrappers/Classes/SOCPSolver.hs b/Casadi/Wrappers/Classes/SOCPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SOCPSolver.hs
+++ /dev/null
@@ -1,66 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SOCPSolver
-       (
-         SOCPSolver,
-         SOCPSolverClass(..),
-         socpSolver,
-         socpSolver_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 SOCPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SOCPSolver__checkNode" c_CasADi__SOCPSolver__checkNode
-  :: Ptr SOCPSolver' -> IO CInt
-casADi__SOCPSolver__checkNode
-  :: SOCPSolver -> IO Bool
-casADi__SOCPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SOCPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-socpSolver_checkNode :: SOCPSolverClass a => a -> IO Bool
-socpSolver_checkNode x = casADi__SOCPSolver__checkNode (castSOCPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SOCPSolver__SOCPSolver" c_CasADi__SOCPSolver__SOCPSolver
-  :: IO (Ptr SOCPSolver')
-casADi__SOCPSolver__SOCPSolver
-  :: IO SOCPSolver
-casADi__SOCPSolver__SOCPSolver  =
-  c_CasADi__SOCPSolver__SOCPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-socpSolver :: IO SOCPSolver
-socpSolver = casADi__SOCPSolver__SOCPSolver
-
diff --git a/Casadi/Wrappers/Classes/SOCPStructure.hs b/Casadi/Wrappers/Classes/SOCPStructure.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SOCPStructure.hs
+++ /dev/null
@@ -1,49 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SOCPStructure
-       (
-         SOCPStructure,
-         SOCPStructureClass(..),
-         socpStructure,
-       ) 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 SOCPStructure where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SOCPStructIOSchemeVector_CasADi__Sparsity___SOCPStructure" c_CasADi__SOCPStructIOSchemeVector_CasADi__Sparsity___SOCPStructure
-  :: Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr SOCPStructure')
-casADi__SOCPStructIOSchemeVector_CasADi__Sparsity___SOCPStructure
-  :: Vector Sparsity -> IO SOCPStructure
-casADi__SOCPStructIOSchemeVector_CasADi__Sparsity___SOCPStructure x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SOCPStructIOSchemeVector_CasADi__Sparsity___SOCPStructure x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-socpStructure :: Vector Sparsity -> IO SOCPStructure
-socpStructure = casADi__SOCPStructIOSchemeVector_CasADi__Sparsity___SOCPStructure
-
diff --git a/Casadi/Wrappers/Classes/SQPMethod.hs b/Casadi/Wrappers/Classes/SQPMethod.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SQPMethod.hs
+++ /dev/null
@@ -1,109 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SQPMethod
-       (
-         SQPMethod,
-         SQPMethodClass(..),
-         sqpMethod,
-         sqpMethod',
-         sqpMethod_checkNode,
-         sqpMethod_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 SQPMethod where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SQPMethod__checkNode" c_CasADi__SQPMethod__checkNode
-  :: Ptr SQPMethod' -> IO CInt
-casADi__SQPMethod__checkNode
-  :: SQPMethod -> IO Bool
-casADi__SQPMethod__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SQPMethod__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-sqpMethod_checkNode :: SQPMethodClass a => a -> IO Bool
-sqpMethod_checkNode x = casADi__SQPMethod__checkNode (castSQPMethod x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SQPMethod__creator" c_CasADi__SQPMethod__creator
-  :: Ptr Function' -> IO (Ptr NLPSolver')
-casADi__SQPMethod__creator
-  :: Function -> IO NLPSolver
-casADi__SQPMethod__creator x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SQPMethod__creator x0' >>= wrapReturn
-
--- classy wrapper
-sqpMethod_creator :: Function -> IO NLPSolver
-sqpMethod_creator = casADi__SQPMethod__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SQPMethod__SQPMethod" c_CasADi__SQPMethod__SQPMethod
-  :: IO (Ptr SQPMethod')
-casADi__SQPMethod__SQPMethod
-  :: IO SQPMethod
-casADi__SQPMethod__SQPMethod  =
-  c_CasADi__SQPMethod__SQPMethod  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::SQPMethod::SQPMethod()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::SQPMethod::SQPMethod(const Function &F, const Function &G)
->------------------------------------------------------------------------
->
->[DEPRECATED] Create an NLP solver instance (legacy syntax)
->
->>  CasADi::SQPMethod::SQPMethod(const Function &nlp)
->------------------------------------------------------------------------
->
->Create an NLP solver instance.
--}
-sqpMethod :: IO SQPMethod
-sqpMethod = casADi__SQPMethod__SQPMethod
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SQPMethod__SQPMethod_TIC" c_CasADi__SQPMethod__SQPMethod_TIC
-  :: Ptr Function' -> IO (Ptr SQPMethod')
-casADi__SQPMethod__SQPMethod'
-  :: Function -> IO SQPMethod
-casADi__SQPMethod__SQPMethod' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SQPMethod__SQPMethod_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sqpMethod' :: Function -> IO SQPMethod
-sqpMethod' = casADi__SQPMethod__SQPMethod'
-
diff --git a/Casadi/Wrappers/Classes/SX.hs b/Casadi/Wrappers/Classes/SX.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SX.hs
+++ /dev/null
@@ -1,3870 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SX
-       (
-         SX,
-         SXClass(..),
-         sx,
-         sx',
-         sx'',
-         sx''',
-         sx'''',
-         sx''''',
-         sx'''''',
-         sx''''''',
-         sx'''''''',
-         sx''''''''',
-         sx'''''''''',
-         sx''''''''''',
-         sx'''''''''''',
-         sx''''''''''''',
-         sx'''''''''''''',
-         sx___add__,
-         sx___constpow__,
-         sx___copysign__,
-         sx___div__,
-         sx___eq__,
-         sx___le__,
-         sx___lt__,
-         sx___mpower__,
-         sx___mrdivide__,
-         sx___mul__,
-         sx___ne__,
-         sx___nonzero__,
-         sx___pow__,
-         sx___sub__,
-         sx___truediv__,
-         sx_append,
-         sx_appendColumns,
-         sx_arccos,
-         sx_arccosh,
-         sx_arcsin,
-         sx_arcsinh,
-         sx_arctan,
-         sx_arctan2,
-         sx_arctanh,
-         sx_at,
-         sx_binary,
-         sx_ceil,
-         sx_className,
-         sx_clear,
-         sx_colind,
-         sx_cos,
-         sx_cosh,
-         sx_data,
-         sx_densify,
-         sx_densify',
-         sx_elem,
-         sx_elem',
-         sx_enlarge,
-         sx_erase,
-         sx_erf,
-         sx_erfinv,
-         sx_exp,
-         sx_eye,
-         sx_fabs,
-         sx_floor,
-         sx_fmax,
-         sx_fmin,
-         sx_get,
-         sx_get',
-         sx_get'',
-         sx_get''',
-         sx_get'''',
-         sx_get''''',
-         sx_getEqualityCheckingDepth,
-         sx_getMaxNumCallsInPrint,
-         sx_getName,
-         sx_getValue,
-         sx_hasNZ,
-         sx_hasNonStructuralZeros,
-         sx_if_else_zero,
-         sx_indexed_assignment,
-         sx_indexed_assignment',
-         sx_indexed_assignment'',
-         sx_indexed_assignment''',
-         sx_indexed_assignment'''',
-         sx_indexed_assignment''''',
-         sx_indexed_assignment'''''',
-         sx_indexed_assignment''''''',
-         sx_indexed_assignment'''''''',
-         sx_indexed_assignment''''''''',
-         sx_indexed_one_based_assignment,
-         sx_indexed_one_based_assignment',
-         sx_indexed_one_based_assignment'',
-         sx_indexed_zero_based_assignment,
-         sx_indexed_zero_based_assignment',
-         sx_indexed_zero_based_assignment'',
-         sx_inf,
-         sx_inf',
-         sx_inf'',
-         sx_inf''',
-         sx_isConstant,
-         sx_isEqual,
-         sx_isIdentity,
-         sx_isInteger,
-         sx_isMinusOne,
-         sx_isOne,
-         sx_isRegular,
-         sx_isSmooth,
-         sx_isSymbolic,
-         sx_isSymbolicSparse,
-         sx_isZero,
-         sx_log,
-         sx_log10,
-         sx_logic_and,
-         sx_logic_not,
-         sx_logic_or,
-         sx_matrix_matrix,
-         sx_matrix_scalar,
-         sx_mul,
-         sx_mul',
-         sx_mul_full,
-         sx_mul_full',
-         sx_mul_no_alloc_nn,
-         sx_mul_no_alloc_nn',
-         sx_mul_no_alloc_nt,
-         sx_mul_no_alloc_tn,
-         sx_mul_no_alloc_tn',
-         sx_nan,
-         sx_nan',
-         sx_nan'',
-         sx_nan''',
-         sx_nz_indexed_assignment,
-         sx_nz_indexed_assignment',
-         sx_nz_indexed_one_based_assignment,
-         sx_nz_indexed_one_based_assignment',
-         sx_nz_indexed_zero_based_assignment,
-         sx_nz_indexed_zero_based_assignment',
-         sx_operator_minus,
-         sx_operator_plus,
-         sx_printDense',
-         sx_printScalar',
-         sx_printSparse',
-         sx_printVector',
-         sx_printme,
-         sx_quad_form,
-         sx_remove,
-         sx_repmat,
-         sx_repmat',
-         sx_repmat'',
-         sx_repmat''',
-         sx_reserve,
-         sx_reserve',
-         sx_resize,
-         sx_row,
-         sx_sanityCheck,
-         sx_sanityCheck',
-         sx_scalar_matrix,
-         sx_set,
-         sx_set',
-         sx_set'',
-         sx_set''',
-         sx_set'''',
-         sx_set''''',
-         sx_setAll,
-         sx_setEqualityCheckingDepth,
-         sx_setEqualityCheckingDepth',
-         sx_setMaxNumCallsInPrint,
-         sx_setMaxNumCallsInPrint',
-         sx_setNZ,
-         sx_setNZ',
-         sx_setNZ'',
-         sx_setNZ''',
-         sx_setPrecision,
-         sx_setScientific,
-         sx_setSparse,
-         sx_setSparse',
-         sx_setSub,
-         sx_setSub',
-         sx_setSub'',
-         sx_setSub''',
-         sx_setSub'''',
-         sx_setSub''''',
-         sx_setSub'''''',
-         sx_setSub''''''',
-         sx_setSub'''''''',
-         sx_setSub''''''''',
-         sx_setSub'''''''''',
-         sx_setSub''''''''''',
-         sx_setSub'''''''''''',
-         sx_setSub''''''''''''',
-         sx_setWidth,
-         sx_setZero,
-         sx_sign,
-         sx_sin,
-         sx_sinh,
-         sx_sparsify,
-         sx_sparsify',
-         sx_sparsityRef,
-         sx_sqrt,
-         sx_tan,
-         sx_tanh,
-         sx_trans,
-         sx_triplet,
-         sx_triplet',
-         sx_unary,
-       ) 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 SX where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___sanityCheck" c_CasADi__Matrix_CasADi__SXElement___sanityCheck
-  :: Ptr SX' -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___sanityCheck
-  :: SX -> Bool -> IO ()
-casADi__Matrix_CasADi__SXElement___sanityCheck x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___sanityCheck x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if the
->dimensions and colind,row vectors are compatible.
->
->Parameters:
->-----------
->
->complete:  set to true to also check elementwise throws an error as possible
->result
--}
-sx_sanityCheck :: SXClass a => a -> Bool -> IO ()
-sx_sanityCheck x = casADi__Matrix_CasADi__SXElement___sanityCheck (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___sanityCheck_TIC" c_CasADi__Matrix_CasADi__SXElement___sanityCheck_TIC
-  :: Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___sanityCheck'
-  :: SX -> IO ()
-casADi__Matrix_CasADi__SXElement___sanityCheck' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___sanityCheck_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx_sanityCheck' :: SXClass a => a -> IO ()
-sx_sanityCheck' x = casADi__Matrix_CasADi__SXElement___sanityCheck' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___at" c_CasADi__Matrix_CasADi__SXElement___at
-  :: Ptr SX' -> CInt -> IO (Ptr SXElement')
-casADi__Matrix_CasADi__SXElement___at
-  :: SX -> Int -> IO SXElement
-casADi__Matrix_CasADi__SXElement___at x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___at x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  const DataType& CasADi::Matrix< T >::at(int k) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get a non-zero element.
->
->>  DataType& CasADi::Matrix< T >::at(int k)
->------------------------------------------------------------------------
->[INTERNAL] 
->Access a non-zero element.
--}
-sx_at :: SXClass a => a -> Int -> IO SXElement
-sx_at x = casADi__Matrix_CasADi__SXElement___at (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___elem" c_CasADi__Matrix_CasADi__SXElement___elem
-  :: Ptr SX' -> CInt -> CInt -> IO (Ptr SXElement')
-casADi__Matrix_CasADi__SXElement___elem
-  :: SX -> Int -> Int -> IO SXElement
-casADi__Matrix_CasADi__SXElement___elem x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___elem x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  const DataType & CasADi::Matrix< DataType >::elem(int rr, int cc=0) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->get an element
->
->>  DataType & CasADi::Matrix< DataType >::elem(int rr, int cc=0)
->------------------------------------------------------------------------
->[INTERNAL] 
->get a reference to an element
--}
-sx_elem :: SXClass a => a -> Int -> Int -> IO SXElement
-sx_elem x = casADi__Matrix_CasADi__SXElement___elem (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___elem_TIC" c_CasADi__Matrix_CasADi__SXElement___elem_TIC
-  :: Ptr SX' -> CInt -> IO (Ptr SXElement')
-casADi__Matrix_CasADi__SXElement___elem'
-  :: SX -> Int -> IO SXElement
-casADi__Matrix_CasADi__SXElement___elem' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___elem_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_elem' :: SXClass a => a -> Int -> IO SXElement
-sx_elem' x = casADi__Matrix_CasADi__SXElement___elem' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___hasNZ" c_CasADi__Matrix_CasADi__SXElement___hasNZ
-  :: Ptr SX' -> CInt -> CInt -> IO CInt
-casADi__Matrix_CasADi__SXElement___hasNZ
-  :: SX -> Int -> Int -> IO Bool
-casADi__Matrix_CasADi__SXElement___hasNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___hasNZ x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Returns true if the matrix has a non-zero at location rr,cc.
--}
-sx_hasNZ :: SXClass a => a -> Int -> Int -> IO Bool
-sx_hasNZ x = casADi__Matrix_CasADi__SXElement___hasNZ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____nonzero__" c_CasADi__Matrix_CasADi__SXElement_____nonzero__
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement_____nonzero__
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement_____nonzero__ x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement_____nonzero__ x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Returns the
->truth value of a Matrix.
--}
-sx___nonzero__ :: SXClass a => a -> IO Bool
-sx___nonzero__ x = casADi__Matrix_CasADi__SXElement_____nonzero__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub" c_CasADi__Matrix_CasADi__SXElement___setSub
-  :: Ptr SX' -> Ptr SX' -> CInt -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub
-  :: SX -> SX -> Int -> Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set a submatrix.
--}
-sx_setSub :: SXClass a => a -> SX -> Int -> Int -> IO ()
-sx_setSub x = casADi__Matrix_CasADi__SXElement___setSub (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr (CppVec CInt) -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'
-  :: SX -> SX -> Vector Int -> Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub' :: SXClass a => a -> SX -> Vector Int -> Int -> IO ()
-sx_setSub' x = casADi__Matrix_CasADi__SXElement___setSub' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> CInt -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''
-  :: SX -> SX -> Int -> Vector Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub'' :: SXClass a => a -> SX -> Int -> Vector Int -> IO ()
-sx_setSub'' x = casADi__Matrix_CasADi__SXElement___setSub'' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'''
-  :: SX -> SX -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub''' :: SXClass a => a -> SX -> Vector Int -> Vector Int -> IO ()
-sx_setSub''' x = casADi__Matrix_CasADi__SXElement___setSub''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr Slice' -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''''
-  :: SX -> SX -> Slice -> Vector Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub'''' :: SXClass a => a -> SX -> Slice -> Vector Int -> IO ()
-sx_setSub'''' x = casADi__Matrix_CasADi__SXElement___setSub'''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr (CppVec CInt) -> Ptr Slice' -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'''''
-  :: SX -> SX -> Vector Int -> Slice -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub''''' :: SXClass a => a -> SX -> Vector Int -> Slice -> IO ()
-sx_setSub''''' x = casADi__Matrix_CasADi__SXElement___setSub''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr Slice' -> Ptr Slice' -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''''''
-  :: SX -> SX -> Slice -> Slice -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub'''''' :: SXClass a => a -> SX -> Slice -> Slice -> IO ()
-sx_setSub'''''' x = casADi__Matrix_CasADi__SXElement___setSub'''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr IMatrix' -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'''''''
-  :: SX -> SX -> IMatrix -> Vector Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub''''''' :: SXClass a => a -> SX -> IMatrix -> Vector Int -> IO ()
-sx_setSub''''''' x = casADi__Matrix_CasADi__SXElement___setSub''''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr (CppVec CInt) -> Ptr IMatrix' -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''''''''
-  :: SX -> SX -> Vector Int -> IMatrix -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub'''''''' :: SXClass a => a -> SX -> Vector Int -> IMatrix -> IO ()
-sx_setSub'''''''' x = casADi__Matrix_CasADi__SXElement___setSub'''''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr IMatrix' -> Ptr Slice' -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'''''''''
-  :: SX -> SX -> IMatrix -> Slice -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub''''''''' :: SXClass a => a -> SX -> IMatrix -> Slice -> IO ()
-sx_setSub''''''''' x = casADi__Matrix_CasADi__SXElement___setSub''''''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr Slice' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''''''''''
-  :: SX -> SX -> Slice -> IMatrix -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub'''''''''' :: SXClass a => a -> SX -> Slice -> IMatrix -> IO ()
-sx_setSub'''''''''' x = casADi__Matrix_CasADi__SXElement___setSub'''''''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'''''''''''
-  :: SX -> SX -> IMatrix -> IMatrix -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub''''''''''' :: SXClass a => a -> SX -> IMatrix -> IMatrix -> IO ()
-sx_setSub''''''''''' x = casADi__Matrix_CasADi__SXElement___setSub''''''''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr Slice' -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''''''''''''
-  :: SX -> SX -> Slice -> Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub'''''''''''' :: SXClass a => a -> SX -> Slice -> Int -> IO ()
-sx_setSub'''''''''''' x = casADi__Matrix_CasADi__SXElement___setSub'''''''''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr Sparsity' -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub'''''''''''''
-  :: SX -> SX -> Sparsity -> Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setSub''''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSub_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_setSub''''''''''''' :: SXClass a => a -> SX -> Sparsity -> Int -> IO ()
-sx_setSub''''''''''''' x = casADi__Matrix_CasADi__SXElement___setSub''''''''''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setNZ" c_CasADi__Matrix_CasADi__SXElement___setNZ
-  :: Ptr SX' -> CInt -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___setNZ
-  :: SX -> Int -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___setNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___setNZ x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< DataType >::setNZ(int k, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< DataType >::setNZ(const std::vector< int > &k, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< DataType >::setNZ(const Matrix< int > &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set a set of nonzeros.
->
->>  void CasADi::Matrix< T >::setNZ(const Slice &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->
->Set a set of nonzeros.
--}
-sx_setNZ :: SXClass a => a -> Int -> SX -> IO ()
-sx_setNZ x = casADi__Matrix_CasADi__SXElement___setNZ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setNZ_TIC" c_CasADi__Matrix_CasADi__SXElement___setNZ_TIC
-  :: Ptr SX' -> Ptr (CppVec CInt) -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___setNZ'
-  :: SX -> Vector Int -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___setNZ' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___setNZ_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_setNZ' :: SXClass a => a -> Vector Int -> SX -> IO ()
-sx_setNZ' x = casADi__Matrix_CasADi__SXElement___setNZ' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setNZ_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setNZ_TIC_TIC
-  :: Ptr SX' -> Ptr Slice' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___setNZ''
-  :: SX -> Slice -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___setNZ'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___setNZ_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_setNZ'' :: SXClass a => a -> Slice -> SX -> IO ()
-sx_setNZ'' x = casADi__Matrix_CasADi__SXElement___setNZ'' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setNZ_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___setNZ_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___setNZ'''
-  :: SX -> IMatrix -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___setNZ''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___setNZ_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_setNZ''' :: SXClass a => a -> IMatrix -> SX -> IO ()
-sx_setNZ''' x = casADi__Matrix_CasADi__SXElement___setNZ''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___append" c_CasADi__Matrix_CasADi__SXElement___append
-  :: Ptr SX' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___append
-  :: SX -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___append x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___append x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Append a matrix
->vertically (NOTE: only efficient if vector)
--}
-sx_append :: SXClass a => a -> SX -> IO ()
-sx_append x = casADi__Matrix_CasADi__SXElement___append (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___appendColumns" c_CasADi__Matrix_CasADi__SXElement___appendColumns
-  :: Ptr SX' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___appendColumns
-  :: SX -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___appendColumns x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___appendColumns x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Append a
->matrix horizontally.
--}
-sx_appendColumns :: SXClass a => a -> SX -> IO ()
-sx_appendColumns x = casADi__Matrix_CasADi__SXElement___appendColumns (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment" c_CasADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment
-  :: Ptr SX' -> CInt -> Ptr SXElement' -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment
-  :: SX -> Int -> SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::nz_indexed_one_based_assignment(int k, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->set a non-zero
->
->>  void CasADi::Matrix< T >::nz_indexed_one_based_assignment(const Matrix< int > &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
--}
-sx_nz_indexed_one_based_assignment :: SXClass a => a -> Int -> SXElement -> IO ()
-sx_nz_indexed_one_based_assignment x = casADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment" c_CasADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment
-  :: Ptr SX' -> CInt -> Ptr SXElement' -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment
-  :: SX -> Int -> SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Indexing for interfaced languages get a non-zero
--}
-sx_nz_indexed_zero_based_assignment :: SXClass a => a -> Int -> SXElement -> IO ()
-sx_nz_indexed_zero_based_assignment x = casADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___nz_indexed_assignment" c_CasADi__Matrix_CasADi__SXElement___nz_indexed_assignment
-  :: Ptr SX' -> Ptr Slice' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_assignment
-  :: SX -> Slice -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___nz_indexed_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]
->Indexing for interfaced languages get a non-zero
--}
-sx_nz_indexed_assignment :: SXClass a => a -> Slice -> SX -> IO ()
-sx_nz_indexed_assignment x = casADi__Matrix_CasADi__SXElement___nz_indexed_assignment (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_one_based_assignment" c_CasADi__Matrix_CasADi__SXElement___indexed_one_based_assignment
-  :: Ptr SX' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_one_based_assignment
-  :: SX -> IMatrix -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_one_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_one_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::indexed_one_based_assignment(const Matrix< int > &k, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
->
->>  void CasADi::Matrix< T >::indexed_one_based_assignment(int rr, int cc, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->set a matrix element
->
->>  void CasADi::Matrix< T >::indexed_one_based_assignment(int rr, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->set a vector element
--}
-sx_indexed_one_based_assignment :: SXClass a => a -> IMatrix -> SX -> IO ()
-sx_indexed_one_based_assignment x = casADi__Matrix_CasADi__SXElement___indexed_one_based_assignment (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment" c_CasADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment
-  :: Ptr SX' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment
-  :: SX -> IMatrix -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::indexed_zero_based_assignment(const Matrix< int > &k, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_zero_based_assignment(int rr, int cc, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
->
->>  void CasADi::Matrix< T >::indexed_zero_based_assignment(int rr, const DataType &m)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-sx_indexed_zero_based_assignment :: SXClass a => a -> IMatrix -> SX -> IO ()
-sx_indexed_zero_based_assignment x = casADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment_TIC" c_CasADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment_TIC
-  :: Ptr SX' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment'
-  :: SX -> IMatrix -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_nz_indexed_one_based_assignment' :: SXClass a => a -> IMatrix -> SX -> IO ()
-sx_nz_indexed_one_based_assignment' x = casADi__Matrix_CasADi__SXElement___nz_indexed_one_based_assignment' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment_TIC" c_CasADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment_TIC
-  :: Ptr SX' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment'
-  :: SX -> IMatrix -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_nz_indexed_zero_based_assignment' :: SXClass a => a -> IMatrix -> SX -> IO ()
-sx_nz_indexed_zero_based_assignment' x = casADi__Matrix_CasADi__SXElement___nz_indexed_zero_based_assignment' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___nz_indexed_assignment_TIC" c_CasADi__Matrix_CasADi__SXElement___nz_indexed_assignment_TIC
-  :: Ptr SX' -> Ptr IndexList' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_assignment'
-  :: SX -> IndexList -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___nz_indexed_assignment' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___nz_indexed_assignment_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_nz_indexed_assignment' :: SXClass a => a -> IndexList -> SX -> IO ()
-sx_nz_indexed_assignment' x = casADi__Matrix_CasADi__SXElement___nz_indexed_assignment' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_one_based_assignment_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_one_based_assignment_TIC
-  :: Ptr SX' -> CInt -> CInt -> Ptr SXElement' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_one_based_assignment'
-  :: SX -> Int -> Int -> SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_one_based_assignment' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_one_based_assignment_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_one_based_assignment' :: SXClass a => a -> Int -> Int -> SXElement -> IO ()
-sx_indexed_one_based_assignment' x = casADi__Matrix_CasADi__SXElement___indexed_one_based_assignment' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment_TIC
-  :: Ptr SX' -> CInt -> CInt -> Ptr SXElement' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment'
-  :: SX -> Int -> Int -> SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_zero_based_assignment' :: SXClass a => a -> Int -> Int -> SXElement -> IO ()
-sx_indexed_zero_based_assignment' x = casADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_assignment" c_CasADi__Matrix_CasADi__SXElement___indexed_assignment
-  :: Ptr SX' -> Ptr Slice' -> Ptr Slice' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment
-  :: SX -> Slice -> Slice -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_assignment x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< T >::indexed_assignment(const Slice &rr, const Slice &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const IndexList &rr, const IndexList &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Slice &rr, const Matrix< int > &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Matrix< int > &rr, const Slice &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Matrix< int > &rr, const IndexList &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const IndexList &rr, const Matrix< int > &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Matrix< int > &rr, const Matrix< int > &cc, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Sparsity &sp, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Indexing for interfaced languages get a non-zero
->
->>  void CasADi::Matrix< T >::indexed_assignment(const Slice &rr, const Matrix< DataType > &m)
->
->>  void CasADi::Matrix< T >::indexed_assignment(const IndexList &rr, const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-sx_indexed_assignment :: SXClass a => a -> Slice -> Slice -> SX -> IO ()
-sx_indexed_assignment x = casADi__Matrix_CasADi__SXElement___indexed_assignment (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC
-  :: Ptr SX' -> Ptr IndexList' -> Ptr IndexList' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment'
-  :: SX -> IndexList -> IndexList -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_assignment' :: SXClass a => a -> IndexList -> IndexList -> SX -> IO ()
-sx_indexed_assignment' x = casADi__Matrix_CasADi__SXElement___indexed_assignment' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC
-  :: Ptr SX' -> Ptr Slice' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment''
-  :: SX -> Slice -> IMatrix -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_assignment'' :: SXClass a => a -> Slice -> IMatrix -> SX -> IO ()
-sx_indexed_assignment'' x = casADi__Matrix_CasADi__SXElement___indexed_assignment'' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr IMatrix' -> Ptr Slice' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment'''
-  :: SX -> IMatrix -> Slice -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_assignment''' :: SXClass a => a -> IMatrix -> Slice -> SX -> IO ()
-sx_indexed_assignment''' x = casADi__Matrix_CasADi__SXElement___indexed_assignment''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr IMatrix' -> Ptr IndexList' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment''''
-  :: SX -> IMatrix -> IndexList -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment'''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_assignment'''' :: SXClass a => a -> IMatrix -> IndexList -> SX -> IO ()
-sx_indexed_assignment'''' x = casADi__Matrix_CasADi__SXElement___indexed_assignment'''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr IndexList' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment'''''
-  :: SX -> IndexList -> IMatrix -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_assignment''''' :: SXClass a => a -> IndexList -> IMatrix -> SX -> IO ()
-sx_indexed_assignment''''' x = casADi__Matrix_CasADi__SXElement___indexed_assignment''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr IMatrix' -> Ptr IMatrix' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment''''''
-  :: SX -> IMatrix -> IMatrix -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_assignment'''''' :: SXClass a => a -> IMatrix -> IMatrix -> SX -> IO ()
-sx_indexed_assignment'''''' x = casADi__Matrix_CasADi__SXElement___indexed_assignment'''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr Sparsity' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment'''''''
-  :: SX -> Sparsity -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_assignment''''''' :: SXClass a => a -> Sparsity -> SX -> IO ()
-sx_indexed_assignment''''''' x = casADi__Matrix_CasADi__SXElement___indexed_assignment''''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_one_based_assignment_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_one_based_assignment_TIC_TIC
-  :: Ptr SX' -> CInt -> Ptr SXElement' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_one_based_assignment''
-  :: SX -> Int -> SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_one_based_assignment'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_one_based_assignment_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_one_based_assignment'' :: SXClass a => a -> Int -> SXElement -> IO ()
-sx_indexed_one_based_assignment'' x = casADi__Matrix_CasADi__SXElement___indexed_one_based_assignment'' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment_TIC_TIC
-  :: Ptr SX' -> CInt -> Ptr SXElement' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment''
-  :: SX -> Int -> SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_zero_based_assignment'' :: SXClass a => a -> Int -> SXElement -> IO ()
-sx_indexed_zero_based_assignment'' x = casADi__Matrix_CasADi__SXElement___indexed_zero_based_assignment'' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr Slice' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment''''''''
-  :: SX -> Slice -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment'''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_assignment'''''''' :: SXClass a => a -> Slice -> SX -> IO ()
-sx_indexed_assignment'''''''' x = casADi__Matrix_CasADi__SXElement___indexed_assignment'''''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr IndexList' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment'''''''''
-  :: SX -> IndexList -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___indexed_assignment''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___indexed_assignment_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_indexed_assignment''''''''' :: SXClass a => a -> IndexList -> SX -> IO ()
-sx_indexed_assignment''''''''' x = casADi__Matrix_CasADi__SXElement___indexed_assignment''''''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setZero" c_CasADi__Matrix_CasADi__SXElement___setZero
-  :: Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___setZero
-  :: SX -> IO ()
-casADi__Matrix_CasADi__SXElement___setZero x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___setZero x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set all elements
->to zero.
--}
-sx_setZero :: SXClass a => a -> IO ()
-sx_setZero x = casADi__Matrix_CasADi__SXElement___setZero (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setAll" c_CasADi__Matrix_CasADi__SXElement___setAll
-  :: Ptr SX' -> Ptr SXElement' -> IO ()
-casADi__Matrix_CasADi__SXElement___setAll
-  :: SX -> SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___setAll x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___setAll x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set all elements
->to a value.
--}
-sx_setAll :: SXClass a => a -> SXElement -> IO ()
-sx_setAll x = casADi__Matrix_CasADi__SXElement___setAll (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSparse" c_CasADi__Matrix_CasADi__SXElement___setSparse
-  :: Ptr SX' -> Ptr Sparsity' -> CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___setSparse
-  :: SX -> Sparsity -> Bool -> IO SX
-casADi__Matrix_CasADi__SXElement___setSparse x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSparse x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Set sparse.
--}
-sx_setSparse :: SXClass a => a -> Sparsity -> Bool -> IO SX
-sx_setSparse x = casADi__Matrix_CasADi__SXElement___setSparse (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setSparse_TIC" c_CasADi__Matrix_CasADi__SXElement___setSparse_TIC
-  :: Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___setSparse'
-  :: SX -> Sparsity -> IO SX
-casADi__Matrix_CasADi__SXElement___setSparse' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___setSparse_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_setSparse' :: SXClass a => a -> Sparsity -> IO SX
-sx_setSparse' x = casADi__Matrix_CasADi__SXElement___setSparse' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___densify" c_CasADi__Matrix_CasADi__SXElement___densify
-  :: Ptr SX' -> Ptr SXElement' -> IO ()
-casADi__Matrix_CasADi__SXElement___densify
-  :: SX -> SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___densify x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___densify x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Make the matrix
->dense.
--}
-sx_densify :: SXClass a => a -> SXElement -> IO ()
-sx_densify x = casADi__Matrix_CasADi__SXElement___densify (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___densify_TIC" c_CasADi__Matrix_CasADi__SXElement___densify_TIC
-  :: Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___densify'
-  :: SX -> IO ()
-casADi__Matrix_CasADi__SXElement___densify' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___densify_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx_densify' :: SXClass a => a -> IO ()
-sx_densify' x = casADi__Matrix_CasADi__SXElement___densify' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___sparsify" c_CasADi__Matrix_CasADi__SXElement___sparsify
-  :: Ptr SX' -> CDouble -> IO ()
-casADi__Matrix_CasADi__SXElement___sparsify
-  :: SX -> Double -> IO ()
-casADi__Matrix_CasADi__SXElement___sparsify x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___sparsify x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Make a matrix
->sparse by removing numerical zeros smaller in absolute value than a
->specified tolerance.
--}
-sx_sparsify :: SXClass a => a -> Double -> IO ()
-sx_sparsify x = casADi__Matrix_CasADi__SXElement___sparsify (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___sparsify_TIC" c_CasADi__Matrix_CasADi__SXElement___sparsify_TIC
-  :: Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___sparsify'
-  :: SX -> IO ()
-casADi__Matrix_CasADi__SXElement___sparsify' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___sparsify_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx_sparsify' :: SXClass a => a -> IO ()
-sx_sparsify' x = casADi__Matrix_CasADi__SXElement___sparsify' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___operator_plus" c_CasADi__Matrix_CasADi__SXElement___operator_plus
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___operator_plus
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___operator_plus x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___operator_plus x0' >>= wrapReturn
-
--- classy wrapper
-sx_operator_plus :: SXClass a => a -> IO SX
-sx_operator_plus x = casADi__Matrix_CasADi__SXElement___operator_plus (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___operator_minus" c_CasADi__Matrix_CasADi__SXElement___operator_minus
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___operator_minus
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___operator_minus x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___operator_minus x0' >>= wrapReturn
-
--- classy wrapper
-sx_operator_minus :: SXClass a => a -> IO SX
-sx_operator_minus x = casADi__Matrix_CasADi__SXElement___operator_minus (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___binary" c_CasADi__Matrix_CasADi__SXElement___binary
-  :: CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___binary
-  :: Int -> SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___binary x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___binary x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create nodes by
->their ID.
--}
-sx_binary :: Int -> SX -> SX -> IO SX
-sx_binary = casADi__Matrix_CasADi__SXElement___binary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___unary" c_CasADi__Matrix_CasADi__SXElement___unary
-  :: CInt -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___unary
-  :: Int -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___unary x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___unary x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create nodes by
->their ID.
--}
-sx_unary :: Int -> SX -> IO SX
-sx_unary = casADi__Matrix_CasADi__SXElement___unary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___scalar_matrix" c_CasADi__Matrix_CasADi__SXElement___scalar_matrix
-  :: CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___scalar_matrix
-  :: Int -> SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___scalar_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___scalar_matrix x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create
->nodes by their ID.
--}
-sx_scalar_matrix :: Int -> SX -> SX -> IO SX
-sx_scalar_matrix = casADi__Matrix_CasADi__SXElement___scalar_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___matrix_scalar" c_CasADi__Matrix_CasADi__SXElement___matrix_scalar
-  :: CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___matrix_scalar
-  :: Int -> SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___matrix_scalar x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___matrix_scalar x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create
->nodes by their ID.
--}
-sx_matrix_scalar :: Int -> SX -> SX -> IO SX
-sx_matrix_scalar = casADi__Matrix_CasADi__SXElement___matrix_scalar
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___matrix_matrix" c_CasADi__Matrix_CasADi__SXElement___matrix_matrix
-  :: CInt -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___matrix_matrix
-  :: Int -> SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___matrix_matrix x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___matrix_matrix x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Create
->nodes by their ID.
--}
-sx_matrix_matrix :: Int -> SX -> SX -> IO SX
-sx_matrix_matrix = casADi__Matrix_CasADi__SXElement___matrix_matrix
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____add__" c_CasADi__Matrix_CasADi__SXElement_____add__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____add__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____add__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____add__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___add__ :: SXClass a => a -> SX -> IO SX
-sx___add__ x = casADi__Matrix_CasADi__SXElement_____add__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____sub__" c_CasADi__Matrix_CasADi__SXElement_____sub__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____sub__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____sub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____sub__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___sub__ :: SXClass a => a -> SX -> IO SX
-sx___sub__ x = casADi__Matrix_CasADi__SXElement_____sub__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____mul__" c_CasADi__Matrix_CasADi__SXElement_____mul__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____mul__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____mul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____mul__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___mul__ :: SXClass a => a -> SX -> IO SX
-sx___mul__ x = casADi__Matrix_CasADi__SXElement_____mul__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____div__" c_CasADi__Matrix_CasADi__SXElement_____div__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____div__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____div__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____div__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___div__ :: SXClass a => a -> SX -> IO SX
-sx___div__ x = casADi__Matrix_CasADi__SXElement_____div__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____lt__" c_CasADi__Matrix_CasADi__SXElement_____lt__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____lt__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____lt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____lt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___lt__ :: SXClass a => a -> SX -> IO SX
-sx___lt__ x = casADi__Matrix_CasADi__SXElement_____lt__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____le__" c_CasADi__Matrix_CasADi__SXElement_____le__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____le__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____le__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____le__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___le__ :: SXClass a => a -> SX -> IO SX
-sx___le__ x = casADi__Matrix_CasADi__SXElement_____le__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____eq__" c_CasADi__Matrix_CasADi__SXElement_____eq__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____eq__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____eq__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____eq__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___eq__ :: SXClass a => a -> SX -> IO SX
-sx___eq__ x = casADi__Matrix_CasADi__SXElement_____eq__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____ne__" c_CasADi__Matrix_CasADi__SXElement_____ne__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____ne__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____ne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____ne__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___ne__ :: SXClass a => a -> SX -> IO SX
-sx___ne__ x = casADi__Matrix_CasADi__SXElement_____ne__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____truediv__" c_CasADi__Matrix_CasADi__SXElement_____truediv__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____truediv__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____truediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____truediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___truediv__ :: SXClass a => a -> SX -> IO SX
-sx___truediv__ x = casADi__Matrix_CasADi__SXElement_____truediv__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____pow__" c_CasADi__Matrix_CasADi__SXElement_____pow__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____pow__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____pow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____pow__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___pow__ :: SXClass a => a -> SX -> IO SX
-sx___pow__ x = casADi__Matrix_CasADi__SXElement_____pow__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____constpow__" c_CasADi__Matrix_CasADi__SXElement_____constpow__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____constpow__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____constpow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____constpow__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___constpow__ :: SXClass a => a -> SX -> IO SX
-sx___constpow__ x = casADi__Matrix_CasADi__SXElement_____constpow__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____mpower__" c_CasADi__Matrix_CasADi__SXElement_____mpower__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____mpower__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____mpower__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____mpower__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___mpower__ :: SXClass a => a -> SX -> IO SX
-sx___mpower__ x = casADi__Matrix_CasADi__SXElement_____mpower__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____mrdivide__" c_CasADi__Matrix_CasADi__SXElement_____mrdivide__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____mrdivide__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____mrdivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____mrdivide__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Elementwise
->operations Octave/Python naming.
--}
-sx___mrdivide__ :: SXClass a => a -> SX -> IO SX
-sx___mrdivide__ x = casADi__Matrix_CasADi__SXElement_____mrdivide__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___mul_full" c_CasADi__Matrix_CasADi__SXElement___mul_full
-  :: Ptr SX' -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___mul_full
-  :: SX -> SX -> Sparsity -> IO SX
-casADi__Matrix_CasADi__SXElement___mul_full x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___mul_full x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Matrix-matrix
->product.
--}
-sx_mul_full :: SXClass a => a -> SX -> Sparsity -> IO SX
-sx_mul_full x = casADi__Matrix_CasADi__SXElement___mul_full (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___mul_full_TIC" c_CasADi__Matrix_CasADi__SXElement___mul_full_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___mul_full'
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___mul_full' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___mul_full_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_mul_full' :: SXClass a => a -> SX -> IO SX
-sx_mul_full' x = casADi__Matrix_CasADi__SXElement___mul_full' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___mul" c_CasADi__Matrix_CasADi__SXElement___mul
-  :: Ptr SX' -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___mul
-  :: SX -> SX -> Sparsity -> IO SX
-casADi__Matrix_CasADi__SXElement___mul x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___mul x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Matrix-matrix
->product.
--}
-sx_mul :: SXClass a => a -> SX -> Sparsity -> IO SX
-sx_mul x = casADi__Matrix_CasADi__SXElement___mul (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___mul_TIC" c_CasADi__Matrix_CasADi__SXElement___mul_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___mul'
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___mul' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___mul_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_mul' :: SXClass a => a -> SX -> IO SX
-sx_mul' x = casADi__Matrix_CasADi__SXElement___mul' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___mul_no_alloc_nn" c_CasADi__Matrix_CasADi__SXElement___mul_no_alloc_nn
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___mul_no_alloc_nn
-  :: SX -> SX -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___mul_no_alloc_nn x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___mul_no_alloc_nn x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_mul_no_alloc_nn :: SX -> SX -> SX -> IO ()
-sx_mul_no_alloc_nn = casADi__Matrix_CasADi__SXElement___mul_no_alloc_nn
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___mul_no_alloc_tn" c_CasADi__Matrix_CasADi__SXElement___mul_no_alloc_tn
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___mul_no_alloc_tn
-  :: SX -> SX -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___mul_no_alloc_tn x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___mul_no_alloc_tn x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_mul_no_alloc_tn :: SX -> SX -> SX -> IO ()
-sx_mul_no_alloc_tn = casADi__Matrix_CasADi__SXElement___mul_no_alloc_tn
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___mul_no_alloc_nt" c_CasADi__Matrix_CasADi__SXElement___mul_no_alloc_nt
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___mul_no_alloc_nt
-  :: SX -> SX -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___mul_no_alloc_nt x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___mul_no_alloc_nt x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_mul_no_alloc_nt :: SX -> SX -> SX -> IO ()
-sx_mul_no_alloc_nt = casADi__Matrix_CasADi__SXElement___mul_no_alloc_nt
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___mul_no_alloc_tn_TIC" c_CasADi__Matrix_CasADi__SXElement___mul_no_alloc_tn_TIC
-  :: Ptr SX' -> Ptr (CppVec (Ptr SXElement')) -> Ptr (CppVec (Ptr SXElement')) -> IO ()
-casADi__Matrix_CasADi__SXElement___mul_no_alloc_tn'
-  :: SX -> Vector SXElement -> Vector SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___mul_no_alloc_tn' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___mul_no_alloc_tn_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_mul_no_alloc_tn' :: SX -> Vector SXElement -> Vector SXElement -> IO ()
-sx_mul_no_alloc_tn' = casADi__Matrix_CasADi__SXElement___mul_no_alloc_tn'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___mul_no_alloc_nn_TIC" c_CasADi__Matrix_CasADi__SXElement___mul_no_alloc_nn_TIC
-  :: Ptr SX' -> Ptr (CppVec (Ptr SXElement')) -> Ptr (CppVec (Ptr SXElement')) -> IO ()
-casADi__Matrix_CasADi__SXElement___mul_no_alloc_nn'
-  :: SX -> Vector SXElement -> Vector SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___mul_no_alloc_nn' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___mul_no_alloc_nn_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_mul_no_alloc_nn' :: SX -> Vector SXElement -> Vector SXElement -> IO ()
-sx_mul_no_alloc_nn' = casADi__Matrix_CasADi__SXElement___mul_no_alloc_nn'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___quad_form" c_CasADi__Matrix_CasADi__SXElement___quad_form
-  :: Ptr SX' -> Ptr (CppVec (Ptr SXElement')) -> IO (Ptr SXElement')
-casADi__Matrix_CasADi__SXElement___quad_form
-  :: SX -> Vector SXElement -> IO SXElement
-casADi__Matrix_CasADi__SXElement___quad_form x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___quad_form x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_quad_form :: SX -> Vector SXElement -> IO SXElement
-sx_quad_form = casADi__Matrix_CasADi__SXElement___quad_form
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___trans" c_CasADi__Matrix_CasADi__SXElement___trans
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___trans
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___trans x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___trans x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]   Transpose the
->matrix.
--}
-sx_trans :: SXClass a => a -> IO SX
-sx_trans x = casADi__Matrix_CasADi__SXElement___trans (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___sin" c_CasADi__Matrix_CasADi__SXElement___sin
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___sin
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___sin x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___sin x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_sin :: SXClass a => a -> IO SX
-sx_sin x = casADi__Matrix_CasADi__SXElement___sin (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___cos" c_CasADi__Matrix_CasADi__SXElement___cos
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___cos
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___cos x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___cos x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_cos :: SXClass a => a -> IO SX
-sx_cos x = casADi__Matrix_CasADi__SXElement___cos (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___tan" c_CasADi__Matrix_CasADi__SXElement___tan
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___tan
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___tan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___tan x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_tan :: SXClass a => a -> IO SX
-sx_tan x = casADi__Matrix_CasADi__SXElement___tan (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___arcsin" c_CasADi__Matrix_CasADi__SXElement___arcsin
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___arcsin
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___arcsin x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___arcsin x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_arcsin :: SXClass a => a -> IO SX
-sx_arcsin x = casADi__Matrix_CasADi__SXElement___arcsin (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___arccos" c_CasADi__Matrix_CasADi__SXElement___arccos
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___arccos
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___arccos x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___arccos x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_arccos :: SXClass a => a -> IO SX
-sx_arccos x = casADi__Matrix_CasADi__SXElement___arccos (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___arctan" c_CasADi__Matrix_CasADi__SXElement___arctan
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___arctan
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___arctan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___arctan x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_arctan :: SXClass a => a -> IO SX
-sx_arctan x = casADi__Matrix_CasADi__SXElement___arctan (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___exp" c_CasADi__Matrix_CasADi__SXElement___exp
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___exp
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___exp x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___exp x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_exp :: SXClass a => a -> IO SX
-sx_exp x = casADi__Matrix_CasADi__SXElement___exp (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___log" c_CasADi__Matrix_CasADi__SXElement___log
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___log
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___log x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___log x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_log :: SXClass a => a -> IO SX
-sx_log x = casADi__Matrix_CasADi__SXElement___log (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___sqrt" c_CasADi__Matrix_CasADi__SXElement___sqrt
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___sqrt
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___sqrt x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___sqrt x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_sqrt :: SXClass a => a -> IO SX
-sx_sqrt x = casADi__Matrix_CasADi__SXElement___sqrt (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___floor" c_CasADi__Matrix_CasADi__SXElement___floor
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___floor
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___floor x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___floor x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_floor :: SXClass a => a -> IO SX
-sx_floor x = casADi__Matrix_CasADi__SXElement___floor (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___ceil" c_CasADi__Matrix_CasADi__SXElement___ceil
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___ceil
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___ceil x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___ceil x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_ceil :: SXClass a => a -> IO SX
-sx_ceil x = casADi__Matrix_CasADi__SXElement___ceil (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___fabs" c_CasADi__Matrix_CasADi__SXElement___fabs
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___fabs
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___fabs x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___fabs x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_fabs :: SXClass a => a -> IO SX
-sx_fabs x = casADi__Matrix_CasADi__SXElement___fabs (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___sign" c_CasADi__Matrix_CasADi__SXElement___sign
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___sign
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___sign x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___sign x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_sign :: SXClass a => a -> IO SX
-sx_sign x = casADi__Matrix_CasADi__SXElement___sign (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement_____copysign__" c_CasADi__Matrix_CasADi__SXElement_____copysign__
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement_____copysign__
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement_____copysign__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement_____copysign__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx___copysign__ :: SXClass a => a -> SX -> IO SX
-sx___copysign__ x = casADi__Matrix_CasADi__SXElement_____copysign__ (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___erfinv" c_CasADi__Matrix_CasADi__SXElement___erfinv
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___erfinv
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___erfinv x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___erfinv x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_erfinv :: SXClass a => a -> IO SX
-sx_erfinv x = casADi__Matrix_CasADi__SXElement___erfinv (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___fmin" c_CasADi__Matrix_CasADi__SXElement___fmin
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___fmin
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___fmin x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___fmin x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_fmin :: SXClass a => a -> SX -> IO SX
-sx_fmin x = casADi__Matrix_CasADi__SXElement___fmin (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___fmax" c_CasADi__Matrix_CasADi__SXElement___fmax
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___fmax
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___fmax x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___fmax x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_fmax :: SXClass a => a -> SX -> IO SX
-sx_fmax x = casADi__Matrix_CasADi__SXElement___fmax (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___erf" c_CasADi__Matrix_CasADi__SXElement___erf
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___erf
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___erf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___erf x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_erf :: SXClass a => a -> IO SX
-sx_erf x = casADi__Matrix_CasADi__SXElement___erf (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___sinh" c_CasADi__Matrix_CasADi__SXElement___sinh
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___sinh
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___sinh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___sinh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_sinh :: SXClass a => a -> IO SX
-sx_sinh x = casADi__Matrix_CasADi__SXElement___sinh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___cosh" c_CasADi__Matrix_CasADi__SXElement___cosh
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___cosh
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___cosh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___cosh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_cosh :: SXClass a => a -> IO SX
-sx_cosh x = casADi__Matrix_CasADi__SXElement___cosh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___tanh" c_CasADi__Matrix_CasADi__SXElement___tanh
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___tanh
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___tanh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___tanh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_tanh :: SXClass a => a -> IO SX
-sx_tanh x = casADi__Matrix_CasADi__SXElement___tanh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___arcsinh" c_CasADi__Matrix_CasADi__SXElement___arcsinh
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___arcsinh
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___arcsinh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___arcsinh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_arcsinh :: SXClass a => a -> IO SX
-sx_arcsinh x = casADi__Matrix_CasADi__SXElement___arcsinh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___arccosh" c_CasADi__Matrix_CasADi__SXElement___arccosh
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___arccosh
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___arccosh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___arccosh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_arccosh :: SXClass a => a -> IO SX
-sx_arccosh x = casADi__Matrix_CasADi__SXElement___arccosh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___arctanh" c_CasADi__Matrix_CasADi__SXElement___arctanh
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___arctanh
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___arctanh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___arctanh x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_arctanh :: SXClass a => a -> IO SX
-sx_arctanh x = casADi__Matrix_CasADi__SXElement___arctanh (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___arctan2" c_CasADi__Matrix_CasADi__SXElement___arctan2
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___arctan2
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___arctan2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___arctan2 x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_arctan2 :: SXClass a => a -> SX -> IO SX
-sx_arctan2 x = casADi__Matrix_CasADi__SXElement___arctan2 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___log10" c_CasADi__Matrix_CasADi__SXElement___log10
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___log10
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___log10 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___log10 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations defined
->in the standard namespace for unambigous access and Numpy compatibility.
--}
-sx_log10 :: SXClass a => a -> IO SX
-sx_log10 x = casADi__Matrix_CasADi__SXElement___log10 (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___printme" c_CasADi__Matrix_CasADi__SXElement___printme
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___printme
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___printme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___printme x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_printme :: SXClass a => a -> SX -> IO SX
-sx_printme x = casADi__Matrix_CasADi__SXElement___printme (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___logic_not" c_CasADi__Matrix_CasADi__SXElement___logic_not
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___logic_not
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___logic_not x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___logic_not x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_logic_not :: SXClass a => a -> IO SX
-sx_logic_not x = casADi__Matrix_CasADi__SXElement___logic_not (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___logic_and" c_CasADi__Matrix_CasADi__SXElement___logic_and
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___logic_and
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___logic_and x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___logic_and x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_logic_and :: SXClass a => a -> SX -> IO SX
-sx_logic_and x = casADi__Matrix_CasADi__SXElement___logic_and (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___logic_or" c_CasADi__Matrix_CasADi__SXElement___logic_or
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___logic_or
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___logic_or x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___logic_or x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_logic_or :: SXClass a => a -> SX -> IO SX
-sx_logic_or x = casADi__Matrix_CasADi__SXElement___logic_or (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___if_else_zero" c_CasADi__Matrix_CasADi__SXElement___if_else_zero
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___if_else_zero
-  :: SX -> SX -> IO SX
-casADi__Matrix_CasADi__SXElement___if_else_zero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___if_else_zero x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Operations
->defined in the standard namespace for unambigous access and Numpy
->compatibility.
--}
-sx_if_else_zero :: SXClass a => a -> SX -> IO SX
-sx_if_else_zero x = casADi__Matrix_CasADi__SXElement___if_else_zero (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint" c_CasADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint
-  :: CLong -> IO ()
-casADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint
-  :: Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint x0' >>= wrapReturn
-
--- classy wrapper
-sx_setMaxNumCallsInPrint :: Int -> IO ()
-sx_setMaxNumCallsInPrint = casADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint_TIC" c_CasADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint_TIC
-  :: IO ()
-casADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint'
-  :: IO ()
-casADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint'  =
-  c_CasADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint_TIC  >>= wrapReturn
-
--- classy wrapper
-sx_setMaxNumCallsInPrint' :: IO ()
-sx_setMaxNumCallsInPrint' = casADi__Matrix_CasADi__SXElement___setMaxNumCallsInPrint'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___getMaxNumCallsInPrint" c_CasADi__Matrix_CasADi__SXElement___getMaxNumCallsInPrint
-  :: IO CLong
-casADi__Matrix_CasADi__SXElement___getMaxNumCallsInPrint
-  :: IO Int
-casADi__Matrix_CasADi__SXElement___getMaxNumCallsInPrint  =
-  c_CasADi__Matrix_CasADi__SXElement___getMaxNumCallsInPrint  >>= wrapReturn
-
--- classy wrapper
-sx_getMaxNumCallsInPrint :: IO Int
-sx_getMaxNumCallsInPrint = casADi__Matrix_CasADi__SXElement___getMaxNumCallsInPrint
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth" c_CasADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth
-  :: CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth
-  :: Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth x0' >>= wrapReturn
-
--- classy wrapper
-sx_setEqualityCheckingDepth :: Int -> IO ()
-sx_setEqualityCheckingDepth = casADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth_TIC" c_CasADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth_TIC
-  :: IO ()
-casADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth'
-  :: IO ()
-casADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth'  =
-  c_CasADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth_TIC  >>= wrapReturn
-
--- classy wrapper
-sx_setEqualityCheckingDepth' :: IO ()
-sx_setEqualityCheckingDepth' = casADi__Matrix_CasADi__SXElement___setEqualityCheckingDepth'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___getEqualityCheckingDepth" c_CasADi__Matrix_CasADi__SXElement___getEqualityCheckingDepth
-  :: IO CInt
-casADi__Matrix_CasADi__SXElement___getEqualityCheckingDepth
-  :: IO Int
-casADi__Matrix_CasADi__SXElement___getEqualityCheckingDepth  =
-  c_CasADi__Matrix_CasADi__SXElement___getEqualityCheckingDepth  >>= wrapReturn
-
--- classy wrapper
-sx_getEqualityCheckingDepth :: IO Int
-sx_getEqualityCheckingDepth = casADi__Matrix_CasADi__SXElement___getEqualityCheckingDepth
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___className" c_CasADi__Matrix_CasADi__SXElement___className
-  :: IO (Ptr StdString')
-casADi__Matrix_CasADi__SXElement___className
-  :: IO String
-casADi__Matrix_CasADi__SXElement___className  =
-  c_CasADi__Matrix_CasADi__SXElement___className  >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Printing.
--}
-sx_className :: IO String
-sx_className = casADi__Matrix_CasADi__SXElement___className
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___printScalar_TIC" c_CasADi__Matrix_CasADi__SXElement___printScalar_TIC
-  :: Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___printScalar'
-  :: SX -> IO ()
-casADi__Matrix_CasADi__SXElement___printScalar' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___printScalar_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx_printScalar' :: SXClass a => a -> IO ()
-sx_printScalar' x = casADi__Matrix_CasADi__SXElement___printScalar' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___printVector_TIC" c_CasADi__Matrix_CasADi__SXElement___printVector_TIC
-  :: Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___printVector'
-  :: SX -> IO ()
-casADi__Matrix_CasADi__SXElement___printVector' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___printVector_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx_printVector' :: SXClass a => a -> IO ()
-sx_printVector' x = casADi__Matrix_CasADi__SXElement___printVector' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___printDense_TIC" c_CasADi__Matrix_CasADi__SXElement___printDense_TIC
-  :: Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___printDense'
-  :: SX -> IO ()
-casADi__Matrix_CasADi__SXElement___printDense' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___printDense_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx_printDense' :: SXClass a => a -> IO ()
-sx_printDense' x = casADi__Matrix_CasADi__SXElement___printDense' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___printSparse_TIC" c_CasADi__Matrix_CasADi__SXElement___printSparse_TIC
-  :: Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___printSparse'
-  :: SX -> IO ()
-casADi__Matrix_CasADi__SXElement___printSparse' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___printSparse_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx_printSparse' :: SXClass a => a -> IO ()
-sx_printSparse' x = casADi__Matrix_CasADi__SXElement___printSparse' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___row" c_CasADi__Matrix_CasADi__SXElement___row
-  :: Ptr SX' -> CInt -> IO CInt
-casADi__Matrix_CasADi__SXElement___row
-  :: SX -> Int -> IO Int
-casADi__Matrix_CasADi__SXElement___row x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___row x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sx_row :: SXClass a => a -> Int -> IO Int
-sx_row x = casADi__Matrix_CasADi__SXElement___row (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___colind" c_CasADi__Matrix_CasADi__SXElement___colind
-  :: Ptr SX' -> CInt -> IO CInt
-casADi__Matrix_CasADi__SXElement___colind
-  :: SX -> Int -> IO Int
-casADi__Matrix_CasADi__SXElement___colind x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___colind x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sx_colind :: SXClass a => a -> Int -> IO Int
-sx_colind x = casADi__Matrix_CasADi__SXElement___colind (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___clear" c_CasADi__Matrix_CasADi__SXElement___clear
-  :: Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___clear
-  :: SX -> IO ()
-casADi__Matrix_CasADi__SXElement___clear x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___clear x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sx_clear :: SXClass a => a -> IO ()
-sx_clear x = casADi__Matrix_CasADi__SXElement___clear (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___resize" c_CasADi__Matrix_CasADi__SXElement___resize
-  :: Ptr SX' -> CInt -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___resize
-  :: SX -> Int -> Int -> IO ()
-casADi__Matrix_CasADi__SXElement___resize x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___resize x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sx_resize :: SXClass a => a -> Int -> Int -> IO ()
-sx_resize x = casADi__Matrix_CasADi__SXElement___resize (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___reserve" c_CasADi__Matrix_CasADi__SXElement___reserve
-  :: Ptr SX' -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___reserve
-  :: SX -> Int -> IO ()
-casADi__Matrix_CasADi__SXElement___reserve x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___reserve x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sx_reserve :: SXClass a => a -> Int -> IO ()
-sx_reserve x = casADi__Matrix_CasADi__SXElement___reserve (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___reserve_TIC" c_CasADi__Matrix_CasADi__SXElement___reserve_TIC
-  :: Ptr SX' -> CInt -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___reserve'
-  :: SX -> Int -> Int -> IO ()
-casADi__Matrix_CasADi__SXElement___reserve' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___reserve_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_reserve' :: SXClass a => a -> Int -> Int -> IO ()
-sx_reserve' x = casADi__Matrix_CasADi__SXElement___reserve' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___erase" c_CasADi__Matrix_CasADi__SXElement___erase
-  :: Ptr SX' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_CasADi__SXElement___erase
-  :: SX -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_CasADi__SXElement___erase x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___erase x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Erase a submatrix
->Erase rows and/or columns of a matrix.
--}
-sx_erase :: SXClass a => a -> Vector Int -> Vector Int -> IO ()
-sx_erase x = casADi__Matrix_CasADi__SXElement___erase (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___remove" c_CasADi__Matrix_CasADi__SXElement___remove
-  :: Ptr SX' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_CasADi__SXElement___remove
-  :: SX -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_CasADi__SXElement___remove x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___remove x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
-> [INTERNAL]  Remove cols or
->rows Rremove/delete rows and/or columns of a matrix.
--}
-sx_remove :: SXClass a => a -> Vector Int -> Vector Int -> IO ()
-sx_remove x = casADi__Matrix_CasADi__SXElement___remove (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___enlarge" c_CasADi__Matrix_CasADi__SXElement___enlarge
-  :: Ptr SX' -> CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Matrix_CasADi__SXElement___enlarge
-  :: SX -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casADi__Matrix_CasADi__SXElement___enlarge x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Matrix_CasADi__SXElement___enlarge x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Enlarge matrix
->Make the matrix larger by inserting empty rows and columns, keeping the
->existing non-zeros.
--}
-sx_enlarge :: SXClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-sx_enlarge x = casADi__Matrix_CasADi__SXElement___enlarge (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___data" c_CasADi__Matrix_CasADi__SXElement___data
-  :: Ptr SX' -> IO (Ptr (CppVec (Ptr SXElement')))
-casADi__Matrix_CasADi__SXElement___data
-  :: SX -> IO (Vector SXElement)
-casADi__Matrix_CasADi__SXElement___data x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___data x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  std::vector< DataType > & CasADi::Matrix< DataType >::data()
->------------------------------------------------------------------------
->[INTERNAL] 
->Access the non-zero elements.
->
->>  const std::vector< DataType > & CasADi::Matrix< DataType >::data() const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Const access the non-zero elements.
--}
-sx_data :: SXClass a => a -> IO (Vector SXElement)
-sx_data x = casADi__Matrix_CasADi__SXElement___data (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___sparsityRef" c_CasADi__Matrix_CasADi__SXElement___sparsityRef
-  :: Ptr SX' -> IO (Ptr Sparsity')
-casADi__Matrix_CasADi__SXElement___sparsityRef
-  :: SX -> IO Sparsity
-casADi__Matrix_CasADi__SXElement___sparsityRef x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___sparsityRef x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Access the
->sparsity, make a copy if there are multiple references to it.
--}
-sx_sparsityRef :: SXClass a => a -> IO Sparsity
-sx_sparsityRef x = casADi__Matrix_CasADi__SXElement___sparsityRef (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___set" c_CasADi__Matrix_CasADi__SXElement___set
-  :: Ptr SX' -> Ptr SXElement' -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___set
-  :: SX -> SXElement -> SparsityType -> IO ()
-casADi__Matrix_CasADi__SXElement___set x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___set x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< DataType >::set(DataType val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set the non-zero elements, scalar.
->
->>  void CasADi::Matrix< DataType >::set(const std::vector< DataType > &val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set the non-zero elements, vector.
->
->>  void CasADi::Matrix< DataType >::set(const Matrix< DataType > &val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Set the non-zero elements, Matrix.
->
->>  void CasADi::Matrix< DataType >::set(const DataType *val, SparsityType sp=SPARSE)
->------------------------------------------------------------------------
->[INTERNAL] 
->Legacy - use setArray instead.
--}
-sx_set :: SXClass a => a -> SXElement -> SparsityType -> IO ()
-sx_set x = casADi__Matrix_CasADi__SXElement___set (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___set_TIC" c_CasADi__Matrix_CasADi__SXElement___set_TIC
-  :: Ptr SX' -> Ptr SXElement' -> IO ()
-casADi__Matrix_CasADi__SXElement___set'
-  :: SX -> SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___set' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___set_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_set' :: SXClass a => a -> SXElement -> IO ()
-sx_set' x = casADi__Matrix_CasADi__SXElement___set' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___get" c_CasADi__Matrix_CasADi__SXElement___get
-  :: Ptr SX' -> Ptr SXElement' -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___get
-  :: SX -> SXElement -> SparsityType -> IO ()
-casADi__Matrix_CasADi__SXElement___get x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___get x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::Matrix< DataType >::get(DataType &val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get the non-zero elements, scalar.
->
->>  void CasADi::Matrix< DataType >::get(std::vector< DataType > &val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get the non-zero elements, vector.
->
->>  void CasADi::Matrix< DataType >::get(Matrix< DataType > &val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Get the non-zero elements, Matrix.
->
->>  void CasADi::Matrix< DataType >::get(DataType *val, SparsityType sp=SPARSE) const 
->------------------------------------------------------------------------
->[INTERNAL] 
->Legacy - use getArray instead.
--}
-sx_get :: SXClass a => a -> SXElement -> SparsityType -> IO ()
-sx_get x = casADi__Matrix_CasADi__SXElement___get (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___get_TIC" c_CasADi__Matrix_CasADi__SXElement___get_TIC
-  :: Ptr SX' -> Ptr SXElement' -> IO ()
-casADi__Matrix_CasADi__SXElement___get'
-  :: SX -> SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___get' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___get_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_get' :: SXClass a => a -> SXElement -> IO ()
-sx_get' x = casADi__Matrix_CasADi__SXElement___get' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___set_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___set_TIC_TIC
-  :: Ptr SX' -> Ptr (CppVec (Ptr SXElement')) -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___set''
-  :: SX -> Vector SXElement -> SparsityType -> IO ()
-casADi__Matrix_CasADi__SXElement___set'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___set_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_set'' :: SXClass a => a -> Vector SXElement -> SparsityType -> IO ()
-sx_set'' x = casADi__Matrix_CasADi__SXElement___set'' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___set_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___set_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr (CppVec (Ptr SXElement')) -> IO ()
-casADi__Matrix_CasADi__SXElement___set'''
-  :: SX -> Vector SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___set''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___set_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_set''' :: SXClass a => a -> Vector SXElement -> IO ()
-sx_set''' x = casADi__Matrix_CasADi__SXElement___set''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___get_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___get_TIC_TIC
-  :: Ptr SX' -> Ptr (CppVec (Ptr SXElement')) -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___get''
-  :: SX -> Vector SXElement -> SparsityType -> IO ()
-casADi__Matrix_CasADi__SXElement___get'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___get_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_get'' :: SXClass a => a -> Vector SXElement -> SparsityType -> IO ()
-sx_get'' x = casADi__Matrix_CasADi__SXElement___get'' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___get_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___get_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr (CppVec (Ptr SXElement')) -> IO ()
-casADi__Matrix_CasADi__SXElement___get'''
-  :: SX -> Vector SXElement -> IO ()
-casADi__Matrix_CasADi__SXElement___get''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___get_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_get''' :: SXClass a => a -> Vector SXElement -> IO ()
-sx_get''' x = casADi__Matrix_CasADi__SXElement___get''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___set_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___set_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___set''''
-  :: SX -> SX -> SparsityType -> IO ()
-casADi__Matrix_CasADi__SXElement___set'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___set_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_set'''' :: SXClass a => a -> SX -> SparsityType -> IO ()
-sx_set'''' x = casADi__Matrix_CasADi__SXElement___set'''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___set_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___set_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___set'''''
-  :: SX -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___set''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___set_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_set''''' :: SXClass a => a -> SX -> IO ()
-sx_set''''' x = casADi__Matrix_CasADi__SXElement___set''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___get_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___get_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___get''''
-  :: SX -> SX -> SparsityType -> IO ()
-casADi__Matrix_CasADi__SXElement___get'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___get_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_get'''' :: SXClass a => a -> SX -> SparsityType -> IO ()
-sx_get'''' x = casADi__Matrix_CasADi__SXElement___get'''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___get_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___get_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO ()
-casADi__Matrix_CasADi__SXElement___get'''''
-  :: SX -> SX -> IO ()
-casADi__Matrix_CasADi__SXElement___get''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___get_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_get''''' :: SXClass a => a -> SX -> IO ()
-sx_get''''' x = casADi__Matrix_CasADi__SXElement___get''''' (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___triplet" c_CasADi__Matrix_CasADi__SXElement___triplet
-  :: Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec (Ptr SXElement')) -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___triplet
-  :: Vector Int -> Vector Int -> Vector SXElement -> IO SX
-casADi__Matrix_CasADi__SXElement___triplet x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___triplet x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sx_triplet :: Vector Int -> Vector Int -> Vector SXElement -> IO SX
-sx_triplet = casADi__Matrix_CasADi__SXElement___triplet
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___triplet_TIC" c_CasADi__Matrix_CasADi__SXElement___triplet_TIC
-  :: Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec (Ptr SXElement')) -> CInt -> CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___triplet'
-  :: Vector Int -> Vector Int -> Vector SXElement -> Int -> Int -> IO SX
-casADi__Matrix_CasADi__SXElement___triplet' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Matrix_CasADi__SXElement___triplet_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-sx_triplet' :: Vector Int -> Vector Int -> Vector SXElement -> Int -> Int -> IO SX
-sx_triplet' = casADi__Matrix_CasADi__SXElement___triplet'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___inf" c_CasADi__Matrix_CasADi__SXElement___inf
-  :: Ptr Sparsity' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___inf
-  :: Sparsity -> IO SX
-casADi__Matrix_CasADi__SXElement___inf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___inf x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  create a matrix with
->all inf
--}
-sx_inf :: Sparsity -> IO SX
-sx_inf = casADi__Matrix_CasADi__SXElement___inf
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___inf_TIC" c_CasADi__Matrix_CasADi__SXElement___inf_TIC
-  :: CInt -> CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___inf'
-  :: Int -> Int -> IO SX
-casADi__Matrix_CasADi__SXElement___inf' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___inf_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_inf' :: Int -> Int -> IO SX
-sx_inf' = casADi__Matrix_CasADi__SXElement___inf'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___inf_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___inf_TIC_TIC
-  :: CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___inf''
-  :: Int -> IO SX
-casADi__Matrix_CasADi__SXElement___inf'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___inf_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx_inf'' :: Int -> IO SX
-sx_inf'' = casADi__Matrix_CasADi__SXElement___inf''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___inf_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___inf_TIC_TIC_TIC
-  :: IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___inf'''
-  :: IO SX
-casADi__Matrix_CasADi__SXElement___inf'''  =
-  c_CasADi__Matrix_CasADi__SXElement___inf_TIC_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-sx_inf''' :: IO SX
-sx_inf''' = casADi__Matrix_CasADi__SXElement___inf'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___nan" c_CasADi__Matrix_CasADi__SXElement___nan
-  :: Ptr Sparsity' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___nan
-  :: Sparsity -> IO SX
-casADi__Matrix_CasADi__SXElement___nan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___nan x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  create a matrix with
->all nan
--}
-sx_nan :: Sparsity -> IO SX
-sx_nan = casADi__Matrix_CasADi__SXElement___nan
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___nan_TIC" c_CasADi__Matrix_CasADi__SXElement___nan_TIC
-  :: CInt -> CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___nan'
-  :: Int -> Int -> IO SX
-casADi__Matrix_CasADi__SXElement___nan' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___nan_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_nan' :: Int -> Int -> IO SX
-sx_nan' = casADi__Matrix_CasADi__SXElement___nan'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___nan_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___nan_TIC_TIC
-  :: CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___nan''
-  :: Int -> IO SX
-casADi__Matrix_CasADi__SXElement___nan'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___nan_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx_nan'' :: Int -> IO SX
-sx_nan'' = casADi__Matrix_CasADi__SXElement___nan''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___nan_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___nan_TIC_TIC_TIC
-  :: IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___nan'''
-  :: IO SX
-casADi__Matrix_CasADi__SXElement___nan'''  =
-  c_CasADi__Matrix_CasADi__SXElement___nan_TIC_TIC_TIC  >>= wrapReturn
-
--- classy wrapper
-sx_nan''' :: IO SX
-sx_nan''' = casADi__Matrix_CasADi__SXElement___nan'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___repmat" c_CasADi__Matrix_CasADi__SXElement___repmat
-  :: Ptr SXElement' -> Ptr Sparsity' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___repmat
-  :: SXElement -> Sparsity -> IO SX
-casADi__Matrix_CasADi__SXElement___repmat x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___repmat x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  create a matrix
->by repeating an existing matrix
--}
-sx_repmat :: SXElement -> Sparsity -> IO SX
-sx_repmat = casADi__Matrix_CasADi__SXElement___repmat
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___repmat_TIC" c_CasADi__Matrix_CasADi__SXElement___repmat_TIC
-  :: Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___repmat'
-  :: SX -> Sparsity -> IO SX
-casADi__Matrix_CasADi__SXElement___repmat' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___repmat_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_repmat' :: SX -> Sparsity -> IO SX
-sx_repmat' = casADi__Matrix_CasADi__SXElement___repmat'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___repmat_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___repmat_TIC_TIC
-  :: Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___repmat''
-  :: SX -> Int -> Int -> IO SX
-casADi__Matrix_CasADi__SXElement___repmat'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___repmat_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx_repmat'' :: SX -> Int -> Int -> IO SX
-sx_repmat'' = casADi__Matrix_CasADi__SXElement___repmat''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___repmat_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___repmat_TIC_TIC_TIC
-  :: Ptr SX' -> CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___repmat'''
-  :: SX -> Int -> IO SX
-casADi__Matrix_CasADi__SXElement___repmat''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___repmat_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx_repmat''' :: SX -> Int -> IO SX
-sx_repmat''' = casADi__Matrix_CasADi__SXElement___repmat'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___eye" c_CasADi__Matrix_CasADi__SXElement___eye
-  :: CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___eye
-  :: Int -> IO SX
-casADi__Matrix_CasADi__SXElement___eye x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___eye x0' >>= wrapReturn
-
--- classy wrapper
-sx_eye :: Int -> IO SX
-sx_eye = casADi__Matrix_CasADi__SXElement___eye
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___isRegular" c_CasADi__Matrix_CasADi__SXElement___isRegular
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___isRegular
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___isRegular x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___isRegular x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Checks if
->expression does not contain NaN or Inf.
--}
-sx_isRegular :: SXClass a => a -> IO Bool
-sx_isRegular x = casADi__Matrix_CasADi__SXElement___isRegular (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___isSmooth" c_CasADi__Matrix_CasADi__SXElement___isSmooth
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___isSmooth
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___isSmooth x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___isSmooth x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if
->smooth.
--}
-sx_isSmooth :: SXClass a => a -> IO Bool
-sx_isSmooth x = casADi__Matrix_CasADi__SXElement___isSmooth (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___isSymbolic" c_CasADi__Matrix_CasADi__SXElement___isSymbolic
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___isSymbolic
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___isSymbolic x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___isSymbolic x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if
->symbolic (Dense) Sparse matrices invariable return false.
--}
-sx_isSymbolic :: SXClass a => a -> IO Bool
-sx_isSymbolic x = casADi__Matrix_CasADi__SXElement___isSymbolic (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___isSymbolicSparse" c_CasADi__Matrix_CasADi__SXElement___isSymbolicSparse
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___isSymbolicSparse
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___isSymbolicSparse x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___isSymbolicSparse x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check
->if symbolic Sparse matrices can return true if all non-zero elements are
->symbolic.
--}
-sx_isSymbolicSparse :: SXClass a => a -> IO Bool
-sx_isSymbolicSparse x = casADi__Matrix_CasADi__SXElement___isSymbolicSparse (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___isConstant" c_CasADi__Matrix_CasADi__SXElement___isConstant
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___isConstant
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___isConstant x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___isConstant x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if the
->matrix is constant (note that false negative answers are possible)
--}
-sx_isConstant :: SXClass a => a -> IO Bool
-sx_isConstant x = casADi__Matrix_CasADi__SXElement___isConstant (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___isInteger" c_CasADi__Matrix_CasADi__SXElement___isInteger
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___isInteger
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___isInteger x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___isInteger x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if the
->matrix is integer-valued (note that false negative answers are possible)
--}
-sx_isInteger :: SXClass a => a -> IO Bool
-sx_isInteger x = casADi__Matrix_CasADi__SXElement___isInteger (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___isZero" c_CasADi__Matrix_CasADi__SXElement___isZero
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___isZero
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___isZero x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___isZero x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is 0 (note that false negative answers are possible)
--}
-sx_isZero :: SXClass a => a -> IO Bool
-sx_isZero x = casADi__Matrix_CasADi__SXElement___isZero (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___isOne" c_CasADi__Matrix_CasADi__SXElement___isOne
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___isOne
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___isOne x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___isOne x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is 1 (note that false negative answers are possible)
--}
-sx_isOne :: SXClass a => a -> IO Bool
-sx_isOne x = casADi__Matrix_CasADi__SXElement___isOne (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___isMinusOne" c_CasADi__Matrix_CasADi__SXElement___isMinusOne
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___isMinusOne
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___isMinusOne x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___isMinusOne x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is -1 (note that false negative answers are possible)
--}
-sx_isMinusOne :: SXClass a => a -> IO Bool
-sx_isMinusOne x = casADi__Matrix_CasADi__SXElement___isMinusOne (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___isIdentity" c_CasADi__Matrix_CasADi__SXElement___isIdentity
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___isIdentity
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___isIdentity x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___isIdentity x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  check if the
->matrix is an identity matrix (note that false negative answers are possible)
--}
-sx_isIdentity :: SXClass a => a -> IO Bool
-sx_isIdentity x = casADi__Matrix_CasADi__SXElement___isIdentity (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___isEqual" c_CasADi__Matrix_CasADi__SXElement___isEqual
-  :: Ptr SX' -> Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___isEqual
-  :: SX -> SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___isEqual x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___isEqual x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if two
->expressions are equal May give false negatives.
->
->Note: does not work when CasadiOptions.setSimplificationOnTheFly(False) was
->called
--}
-sx_isEqual :: SXClass a => a -> SX -> IO Bool
-sx_isEqual x = casADi__Matrix_CasADi__SXElement___isEqual (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___hasNonStructuralZeros" c_CasADi__Matrix_CasADi__SXElement___hasNonStructuralZeros
-  :: Ptr SX' -> IO CInt
-casADi__Matrix_CasADi__SXElement___hasNonStructuralZeros
-  :: SX -> IO Bool
-casADi__Matrix_CasADi__SXElement___hasNonStructuralZeros x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___hasNonStructuralZeros x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]
->Check if the matrix has any zero entries which are not structural zeros.
--}
-sx_hasNonStructuralZeros :: SXClass a => a -> IO Bool
-sx_hasNonStructuralZeros x = casADi__Matrix_CasADi__SXElement___hasNonStructuralZeros (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___getValue" c_CasADi__Matrix_CasADi__SXElement___getValue
-  :: Ptr SX' -> IO CDouble
-casADi__Matrix_CasADi__SXElement___getValue
-  :: SX -> IO Double
-casADi__Matrix_CasADi__SXElement___getValue x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___getValue x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Get double
->value (only if constant)
--}
-sx_getValue :: SXClass a => a -> IO Double
-sx_getValue x = casADi__Matrix_CasADi__SXElement___getValue (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___getName" c_CasADi__Matrix_CasADi__SXElement___getName
-  :: Ptr SX' -> IO (Ptr StdString')
-casADi__Matrix_CasADi__SXElement___getName
-  :: SX -> IO String
-casADi__Matrix_CasADi__SXElement___getName x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___getName x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Get name (only
->if symbolic scalar)
--}
-sx_getName :: SXClass a => a -> IO String
-sx_getName x = casADi__Matrix_CasADi__SXElement___getName (castSX x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setPrecision" c_CasADi__Matrix_CasADi__SXElement___setPrecision
-  :: CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___setPrecision
-  :: Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setPrecision x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___setPrecision x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the 'precision, width & scientific' used in printing and serializing to
->streams.
--}
-sx_setPrecision :: Int -> IO ()
-sx_setPrecision = casADi__Matrix_CasADi__SXElement___setPrecision
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setWidth" c_CasADi__Matrix_CasADi__SXElement___setWidth
-  :: CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___setWidth
-  :: Int -> IO ()
-casADi__Matrix_CasADi__SXElement___setWidth x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___setWidth x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the 'precision, width & scientific' used in printing and serializing to
->streams.
--}
-sx_setWidth :: Int -> IO ()
-sx_setWidth = casADi__Matrix_CasADi__SXElement___setWidth
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___setScientific" c_CasADi__Matrix_CasADi__SXElement___setScientific
-  :: CInt -> IO ()
-casADi__Matrix_CasADi__SXElement___setScientific
-  :: Bool -> IO ()
-casADi__Matrix_CasADi__SXElement___setScientific x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___setScientific x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the 'precision, width & scientific' used in printing and serializing to
->streams.
--}
-sx_setScientific :: Bool -> IO ()
-sx_setScientific = casADi__Matrix_CasADi__SXElement___setScientific
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX" c_CasADi__Matrix_CasADi__SXElement___SX
-  :: IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX
-  :: IO SX
-casADi__Matrix_CasADi__SXElement___SX  =
-  c_CasADi__Matrix_CasADi__SXElement___SX  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::Matrix< DataType >::Matrix(int nrow, int ncol)
->
->>  CasADi::Matrix< DataType >::Matrix(int nrow, int ncol, const DataType &val)
->
->>  CasADi::Matrix< DataType >::Matrix(int nrow, int ncol, const std::vector< int > &colind, const std::vector< int > &row, const std::vector< DataType > &d=std::vector< DataType >())
->------------------------------------------------------------------------
->
->[DEPRECATED]
->
->>  CasADi::Matrix< DataType >::Matrix(const Sparsity &sparsity, const DataType &val=DataType(0))
->------------------------------------------------------------------------
->[INTERNAL] 
->Sparse matrix with a given sparsity.
->
->>  CasADi::Matrix< DataType >::Matrix()
->------------------------------------------------------------------------
->[INTERNAL] 
->constructors
->
->empty 0-by-0 matrix constructor
->
->>  CasADi::Matrix< DataType >::Matrix(const Matrix< DataType > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Copy constructor.
->
->>  CasADi::Matrix< DataType >::Matrix(const std::vector< std::vector< DataType > > &m)
->------------------------------------------------------------------------
->[INTERNAL] 
->Dense matrix constructor with data given as vector of vectors.
->
->>  CasADi::Matrix< DataType >::Matrix(const Sparsity &sparsity, const std::vector< DataType > &d)
->------------------------------------------------------------------------
->[INTERNAL] 
->Sparse matrix with a given sparsity and non-zero elements.
->
->>  CasADi::Matrix< DataType >::Matrix(double val)
->------------------------------------------------------------------------
->[INTERNAL] 
->This constructor enables implicit type conversion from a numeric type.
->
->>  CasADi::Matrix< DataType >::Matrix(const std::vector< DataType > &x)
->------------------------------------------------------------------------
->[INTERNAL] 
->Construct from a vector.
->
->Thanks to implicit conversion, you can pretend that Matrix(const SXElement&
->x); exists. Note: above remark applies only to C++, not python or octave
->interfaces
->
->>  CasADi::Matrix< DataType >::Matrix(const std::vector< DataType > &x, int nrow, int ncol)
->------------------------------------------------------------------------
->[INTERNAL] 
->Construct dense matrix from a vector with the elements in column major
->ordering.
->
->>  CasADi::Matrix< T >::Matrix(const Matrix< A > &x)
->------------------------------------------------------------------------
->
->Create a matrix from a matrix with a different type of matrix entries
->(assuming that the scalar conversion is valid)
->
->>  CasADi::Matrix< T >::Matrix(const std::vector< A > &x)
->------------------------------------------------------------------------
->
->Create an expression from an stl vector.
->
->>  CasADi::Matrix< T >::Matrix(const std::vector< A > &x, int nrow, int ncol)
->------------------------------------------------------------------------
->
->Create a non-vector expression from an stl vector.
--}
-sx :: IO SX
-sx = casADi__Matrix_CasADi__SXElement___SX
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX'
-  :: SX -> IO SX
-casADi__Matrix_CasADi__SXElement___SX' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx' :: SX -> IO SX
-sx' = casADi__Matrix_CasADi__SXElement___SX'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC
-  :: Ptr (CppVec (Ptr (CppVec (Ptr SXElement')))) -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX''
-  :: Vector (Vector SXElement) -> IO SX
-casADi__Matrix_CasADi__SXElement___SX'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx'' :: Vector (Vector SXElement) -> IO SX
-sx'' = casADi__Matrix_CasADi__SXElement___SX''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC
-  :: Ptr Sparsity' -> Ptr SXElement' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX'''
-  :: Sparsity -> SXElement -> IO SX
-casADi__Matrix_CasADi__SXElement___SX''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx''' :: Sparsity -> SXElement -> IO SX
-sx''' = casADi__Matrix_CasADi__SXElement___SX'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX''''
-  :: Sparsity -> IO SX
-casADi__Matrix_CasADi__SXElement___SX'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx'''' :: Sparsity -> IO SX
-sx'''' = casADi__Matrix_CasADi__SXElement___SX''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec (Ptr SXElement')) -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX'''''
-  :: Sparsity -> Vector SXElement -> IO SX
-casADi__Matrix_CasADi__SXElement___SX''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sx''''' :: Sparsity -> Vector SXElement -> IO SX
-sx''''' = casADi__Matrix_CasADi__SXElement___SX'''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC
-  :: CDouble -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX''''''
-  :: Double -> IO SX
-casADi__Matrix_CasADi__SXElement___SX'''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx'''''' :: Double -> IO SX
-sx'''''' = casADi__Matrix_CasADi__SXElement___SX''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr SXElement')) -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX'''''''
-  :: Vector SXElement -> IO SX
-casADi__Matrix_CasADi__SXElement___SX''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx''''''' :: Vector SXElement -> IO SX
-sx''''''' = casADi__Matrix_CasADi__SXElement___SX'''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr SXElement')) -> CInt -> CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX''''''''
-  :: Vector SXElement -> Int -> Int -> IO SX
-casADi__Matrix_CasADi__SXElement___SX'''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx'''''''' :: Vector SXElement -> Int -> Int -> IO SX
-sx'''''''' = casADi__Matrix_CasADi__SXElement___SX''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr IMatrix' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX'''''''''
-  :: IMatrix -> IO SX
-casADi__Matrix_CasADi__SXElement___SX''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx''''''''' :: IMatrix -> IO SX
-sx''''''''' = casADi__Matrix_CasADi__SXElement___SX'''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CInt) -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX''''''''''
-  :: Vector Int -> IO SX
-casADi__Matrix_CasADi__SXElement___SX'''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx'''''''''' :: Vector Int -> IO SX
-sx'''''''''' = casADi__Matrix_CasADi__SXElement___SX''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CInt) -> CInt -> CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX'''''''''''
-  :: Vector Int -> Int -> Int -> IO SX
-casADi__Matrix_CasADi__SXElement___SX''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx''''''''''' :: Vector Int -> Int -> Int -> IO SX
-sx''''''''''' = casADi__Matrix_CasADi__SXElement___SX'''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX''''''''''''
-  :: DMatrix -> IO SX
-casADi__Matrix_CasADi__SXElement___SX'''''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx'''''''''''' :: DMatrix -> IO SX
-sx'''''''''''' = casADi__Matrix_CasADi__SXElement___SX''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CDouble) -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX'''''''''''''
-  :: Vector Double -> IO SX
-casADi__Matrix_CasADi__SXElement___SX''''''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sx''''''''''''' :: Vector Double -> IO SX
-sx''''''''''''' = casADi__Matrix_CasADi__SXElement___SX'''''''''''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CDouble) -> CInt -> CInt -> IO (Ptr SX')
-casADi__Matrix_CasADi__SXElement___SX''''''''''''''
-  :: Vector Double -> Int -> Int -> IO SX
-casADi__Matrix_CasADi__SXElement___SX'''''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SXElement___SX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sx'''''''''''''' :: Vector Double -> Int -> Int -> IO SX
-sx'''''''''''''' = casADi__Matrix_CasADi__SXElement___SX''''''''''''''
-
diff --git a/Casadi/Wrappers/Classes/SXElement.hs b/Casadi/Wrappers/Classes/SXElement.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SXElement.hs
+++ /dev/null
@@ -1,1570 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SXElement
-       (
-         SXElement,
-         SXElementClass(..),
-         sxElement,
-         sxElement',
-         sxElement___add__,
-         sxElement___constpow__,
-         sxElement___copysign__,
-         sxElement___copysign__',
-         sxElement___div__,
-         sxElement___eq__,
-         sxElement___hash__,
-         sxElement___le__,
-         sxElement___lt__,
-         sxElement___mpower__,
-         sxElement___mrdivide__,
-         sxElement___mul__,
-         sxElement___ne__,
-         sxElement___nonzero__,
-         sxElement___pow__,
-         sxElement___sub__,
-         sxElement___truediv__,
-         sxElement_arccos,
-         sxElement_arccosh,
-         sxElement_arcsin,
-         sxElement_arcsinh,
-         sxElement_arctan,
-         sxElement_arctan2,
-         sxElement_arctan2',
-         sxElement_arctanh,
-         sxElement_assignIfDuplicate,
-         sxElement_assignIfDuplicate',
-         sxElement_binary,
-         sxElement_ceil,
-         sxElement_constpow,
-         sxElement_constpow',
-         sxElement_cos,
-         sxElement_cosh,
-         sxElement_erf,
-         sxElement_erfinv,
-         sxElement_exp,
-         sxElement_fabs,
-         sxElement_floor,
-         sxElement_fmax,
-         sxElement_fmax',
-         sxElement_fmin,
-         sxElement_fmin',
-         sxElement_getDep,
-         sxElement_getDep',
-         sxElement_getIntValue,
-         sxElement_getNdeps,
-         sxElement_getOp,
-         sxElement_getTemp,
-         sxElement_getValue,
-         sxElement_hasDep,
-         sxElement_if_else_zero,
-         sxElement_inv,
-         sxElement_isAlmostZero,
-         sxElement_isCommutative,
-         sxElement_isConstant,
-         sxElement_isDoubled,
-         sxElement_isEqual,
-         sxElement_isEqual',
-         sxElement_isInf,
-         sxElement_isInteger,
-         sxElement_isLeaf,
-         sxElement_isMinusInf,
-         sxElement_isMinusOne,
-         sxElement_isNan,
-         sxElement_isNonNegative,
-         sxElement_isNull,
-         sxElement_isOne,
-         sxElement_isOp,
-         sxElement_isRegular,
-         sxElement_isSymbolic,
-         sxElement_isZero,
-         sxElement_log,
-         sxElement_log10,
-         sxElement_logic_and,
-         sxElement_logic_not,
-         sxElement_logic_or,
-         sxElement_mark,
-         sxElement_marked,
-         sxElement_mul,
-         sxElement_operator_minus,
-         sxElement_printme,
-         sxElement_setTemp,
-         sxElement_sign,
-         sxElement_sin,
-         sxElement_sinh,
-         sxElement_sq,
-         sxElement_sqrt,
-         sxElement_sym,
-         sxElement_tan,
-         sxElement_tanh,
-         sxElement_trans,
-         sxElement_unary,
-       ) 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.CToolsInstances ( )
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
-import Casadi.Marshal ( Marshal(..), withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__sym" c_CasADi__SXElement__sym
-  :: Ptr StdString' -> IO (Ptr SXElement')
-casADi__SXElement__sym
-  :: String -> IO SXElement
-casADi__SXElement__sym x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__sym x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_sym :: String -> IO SXElement
-sxElement_sym = casADi__SXElement__sym
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__binary" c_CasADi__SXElement__binary
-  :: CInt -> Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__binary
-  :: Int -> SXElement -> SXElement -> IO SXElement
-casADi__SXElement__binary x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXElement__binary x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxElement_binary :: Int -> SXElement -> SXElement -> IO SXElement
-sxElement_binary = casADi__SXElement__binary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__unary" c_CasADi__SXElement__unary
-  :: CInt -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__unary
-  :: Int -> SXElement -> IO SXElement
-casADi__SXElement__unary x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__unary x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_unary :: Int -> SXElement -> IO SXElement
-sxElement_unary = casADi__SXElement__unary
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____nonzero__" c_CasADi__SXElement____nonzero__
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement____nonzero__
-  :: SXElement -> IO Bool
-casADi__SXElement____nonzero__ x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement____nonzero__ x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check the truth value of this node Introduced to catch bool(x) situations in
->python.
--}
-sxElement___nonzero__ :: SXElementClass a => a -> IO Bool
-sxElement___nonzero__ x = casADi__SXElement____nonzero__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isLeaf" c_CasADi__SXElement__isLeaf
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isLeaf
-  :: SXElement -> IO Bool
-casADi__SXElement__isLeaf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isLeaf x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->check if this SXElement is a leaf of the SX graph
->
->An SXElement qualifies as leaf when it has no dependencies.
--}
-sxElement_isLeaf :: SXElementClass a => a -> IO Bool
-sxElement_isLeaf x = casADi__SXElement__isLeaf (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isConstant" c_CasADi__SXElement__isConstant
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isConstant
-  :: SXElement -> IO Bool
-casADi__SXElement__isConstant x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isConstant x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_isConstant :: SXElementClass a => a -> IO Bool
-sxElement_isConstant x = casADi__SXElement__isConstant (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isInteger" c_CasADi__SXElement__isInteger
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isInteger
-  :: SXElement -> IO Bool
-casADi__SXElement__isInteger x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isInteger x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_isInteger :: SXElementClass a => a -> IO Bool
-sxElement_isInteger x = casADi__SXElement__isInteger (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isSymbolic" c_CasADi__SXElement__isSymbolic
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isSymbolic
-  :: SXElement -> IO Bool
-casADi__SXElement__isSymbolic x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isSymbolic x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_isSymbolic :: SXElementClass a => a -> IO Bool
-sxElement_isSymbolic x = casADi__SXElement__isSymbolic (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__hasDep" c_CasADi__SXElement__hasDep
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__hasDep
-  :: SXElement -> IO Bool
-casADi__SXElement__hasDep x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__hasDep x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_hasDep :: SXElementClass a => a -> IO Bool
-sxElement_hasDep x = casADi__SXElement__hasDep (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isCommutative" c_CasADi__SXElement__isCommutative
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isCommutative
-  :: SXElement -> IO Bool
-casADi__SXElement__isCommutative x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isCommutative x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check wether a binary SXElement is commutative.
--}
-sxElement_isCommutative :: SXElementClass a => a -> IO Bool
-sxElement_isCommutative x = casADi__SXElement__isCommutative (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isZero" c_CasADi__SXElement__isZero
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isZero
-  :: SXElement -> IO Bool
-casADi__SXElement__isZero x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isZero x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_isZero :: SXElementClass a => a -> IO Bool
-sxElement_isZero x = casADi__SXElement__isZero (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isAlmostZero" c_CasADi__SXElement__isAlmostZero
-  :: Ptr SXElement' -> CDouble -> IO CInt
-casADi__SXElement__isAlmostZero
-  :: SXElement -> Double -> IO Bool
-casADi__SXElement__isAlmostZero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__isAlmostZero x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_isAlmostZero :: SXElementClass a => a -> Double -> IO Bool
-sxElement_isAlmostZero x = casADi__SXElement__isAlmostZero (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isOne" c_CasADi__SXElement__isOne
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isOne
-  :: SXElement -> IO Bool
-casADi__SXElement__isOne x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isOne x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_isOne :: SXElementClass a => a -> IO Bool
-sxElement_isOne x = casADi__SXElement__isOne (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isMinusOne" c_CasADi__SXElement__isMinusOne
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isMinusOne
-  :: SXElement -> IO Bool
-casADi__SXElement__isMinusOne x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isMinusOne x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_isMinusOne :: SXElementClass a => a -> IO Bool
-sxElement_isMinusOne x = casADi__SXElement__isMinusOne (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isNan" c_CasADi__SXElement__isNan
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isNan
-  :: SXElement -> IO Bool
-casADi__SXElement__isNan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isNan x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_isNan :: SXElementClass a => a -> IO Bool
-sxElement_isNan x = casADi__SXElement__isNan (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isInf" c_CasADi__SXElement__isInf
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isInf
-  :: SXElement -> IO Bool
-casADi__SXElement__isInf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isInf x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_isInf :: SXElementClass a => a -> IO Bool
-sxElement_isInf x = casADi__SXElement__isInf (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isMinusInf" c_CasADi__SXElement__isMinusInf
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isMinusInf
-  :: SXElement -> IO Bool
-casADi__SXElement__isMinusInf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isMinusInf x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_isMinusInf :: SXElementClass a => a -> IO Bool
-sxElement_isMinusInf x = casADi__SXElement__isMinusInf (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__getOp" c_CasADi__SXElement__getOp
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__getOp
-  :: SXElement -> IO Int
-casADi__SXElement__getOp x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__getOp x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_getOp :: SXElementClass a => a -> IO Int
-sxElement_getOp x = casADi__SXElement__getOp (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isOp" c_CasADi__SXElement__isOp
-  :: Ptr SXElement' -> CInt -> IO CInt
-casADi__SXElement__isOp
-  :: SXElement -> Int -> IO Bool
-casADi__SXElement__isOp x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__isOp x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_isOp :: SXElementClass a => a -> Int -> IO Bool
-sxElement_isOp x = casADi__SXElement__isOp (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isRegular" c_CasADi__SXElement__isRegular
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isRegular
-  :: SXElement -> IO Bool
-casADi__SXElement__isRegular x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isRegular x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Checks if expression does not contain NaN or Inf.
--}
-sxElement_isRegular :: SXElementClass a => a -> IO Bool
-sxElement_isRegular x = casADi__SXElement__isRegular (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isEqual" c_CasADi__SXElement__isEqual
-  :: Ptr SXElement' -> Ptr SXElement' -> CInt -> IO CInt
-casADi__SXElement__isEqual
-  :: SXElement -> SXElement -> Int -> IO Bool
-casADi__SXElement__isEqual x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXElement__isEqual x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if two nodes are equivalent up to a given depth. Depth=0 checks if the
->expressions are identical, i.e. points to the same node.
->
->a = x*x b = x*x
->
->a.isEqual(b,0) will return false, but a.isEqual(b,1) will return true
--}
-sxElement_isEqual :: SXElementClass a => a -> SXElement -> Int -> IO Bool
-sxElement_isEqual x = casADi__SXElement__isEqual (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isEqual_TIC" c_CasADi__SXElement__isEqual_TIC
-  :: Ptr SXElement' -> Ptr SXElement' -> IO CInt
-casADi__SXElement__isEqual'
-  :: SXElement -> SXElement -> IO Bool
-casADi__SXElement__isEqual' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__isEqual_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_isEqual' :: SXElementClass a => a -> SXElement -> IO Bool
-sxElement_isEqual' x = casADi__SXElement__isEqual' (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isNonNegative" c_CasADi__SXElement__isNonNegative
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isNonNegative
-  :: SXElement -> IO Bool
-casADi__SXElement__isNonNegative x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isNonNegative x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if a value is always nonnegative (false negatives are allowed)
--}
-sxElement_isNonNegative :: SXElementClass a => a -> IO Bool
-sxElement_isNonNegative x = casADi__SXElement__isNonNegative (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__getValue" c_CasADi__SXElement__getValue
-  :: Ptr SXElement' -> IO CDouble
-casADi__SXElement__getValue
-  :: SXElement -> IO Double
-casADi__SXElement__getValue x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__getValue x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_getValue :: SXElementClass a => a -> IO Double
-sxElement_getValue x = casADi__SXElement__getValue (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__getIntValue" c_CasADi__SXElement__getIntValue
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__getIntValue
-  :: SXElement -> IO Int
-casADi__SXElement__getIntValue x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__getIntValue x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_getIntValue :: SXElementClass a => a -> IO Int
-sxElement_getIntValue x = casADi__SXElement__getIntValue (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__getDep" c_CasADi__SXElement__getDep
-  :: Ptr SXElement' -> CInt -> IO (Ptr SXElement')
-casADi__SXElement__getDep
-  :: SXElement -> Int -> IO SXElement
-casADi__SXElement__getDep x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__getDep x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_getDep :: SXElementClass a => a -> Int -> IO SXElement
-sxElement_getDep x = casADi__SXElement__getDep (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__getDep_TIC" c_CasADi__SXElement__getDep_TIC
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__getDep'
-  :: SXElement -> IO SXElement
-casADi__SXElement__getDep' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__getDep_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_getDep' :: SXElementClass a => a -> IO SXElement
-sxElement_getDep' x = casADi__SXElement__getDep' (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isDoubled" c_CasADi__SXElement__isDoubled
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isDoubled
-  :: SXElement -> IO Bool
-casADi__SXElement__isDoubled x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isDoubled x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is the sum of two equal expressions.
--}
-sxElement_isDoubled :: SXElementClass a => a -> IO Bool
-sxElement_isDoubled x = casADi__SXElement__isDoubled (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__getNdeps" c_CasADi__SXElement__getNdeps
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__getNdeps
-  :: SXElement -> IO Int
-casADi__SXElement__getNdeps x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__getNdeps x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of dependencies of a binary SXElement.
--}
-sxElement_getNdeps :: SXElementClass a => a -> IO Int
-sxElement_getNdeps x = casADi__SXElement__getNdeps (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____hash__" c_CasADi__SXElement____hash__
-  :: Ptr SXElement' -> IO CLong
-casADi__SXElement____hash__
-  :: SXElement -> IO Int
-casADi__SXElement____hash__ x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement____hash__ x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Returns a number that is unique for a given SXNode. If the SXElement does
->not point to any node, 0 is returned.
--}
-sxElement___hash__ :: SXElementClass a => a -> IO Int
-sxElement___hash__ x = casADi__SXElement____hash__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__operator_minus" c_CasADi__SXElement__operator_minus
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__operator_minus
-  :: SXElement -> IO SXElement
-casADi__SXElement__operator_minus x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__operator_minus x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_operator_minus :: SXElementClass a => a -> IO SXElement
-sxElement_operator_minus x = casADi__SXElement__operator_minus (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____add__" c_CasADi__SXElement____add__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____add__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____add__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____add__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___add__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___add__ x = casADi__SXElement____add__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____sub__" c_CasADi__SXElement____sub__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____sub__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____sub__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____sub__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___sub__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___sub__ x = casADi__SXElement____sub__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____mul__" c_CasADi__SXElement____mul__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____mul__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____mul__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____mul__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___mul__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___mul__ x = casADi__SXElement____mul__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____div__" c_CasADi__SXElement____div__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____div__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____div__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____div__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___div__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___div__ x = casADi__SXElement____div__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____lt__" c_CasADi__SXElement____lt__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____lt__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____lt__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____lt__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___lt__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___lt__ x = casADi__SXElement____lt__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____le__" c_CasADi__SXElement____le__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____le__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____le__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____le__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___le__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___le__ x = casADi__SXElement____le__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____eq__" c_CasADi__SXElement____eq__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____eq__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____eq__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____eq__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___eq__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___eq__ x = casADi__SXElement____eq__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____ne__" c_CasADi__SXElement____ne__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____ne__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____ne__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____ne__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___ne__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___ne__ x = casADi__SXElement____ne__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____truediv__" c_CasADi__SXElement____truediv__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____truediv__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____truediv__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____truediv__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___truediv__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___truediv__ x = casADi__SXElement____truediv__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____pow__" c_CasADi__SXElement____pow__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____pow__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____pow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____pow__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___pow__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___pow__ x = casADi__SXElement____pow__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____constpow__" c_CasADi__SXElement____constpow__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____constpow__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____constpow__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____constpow__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___constpow__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___constpow__ x = casADi__SXElement____constpow__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____mrdivide__" c_CasADi__SXElement____mrdivide__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____mrdivide__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____mrdivide__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____mrdivide__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___mrdivide__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___mrdivide__ x = casADi__SXElement____mrdivide__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____mpower__" c_CasADi__SXElement____mpower__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____mpower__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____mpower__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____mpower__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___mpower__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___mpower__ x = casADi__SXElement____mpower__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__trans" c_CasADi__SXElement__trans
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__trans
-  :: SXElement -> IO SXElement
-casADi__SXElement__trans x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__trans x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_trans :: SXElementClass a => a -> IO SXElement
-sxElement_trans x = casADi__SXElement__trans (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__mul" c_CasADi__SXElement__mul
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__mul
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement__mul x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__mul x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->The following functions serves two purposes: Numpy compatibility and to
->allow unambigous access.
--}
-sxElement_mul :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_mul x = casADi__SXElement__mul (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__exp" c_CasADi__SXElement__exp
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__exp
-  :: SXElement -> IO SXElement
-casADi__SXElement__exp x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__exp x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_exp :: SXElementClass a => a -> IO SXElement
-sxElement_exp x = casADi__SXElement__exp (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__log" c_CasADi__SXElement__log
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__log
-  :: SXElement -> IO SXElement
-casADi__SXElement__log x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__log x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_log :: SXElementClass a => a -> IO SXElement
-sxElement_log x = casADi__SXElement__log (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__sqrt" c_CasADi__SXElement__sqrt
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__sqrt
-  :: SXElement -> IO SXElement
-casADi__SXElement__sqrt x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__sqrt x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_sqrt :: SXElementClass a => a -> IO SXElement
-sxElement_sqrt x = casADi__SXElement__sqrt (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__sq" c_CasADi__SXElement__sq
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__sq
-  :: SXElement -> IO SXElement
-casADi__SXElement__sq x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__sq x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_sq :: SXElementClass a => a -> IO SXElement
-sxElement_sq x = casADi__SXElement__sq (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__sin" c_CasADi__SXElement__sin
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__sin
-  :: SXElement -> IO SXElement
-casADi__SXElement__sin x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__sin x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_sin :: SXElementClass a => a -> IO SXElement
-sxElement_sin x = casADi__SXElement__sin (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__cos" c_CasADi__SXElement__cos
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__cos
-  :: SXElement -> IO SXElement
-casADi__SXElement__cos x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__cos x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_cos :: SXElementClass a => a -> IO SXElement
-sxElement_cos x = casADi__SXElement__cos (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__tan" c_CasADi__SXElement__tan
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__tan
-  :: SXElement -> IO SXElement
-casADi__SXElement__tan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__tan x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_tan :: SXElementClass a => a -> IO SXElement
-sxElement_tan x = casADi__SXElement__tan (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__arcsin" c_CasADi__SXElement__arcsin
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__arcsin
-  :: SXElement -> IO SXElement
-casADi__SXElement__arcsin x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__arcsin x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_arcsin :: SXElementClass a => a -> IO SXElement
-sxElement_arcsin x = casADi__SXElement__arcsin (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__arccos" c_CasADi__SXElement__arccos
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__arccos
-  :: SXElement -> IO SXElement
-casADi__SXElement__arccos x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__arccos x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_arccos :: SXElementClass a => a -> IO SXElement
-sxElement_arccos x = casADi__SXElement__arccos (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__arctan" c_CasADi__SXElement__arctan
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__arctan
-  :: SXElement -> IO SXElement
-casADi__SXElement__arctan x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__arctan x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_arctan :: SXElementClass a => a -> IO SXElement
-sxElement_arctan x = casADi__SXElement__arctan (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__floor" c_CasADi__SXElement__floor
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__floor
-  :: SXElement -> IO SXElement
-casADi__SXElement__floor x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__floor x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_floor :: SXElementClass a => a -> IO SXElement
-sxElement_floor x = casADi__SXElement__floor (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__ceil" c_CasADi__SXElement__ceil
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__ceil
-  :: SXElement -> IO SXElement
-casADi__SXElement__ceil x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__ceil x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_ceil :: SXElementClass a => a -> IO SXElement
-sxElement_ceil x = casADi__SXElement__ceil (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__erf" c_CasADi__SXElement__erf
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__erf
-  :: SXElement -> IO SXElement
-casADi__SXElement__erf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__erf x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_erf :: SXElementClass a => a -> IO SXElement
-sxElement_erf x = casADi__SXElement__erf (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__erfinv" c_CasADi__SXElement__erfinv
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__erfinv
-  :: SXElement -> IO SXElement
-casADi__SXElement__erfinv x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__erfinv x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_erfinv :: SXElementClass a => a -> IO SXElement
-sxElement_erfinv x = casADi__SXElement__erfinv (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__fabs" c_CasADi__SXElement__fabs
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__fabs
-  :: SXElement -> IO SXElement
-casADi__SXElement__fabs x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__fabs x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_fabs :: SXElementClass a => a -> IO SXElement
-sxElement_fabs x = casADi__SXElement__fabs (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__fmin" c_CasADi__SXElement__fmin
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__fmin
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement__fmin x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__fmin x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_fmin :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_fmin x = casADi__SXElement__fmin (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__fmax" c_CasADi__SXElement__fmax
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__fmax
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement__fmax x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__fmax x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_fmax :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_fmax x = casADi__SXElement__fmax (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__inv" c_CasADi__SXElement__inv
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__inv
-  :: SXElement -> IO SXElement
-casADi__SXElement__inv x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__inv x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_inv :: SXElementClass a => a -> IO SXElement
-sxElement_inv x = casADi__SXElement__inv (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__sinh" c_CasADi__SXElement__sinh
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__sinh
-  :: SXElement -> IO SXElement
-casADi__SXElement__sinh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__sinh x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_sinh :: SXElementClass a => a -> IO SXElement
-sxElement_sinh x = casADi__SXElement__sinh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__cosh" c_CasADi__SXElement__cosh
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__cosh
-  :: SXElement -> IO SXElement
-casADi__SXElement__cosh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__cosh x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_cosh :: SXElementClass a => a -> IO SXElement
-sxElement_cosh x = casADi__SXElement__cosh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__tanh" c_CasADi__SXElement__tanh
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__tanh
-  :: SXElement -> IO SXElement
-casADi__SXElement__tanh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__tanh x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_tanh :: SXElementClass a => a -> IO SXElement
-sxElement_tanh x = casADi__SXElement__tanh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__arcsinh" c_CasADi__SXElement__arcsinh
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__arcsinh
-  :: SXElement -> IO SXElement
-casADi__SXElement__arcsinh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__arcsinh x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_arcsinh :: SXElementClass a => a -> IO SXElement
-sxElement_arcsinh x = casADi__SXElement__arcsinh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__arccosh" c_CasADi__SXElement__arccosh
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__arccosh
-  :: SXElement -> IO SXElement
-casADi__SXElement__arccosh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__arccosh x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_arccosh :: SXElementClass a => a -> IO SXElement
-sxElement_arccosh x = casADi__SXElement__arccosh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__arctanh" c_CasADi__SXElement__arctanh
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__arctanh
-  :: SXElement -> IO SXElement
-casADi__SXElement__arctanh x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__arctanh x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_arctanh :: SXElementClass a => a -> IO SXElement
-sxElement_arctanh x = casADi__SXElement__arctanh (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__arctan2" c_CasADi__SXElement__arctan2
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__arctan2
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement__arctan2 x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__arctan2 x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_arctan2 :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_arctan2 x = casADi__SXElement__arctan2 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__log10" c_CasADi__SXElement__log10
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__log10
-  :: SXElement -> IO SXElement
-casADi__SXElement__log10 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__log10 x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_log10 :: SXElementClass a => a -> IO SXElement
-sxElement_log10 x = casADi__SXElement__log10 (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__printme" c_CasADi__SXElement__printme
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__printme
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement__printme x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__printme x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_printme :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_printme x = casADi__SXElement__printme (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__sign" c_CasADi__SXElement__sign
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__sign
-  :: SXElement -> IO SXElement
-casADi__SXElement__sign x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__sign x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_sign :: SXElementClass a => a -> IO SXElement
-sxElement_sign x = casADi__SXElement__sign (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____copysign__" c_CasADi__SXElement____copysign__
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement____copysign__
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement____copysign__ x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____copysign__ x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___copysign__ :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement___copysign__ x = casADi__SXElement____copysign__ (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__constpow" c_CasADi__SXElement__constpow
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__constpow
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement__constpow x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__constpow x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_constpow :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_constpow x = casADi__SXElement__constpow (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__logic_not" c_CasADi__SXElement__logic_not
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__logic_not
-  :: SXElement -> IO SXElement
-casADi__SXElement__logic_not x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__logic_not x0' >>= wrapReturn
-
--- classy wrapper
-sxElement_logic_not :: SXElementClass a => a -> IO SXElement
-sxElement_logic_not x = casADi__SXElement__logic_not (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__logic_and" c_CasADi__SXElement__logic_and
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__logic_and
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement__logic_and x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__logic_and x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_logic_and :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_logic_and x = casADi__SXElement__logic_and (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__logic_or" c_CasADi__SXElement__logic_or
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__logic_or
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement__logic_or x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__logic_or x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_logic_or :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_logic_or x = casADi__SXElement__logic_or (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__if_else_zero" c_CasADi__SXElement__if_else_zero
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-casADi__SXElement__if_else_zero
-  :: SXElement -> SXElement -> IO SXElement
-casADi__SXElement__if_else_zero x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__if_else_zero x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_if_else_zero :: SXElementClass a => a -> SXElement -> IO SXElement
-sxElement_if_else_zero x = casADi__SXElement__if_else_zero (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__fmin_TIC" c_CasADi__SXElement__fmin_TIC
-  :: Ptr SXElement' -> Ptr SX' -> IO (Ptr SX')
-casADi__SXElement__fmin'
-  :: SXElement -> SX -> IO SX
-casADi__SXElement__fmin' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__fmin_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_fmin' :: SXElementClass a => a -> SX -> IO SX
-sxElement_fmin' x = casADi__SXElement__fmin' (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__fmax_TIC" c_CasADi__SXElement__fmax_TIC
-  :: Ptr SXElement' -> Ptr SX' -> IO (Ptr SX')
-casADi__SXElement__fmax'
-  :: SXElement -> SX -> IO SX
-casADi__SXElement__fmax' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__fmax_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_fmax' :: SXElementClass a => a -> SX -> IO SX
-sxElement_fmax' x = casADi__SXElement__fmax' (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__constpow_TIC" c_CasADi__SXElement__constpow_TIC
-  :: Ptr SXElement' -> Ptr SX' -> IO (Ptr SX')
-casADi__SXElement__constpow'
-  :: SXElement -> SX -> IO SX
-casADi__SXElement__constpow' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__constpow_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_constpow' :: SXElementClass a => a -> SX -> IO SX
-sxElement_constpow' x = casADi__SXElement__constpow' (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement____copysign___TIC" c_CasADi__SXElement____copysign___TIC
-  :: Ptr SXElement' -> Ptr SX' -> IO (Ptr SX')
-casADi__SXElement____copysign__'
-  :: SXElement -> SX -> IO SX
-casADi__SXElement____copysign__' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement____copysign___TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement___copysign__' :: SXElementClass a => a -> SX -> IO SX
-sxElement___copysign__' x = casADi__SXElement____copysign__' (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__arctan2_TIC" c_CasADi__SXElement__arctan2_TIC
-  :: Ptr SXElement' -> Ptr SX' -> IO (Ptr SX')
-casADi__SXElement__arctan2'
-  :: SXElement -> SX -> IO SX
-casADi__SXElement__arctan2' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__arctan2_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_arctan2' :: SXElementClass a => a -> SX -> IO SX
-sxElement_arctan2' x = casADi__SXElement__arctan2' (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__getTemp" c_CasADi__SXElement__getTemp
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__getTemp
-  :: SXElement -> IO Int
-casADi__SXElement__getTemp x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__getTemp x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sxElement_getTemp :: SXElementClass a => a -> IO Int
-sxElement_getTemp x = casADi__SXElement__getTemp (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__setTemp" c_CasADi__SXElement__setTemp
-  :: Ptr SXElement' -> CInt -> IO ()
-casADi__SXElement__setTemp
-  :: SXElement -> Int -> IO ()
-casADi__SXElement__setTemp x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__setTemp x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sxElement_setTemp :: SXElementClass a => a -> Int -> IO ()
-sxElement_setTemp x = casADi__SXElement__setTemp (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__marked" c_CasADi__SXElement__marked
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__marked
-  :: SXElement -> IO Bool
-casADi__SXElement__marked x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__marked x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sxElement_marked :: SXElementClass a => a -> IO Bool
-sxElement_marked x = casADi__SXElement__marked (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__mark" c_CasADi__SXElement__mark
-  :: Ptr SXElement' -> IO ()
-casADi__SXElement__mark
-  :: SXElement -> IO ()
-casADi__SXElement__mark x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__mark x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL] 
--}
-sxElement_mark :: SXElementClass a => a -> IO ()
-sxElement_mark x = casADi__SXElement__mark (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__assignIfDuplicate" c_CasADi__SXElement__assignIfDuplicate
-  :: Ptr SXElement' -> Ptr SXElement' -> CInt -> IO ()
-casADi__SXElement__assignIfDuplicate
-  :: SXElement -> SXElement -> Int -> IO ()
-casADi__SXElement__assignIfDuplicate x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXElement__assignIfDuplicate x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]
->Assign to another expression, if a duplicate. Check for equality up to a
->given depth.
--}
-sxElement_assignIfDuplicate :: SXElementClass a => a -> SXElement -> Int -> IO ()
-sxElement_assignIfDuplicate x = casADi__SXElement__assignIfDuplicate (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__assignIfDuplicate_TIC" c_CasADi__SXElement__assignIfDuplicate_TIC
-  :: Ptr SXElement' -> Ptr SXElement' -> IO ()
-casADi__SXElement__assignIfDuplicate'
-  :: SXElement -> SXElement -> IO ()
-casADi__SXElement__assignIfDuplicate' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXElement__assignIfDuplicate_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxElement_assignIfDuplicate' :: SXElementClass a => a -> SXElement -> IO ()
-sxElement_assignIfDuplicate' x = casADi__SXElement__assignIfDuplicate' (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__isNull" c_CasADi__SXElement__isNull
-  :: Ptr SXElement' -> IO CInt
-casADi__SXElement__isNull
-  :: SXElement -> IO Bool
-casADi__SXElement__isNull x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__isNull x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->SXElement nodes are not allowed to be null.
--}
-sxElement_isNull :: SXElementClass a => a -> IO Bool
-sxElement_isNull x = casADi__SXElement__isNull (castSXElement x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__SXElement" c_CasADi__SXElement__SXElement
-  :: IO (Ptr SXElement')
-casADi__SXElement__SXElement
-  :: IO SXElement
-casADi__SXElement__SXElement  =
-  c_CasADi__SXElement__SXElement  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::SXElement::SXElement()
->------------------------------------------------------------------------
->
->Default constructor (not-a-number) Object is initialised as not-a-number.
->
->>  CasADi::SXElement::SXElement(double val)
->------------------------------------------------------------------------
->
->Numerical constant constructor.
->
->Parameters:
->-----------
->
->val:  Numerical value
->
->>  CasADi::SXElement::SXElement(const std::string &name)
->------------------------------------------------------------------------
->
->[DEPRECATED] Replaced with SXElement::sym
->
->>  CasADi::SXElement::SXElement(SXNode *node, bool dummy)
->------------------------------------------------------------------------
->[INTERNAL] 
->Create an expression from a node: extra dummy argument to avoid
->ambigousity for 0/NULL
->
->>  CasADi::SXElement::SXElement(const SXElement &scalar)
->------------------------------------------------------------------------
->[INTERNAL] 
->Copy constructor.
--}
-sxElement :: IO SXElement
-sxElement = casADi__SXElement__SXElement
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXElement__SXElement_TIC" c_CasADi__SXElement__SXElement_TIC
-  :: CDouble -> IO (Ptr SXElement')
-casADi__SXElement__SXElement'
-  :: Double -> IO SXElement
-casADi__SXElement__SXElement' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXElement__SXElement_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sxElement' :: Double -> IO SXElement
-sxElement' = casADi__SXElement__SXElement'
-
diff --git a/Casadi/Wrappers/Classes/SXFunction.hs b/Casadi/Wrappers/Classes/SXFunction.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SXFunction.hs
+++ /dev/null
@@ -1,941 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SXFunction
-       (
-         SXFunction,
-         SXFunctionClass(..),
-         sxFunction,
-         sxFunction',
-         sxFunction'',
-         sxFunction''',
-         sxFunction_checkNode,
-         sxFunction_clearSymbolic,
-         sxFunction_countNodes,
-         sxFunction_getAlgorithmSize,
-         sxFunction_getAtomicInputReal,
-         sxFunction_getAtomicOperation,
-         sxFunction_getAtomicOutput,
-         sxFunction_getFree,
-         sxFunction_getWorkSize,
-         sxFunction_grad,
-         sxFunction_grad',
-         sxFunction_grad'',
-         sxFunction_grad''',
-         sxFunction_grad'''',
-         sxFunction_grad''''',
-         sxFunction_grad'''''',
-         sxFunction_hess,
-         sxFunction_hess',
-         sxFunction_hess'',
-         sxFunction_hess''',
-         sxFunction_hess'''',
-         sxFunction_hess''''',
-         sxFunction_hess'''''',
-         sxFunction_jac,
-         sxFunction_jac',
-         sxFunction_jac'',
-         sxFunction_jac''',
-         sxFunction_jac'''',
-         sxFunction_jac''''',
-         sxFunction_jac'''''',
-         sxFunction_jac''''''',
-         sxFunction_jac'''''''',
-         sxFunction_jac''''''''',
-         sxFunction_jac'''''''''',
-         sxFunction_jac''''''''''',
-         sxFunction_jac'''''''''''',
-         sxFunction_jac''''''''''''',
-         sxFunction_jac'''''''''''''',
-         sxFunction_tang,
-         sxFunction_tang',
-         sxFunction_tang'',
-         sxFunction_tang''',
-         sxFunction_tang'''',
-         sxFunction_tang''''',
-         sxFunction_tang'''''',
-       ) 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 SXFunction where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac" c_CasADi__SXFunction__jac
-  :: Ptr SXFunction' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr SX')
-casADi__SXFunction__jac
-  :: SXFunction -> Int -> Int -> Bool -> Bool -> IO SX
-casADi__SXFunction__jac x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__SXFunction__jac x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->Jacobian via source code transformation.
->
->See:  CasADi::Jacobian for an AD approach
--}
-sxFunction_jac :: SXFunctionClass a => a -> Int -> Int -> Bool -> Bool -> IO SX
-sxFunction_jac x = casADi__SXFunction__jac (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC" c_CasADi__SXFunction__jac_TIC
-  :: Ptr SXFunction' -> CInt -> CInt -> CInt -> IO (Ptr SX')
-casADi__SXFunction__jac'
-  :: SXFunction -> Int -> Int -> Bool -> IO SX
-casADi__SXFunction__jac' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__SXFunction__jac_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac' :: SXFunctionClass a => a -> Int -> Int -> Bool -> IO SX
-sxFunction_jac' x = casADi__SXFunction__jac' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC
-  :: Ptr SXFunction' -> CInt -> CInt -> IO (Ptr SX')
-casADi__SXFunction__jac''
-  :: SXFunction -> Int -> Int -> IO SX
-casADi__SXFunction__jac'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__jac_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac'' :: SXFunctionClass a => a -> Int -> Int -> IO SX
-sxFunction_jac'' x = casADi__SXFunction__jac'' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC
-  :: Ptr SXFunction' -> CInt -> IO (Ptr SX')
-casADi__SXFunction__jac'''
-  :: SXFunction -> Int -> IO SX
-casADi__SXFunction__jac''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac''' :: SXFunctionClass a => a -> Int -> IO SX
-sxFunction_jac''' x = casADi__SXFunction__jac''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> IO (Ptr SX')
-casADi__SXFunction__jac''''
-  :: SXFunction -> IO SX
-casADi__SXFunction__jac'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac'''' :: SXFunctionClass a => a -> IO SX
-sxFunction_jac'''' x = casADi__SXFunction__jac'''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> CInt -> CInt -> CInt -> IO (Ptr SX')
-casADi__SXFunction__jac'''''
-  :: SXFunction -> String -> Int -> Bool -> Bool -> IO SX
-casADi__SXFunction__jac''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac''''' :: SXFunctionClass a => a -> String -> Int -> Bool -> Bool -> IO SX
-sxFunction_jac''''' x = casADi__SXFunction__jac''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> CInt -> CInt -> IO (Ptr SX')
-casADi__SXFunction__jac''''''
-  :: SXFunction -> String -> Int -> Bool -> IO SX
-casADi__SXFunction__jac'''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac'''''' :: SXFunctionClass a => a -> String -> Int -> Bool -> IO SX
-sxFunction_jac'''''' x = casADi__SXFunction__jac'''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> CInt -> IO (Ptr SX')
-casADi__SXFunction__jac'''''''
-  :: SXFunction -> String -> Int -> IO SX
-casADi__SXFunction__jac''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac''''''' :: SXFunctionClass a => a -> String -> Int -> IO SX
-sxFunction_jac''''''' x = casADi__SXFunction__jac''''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__jac''''''''
-  :: SXFunction -> String -> IO SX
-casADi__SXFunction__jac'''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac'''''''' :: SXFunctionClass a => a -> String -> IO SX
-sxFunction_jac'''''''' x = casADi__SXFunction__jac'''''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> CInt -> Ptr StdString' -> CInt -> CInt -> IO (Ptr SX')
-casADi__SXFunction__jac'''''''''
-  :: SXFunction -> Int -> String -> Bool -> Bool -> IO SX
-casADi__SXFunction__jac''''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac''''''''' :: SXFunctionClass a => a -> Int -> String -> Bool -> Bool -> IO SX
-sxFunction_jac''''''''' x = casADi__SXFunction__jac''''''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> CInt -> Ptr StdString' -> CInt -> IO (Ptr SX')
-casADi__SXFunction__jac''''''''''
-  :: SXFunction -> Int -> String -> Bool -> IO SX
-casADi__SXFunction__jac'''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac'''''''''' :: SXFunctionClass a => a -> Int -> String -> Bool -> IO SX
-sxFunction_jac'''''''''' x = casADi__SXFunction__jac'''''''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> CInt -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__jac'''''''''''
-  :: SXFunction -> Int -> String -> IO SX
-casADi__SXFunction__jac''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac''''''''''' :: SXFunctionClass a => a -> Int -> String -> IO SX
-sxFunction_jac''''''''''' x = casADi__SXFunction__jac''''''''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> Ptr StdString' -> CInt -> CInt -> IO (Ptr SX')
-casADi__SXFunction__jac''''''''''''
-  :: SXFunction -> String -> String -> Bool -> Bool -> IO SX
-casADi__SXFunction__jac'''''''''''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac'''''''''''' :: SXFunctionClass a => a -> String -> String -> Bool -> Bool -> IO SX
-sxFunction_jac'''''''''''' x = casADi__SXFunction__jac'''''''''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> Ptr StdString' -> CInt -> IO (Ptr SX')
-casADi__SXFunction__jac'''''''''''''
-  :: SXFunction -> String -> String -> Bool -> IO SX
-casADi__SXFunction__jac''''''''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac''''''''''''' :: SXFunctionClass a => a -> String -> String -> Bool -> IO SX
-sxFunction_jac''''''''''''' x = casADi__SXFunction__jac''''''''''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__jac''''''''''''''
-  :: SXFunction -> String -> String -> IO SX
-casADi__SXFunction__jac'''''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__jac_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_jac'''''''''''''' :: SXFunctionClass a => a -> String -> String -> IO SX
-sxFunction_jac'''''''''''''' x = casADi__SXFunction__jac'''''''''''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__grad" c_CasADi__SXFunction__grad
-  :: Ptr SXFunction' -> CInt -> CInt -> IO (Ptr SX')
-casADi__SXFunction__grad
-  :: SXFunction -> Int -> Int -> IO SX
-casADi__SXFunction__grad x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__grad x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Gradient via source code transformation.
--}
-sxFunction_grad :: SXFunctionClass a => a -> Int -> Int -> IO SX
-sxFunction_grad x = casADi__SXFunction__grad (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__grad_TIC" c_CasADi__SXFunction__grad_TIC
-  :: Ptr SXFunction' -> CInt -> IO (Ptr SX')
-casADi__SXFunction__grad'
-  :: SXFunction -> Int -> IO SX
-casADi__SXFunction__grad' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__grad_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxFunction_grad' :: SXFunctionClass a => a -> Int -> IO SX
-sxFunction_grad' x = casADi__SXFunction__grad' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__grad_TIC_TIC" c_CasADi__SXFunction__grad_TIC_TIC
-  :: Ptr SXFunction' -> IO (Ptr SX')
-casADi__SXFunction__grad''
-  :: SXFunction -> IO SX
-casADi__SXFunction__grad'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__grad_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sxFunction_grad'' :: SXFunctionClass a => a -> IO SX
-sxFunction_grad'' x = casADi__SXFunction__grad'' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__grad_TIC_TIC_TIC" c_CasADi__SXFunction__grad_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> CInt -> IO (Ptr SX')
-casADi__SXFunction__grad'''
-  :: SXFunction -> String -> Int -> IO SX
-casADi__SXFunction__grad''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__grad_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_grad''' :: SXFunctionClass a => a -> String -> Int -> IO SX
-sxFunction_grad''' x = casADi__SXFunction__grad''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__grad_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__grad_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__grad''''
-  :: SXFunction -> String -> IO SX
-casADi__SXFunction__grad'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__grad_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxFunction_grad'''' :: SXFunctionClass a => a -> String -> IO SX
-sxFunction_grad'''' x = casADi__SXFunction__grad'''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__grad_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__grad_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> CInt -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__grad'''''
-  :: SXFunction -> Int -> String -> IO SX
-casADi__SXFunction__grad''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__grad_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_grad''''' :: SXFunctionClass a => a -> Int -> String -> IO SX
-sxFunction_grad''''' x = casADi__SXFunction__grad''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__grad_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__grad_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__grad''''''
-  :: SXFunction -> String -> String -> IO SX
-casADi__SXFunction__grad'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__grad_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_grad'''''' :: SXFunctionClass a => a -> String -> String -> IO SX
-sxFunction_grad'''''' x = casADi__SXFunction__grad'''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__tang" c_CasADi__SXFunction__tang
-  :: Ptr SXFunction' -> CInt -> CInt -> IO (Ptr SX')
-casADi__SXFunction__tang
-  :: SXFunction -> Int -> Int -> IO SX
-casADi__SXFunction__tang x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__tang x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Tangent via source code transformation.
--}
-sxFunction_tang :: SXFunctionClass a => a -> Int -> Int -> IO SX
-sxFunction_tang x = casADi__SXFunction__tang (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__tang_TIC" c_CasADi__SXFunction__tang_TIC
-  :: Ptr SXFunction' -> CInt -> IO (Ptr SX')
-casADi__SXFunction__tang'
-  :: SXFunction -> Int -> IO SX
-casADi__SXFunction__tang' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__tang_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxFunction_tang' :: SXFunctionClass a => a -> Int -> IO SX
-sxFunction_tang' x = casADi__SXFunction__tang' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__tang_TIC_TIC" c_CasADi__SXFunction__tang_TIC_TIC
-  :: Ptr SXFunction' -> IO (Ptr SX')
-casADi__SXFunction__tang''
-  :: SXFunction -> IO SX
-casADi__SXFunction__tang'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__tang_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sxFunction_tang'' :: SXFunctionClass a => a -> IO SX
-sxFunction_tang'' x = casADi__SXFunction__tang'' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__tang_TIC_TIC_TIC" c_CasADi__SXFunction__tang_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> CInt -> IO (Ptr SX')
-casADi__SXFunction__tang'''
-  :: SXFunction -> String -> Int -> IO SX
-casADi__SXFunction__tang''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__tang_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_tang''' :: SXFunctionClass a => a -> String -> Int -> IO SX
-sxFunction_tang''' x = casADi__SXFunction__tang''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__tang_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__tang_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__tang''''
-  :: SXFunction -> String -> IO SX
-casADi__SXFunction__tang'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__tang_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxFunction_tang'''' :: SXFunctionClass a => a -> String -> IO SX
-sxFunction_tang'''' x = casADi__SXFunction__tang'''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__tang_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__tang_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> CInt -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__tang'''''
-  :: SXFunction -> Int -> String -> IO SX
-casADi__SXFunction__tang''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__tang_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_tang''''' :: SXFunctionClass a => a -> Int -> String -> IO SX
-sxFunction_tang''''' x = casADi__SXFunction__tang''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__tang_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__tang_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__tang''''''
-  :: SXFunction -> String -> String -> IO SX
-casADi__SXFunction__tang'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__tang_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_tang'''''' :: SXFunctionClass a => a -> String -> String -> IO SX
-sxFunction_tang'''''' x = casADi__SXFunction__tang'''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__hess" c_CasADi__SXFunction__hess
-  :: Ptr SXFunction' -> CInt -> CInt -> IO (Ptr SX')
-casADi__SXFunction__hess
-  :: SXFunction -> Int -> Int -> IO SX
-casADi__SXFunction__hess x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__hess x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Hessian (forward over adjoint) via source code transformation.
--}
-sxFunction_hess :: SXFunctionClass a => a -> Int -> Int -> IO SX
-sxFunction_hess x = casADi__SXFunction__hess (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__hess_TIC" c_CasADi__SXFunction__hess_TIC
-  :: Ptr SXFunction' -> CInt -> IO (Ptr SX')
-casADi__SXFunction__hess'
-  :: SXFunction -> Int -> IO SX
-casADi__SXFunction__hess' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__hess_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxFunction_hess' :: SXFunctionClass a => a -> Int -> IO SX
-sxFunction_hess' x = casADi__SXFunction__hess' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__hess_TIC_TIC" c_CasADi__SXFunction__hess_TIC_TIC
-  :: Ptr SXFunction' -> IO (Ptr SX')
-casADi__SXFunction__hess''
-  :: SXFunction -> IO SX
-casADi__SXFunction__hess'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__hess_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sxFunction_hess'' :: SXFunctionClass a => a -> IO SX
-sxFunction_hess'' x = casADi__SXFunction__hess'' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__hess_TIC_TIC_TIC" c_CasADi__SXFunction__hess_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> CInt -> IO (Ptr SX')
-casADi__SXFunction__hess'''
-  :: SXFunction -> String -> Int -> IO SX
-casADi__SXFunction__hess''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__hess_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_hess''' :: SXFunctionClass a => a -> String -> Int -> IO SX
-sxFunction_hess''' x = casADi__SXFunction__hess''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__hess_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__hess_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__hess''''
-  :: SXFunction -> String -> IO SX
-casADi__SXFunction__hess'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__hess_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxFunction_hess'''' :: SXFunctionClass a => a -> String -> IO SX
-sxFunction_hess'''' x = casADi__SXFunction__hess'''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__hess_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__hess_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> CInt -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__hess'''''
-  :: SXFunction -> Int -> String -> IO SX
-casADi__SXFunction__hess''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__hess_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_hess''''' :: SXFunctionClass a => a -> Int -> String -> IO SX
-sxFunction_hess''''' x = casADi__SXFunction__hess''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__hess_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__SXFunction__hess_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXFunction' -> Ptr StdString' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SXFunction__hess''''''
-  :: SXFunction -> String -> String -> IO SX
-casADi__SXFunction__hess'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__hess_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sxFunction_hess'''''' :: SXFunctionClass a => a -> String -> String -> IO SX
-sxFunction_hess'''''' x = casADi__SXFunction__hess'''''' (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__checkNode" c_CasADi__SXFunction__checkNode
-  :: Ptr SXFunction' -> IO CInt
-casADi__SXFunction__checkNode
-  :: SXFunction -> IO Bool
-casADi__SXFunction__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-sxFunction_checkNode :: SXFunctionClass a => a -> IO Bool
-sxFunction_checkNode x = casADi__SXFunction__checkNode (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__getAlgorithmSize" c_CasADi__SXFunction__getAlgorithmSize
-  :: Ptr SXFunction' -> IO CInt
-casADi__SXFunction__getAlgorithmSize
-  :: SXFunction -> IO Int
-casADi__SXFunction__getAlgorithmSize x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__getAlgorithmSize x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of atomic operations.
--}
-sxFunction_getAlgorithmSize :: SXFunctionClass a => a -> IO Int
-sxFunction_getAlgorithmSize x = casADi__SXFunction__getAlgorithmSize (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__getWorkSize" c_CasADi__SXFunction__getWorkSize
-  :: Ptr SXFunction' -> IO CInt
-casADi__SXFunction__getWorkSize
-  :: SXFunction -> IO Int
-casADi__SXFunction__getWorkSize x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__getWorkSize x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the length of the work vector.
--}
-sxFunction_getWorkSize :: SXFunctionClass a => a -> IO Int
-sxFunction_getWorkSize x = casADi__SXFunction__getWorkSize (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__getAtomicOperation" c_CasADi__SXFunction__getAtomicOperation
-  :: Ptr SXFunction' -> CInt -> IO CInt
-casADi__SXFunction__getAtomicOperation
-  :: SXFunction -> Int -> IO Int
-casADi__SXFunction__getAtomicOperation x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__getAtomicOperation x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get an atomic operation operator index.
--}
-sxFunction_getAtomicOperation :: SXFunctionClass a => a -> Int -> IO Int
-sxFunction_getAtomicOperation x = casADi__SXFunction__getAtomicOperation (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__getAtomicInputReal" c_CasADi__SXFunction__getAtomicInputReal
-  :: Ptr SXFunction' -> CInt -> IO CDouble
-casADi__SXFunction__getAtomicInputReal
-  :: SXFunction -> Int -> IO Double
-casADi__SXFunction__getAtomicInputReal x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__getAtomicInputReal x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the floating point output argument of an atomic operation.
--}
-sxFunction_getAtomicInputReal :: SXFunctionClass a => a -> Int -> IO Double
-sxFunction_getAtomicInputReal x = casADi__SXFunction__getAtomicInputReal (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__getAtomicOutput" c_CasADi__SXFunction__getAtomicOutput
-  :: Ptr SXFunction' -> CInt -> IO CInt
-casADi__SXFunction__getAtomicOutput
-  :: SXFunction -> Int -> IO Int
-casADi__SXFunction__getAtomicOutput x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__getAtomicOutput x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the (integer) output argument of an atomic operation.
--}
-sxFunction_getAtomicOutput :: SXFunctionClass a => a -> Int -> IO Int
-sxFunction_getAtomicOutput x = casADi__SXFunction__getAtomicOutput (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__countNodes" c_CasADi__SXFunction__countNodes
-  :: Ptr SXFunction' -> IO CInt
-casADi__SXFunction__countNodes
-  :: SXFunction -> IO Int
-casADi__SXFunction__countNodes x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__countNodes x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Number of nodes in the algorithm.
--}
-sxFunction_countNodes :: SXFunctionClass a => a -> IO Int
-sxFunction_countNodes x = casADi__SXFunction__countNodes (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__clearSymbolic" c_CasADi__SXFunction__clearSymbolic
-  :: Ptr SXFunction' -> IO ()
-casADi__SXFunction__clearSymbolic
-  :: SXFunction -> IO ()
-casADi__SXFunction__clearSymbolic x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__clearSymbolic x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Clear the function from its symbolic representation, to free up memory, no
->symbolic evaluations are possible after this.
--}
-sxFunction_clearSymbolic :: SXFunctionClass a => a -> IO ()
-sxFunction_clearSymbolic x = casADi__SXFunction__clearSymbolic (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__getFree" c_CasADi__SXFunction__getFree
-  :: Ptr SXFunction' -> IO (Ptr (CppVec (Ptr SXElement')))
-casADi__SXFunction__getFree
-  :: SXFunction -> IO (Vector SXElement)
-casADi__SXFunction__getFree x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__getFree x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get all the free variables of the function.
--}
-sxFunction_getFree :: SXFunctionClass a => a -> IO (Vector SXElement)
-sxFunction_getFree x = casADi__SXFunction__getFree (castSXFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__SXFunction" c_CasADi__SXFunction__SXFunction
-  :: IO (Ptr SXFunction')
-casADi__SXFunction__SXFunction
-  :: IO SXFunction
-casADi__SXFunction__SXFunction  =
-  c_CasADi__SXFunction__SXFunction  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::SXFunction::SXFunction()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::SXFunction::SXFunction(const MXFunction &f)
->------------------------------------------------------------------------
->
->Expand an MXFunction.
->
->>  CasADi::SXFunction::SXFunction(const Function &f)
->------------------------------------------------------------------------
->
->Expand an Function.
->
->>  CasADi::SXFunction::SXFunction(const std::vector< SX > &arg, const std::vector< SX > &res)
->
->>  CasADi::SXFunction::SXFunction(const std::vector< SX > &arg, const IOSchemeVector< SX > &res)
->
->>  CasADi::SXFunction::SXFunction(const IOSchemeVector< SX > &arg, const std::vector< SX > &res)
->
->>  CasADi::SXFunction::SXFunction(const IOSchemeVector< SX > &arg, const IOSchemeVector< SX > &res)
->------------------------------------------------------------------------
->
->Multiple (matrix valued) input, multiple (matrix valued) output.
->
->>  CasADi::SXFunction::SXFunction(const std::vector< std::vector< SXElement > > &arg, const std::vector< std::vector< SXElement > > &res)
->------------------------------------------------------------------------
->[INTERNAL] 
->Multiple (vector valued) input, multiple (vector valued) output.
->
->>  CasADi::SXFunction::SXFunction(const SX &arg, const SX &res)
->------------------------------------------------------------------------
->[INTERNAL] 
->Single (scalar/matrix/vector valued) input, single
->(scalar/matrix/vector valued) output.
->
->>  CasADi::SXFunction::SXFunction(const std::vector< std::vector< SXElement > > &arg, const SX &res)
->------------------------------------------------------------------------
->[INTERNAL] 
->Multiple (vector valued) input, single (scalar/vector/matrix valued)
->output.
->
->>  CasADi::SXFunction::SXFunction(const std::vector< SX > &arg, const SX &res)
->------------------------------------------------------------------------
->[INTERNAL] 
->Multiple (matrix valued) input, single (scalar/vector/matrix valued)
->output.
->
->>  CasADi::SXFunction::SXFunction(const SX &arg, const std::vector< std::vector< SXElement > > &res)
->------------------------------------------------------------------------
->[INTERNAL] 
->Single (scalar/vector/matrix valued) input, multiple (vector valued)
->output.
->
->>  CasADi::SXFunction::SXFunction(const SX &arg, const std::vector< SX > &res)
->------------------------------------------------------------------------
->[INTERNAL] 
->Single (scalar/vector/matrix valued) input, multiple (matrix valued)
->output.
--}
-sxFunction :: IO SXFunction
-sxFunction = casADi__SXFunction__SXFunction
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__SXFunction_TIC" c_CasADi__SXFunction__SXFunction_TIC
-  :: Ptr MXFunction' -> IO (Ptr SXFunction')
-casADi__SXFunction__SXFunction'
-  :: MXFunction -> IO SXFunction
-casADi__SXFunction__SXFunction' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__SXFunction_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sxFunction' :: MXFunction -> IO SXFunction
-sxFunction' = casADi__SXFunction__SXFunction'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__SXFunction_TIC_TIC" c_CasADi__SXFunction__SXFunction_TIC_TIC
-  :: Ptr Function' -> IO (Ptr SXFunction')
-casADi__SXFunction__SXFunction''
-  :: Function -> IO SXFunction
-casADi__SXFunction__SXFunction'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__SXFunction_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sxFunction'' :: Function -> IO SXFunction
-sxFunction'' = casADi__SXFunction__SXFunction''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SXFunction__SXFunction_TIC_TIC_TIC" c_CasADi__SXFunction__SXFunction_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> IO (Ptr SXFunction')
-casADi__SXFunction__SXFunction'''
-  :: Vector SX -> Vector SX -> IO SXFunction
-casADi__SXFunction__SXFunction''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__SXFunction_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sxFunction''' :: Vector SX -> Vector SX -> IO SXFunction
-sxFunction''' = casADi__SXFunction__SXFunction'''
-
diff --git a/Casadi/Wrappers/Classes/SharedObject.hs b/Casadi/Wrappers/Classes/SharedObject.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SharedObject.hs
+++ /dev/null
@@ -1,199 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SharedObject
-       (
-         SharedObject,
-         SharedObjectClass(..),
-         sharedObject_assertInit,
-         sharedObject_checkNode,
-         sharedObject_init,
-         sharedObject_init',
-         sharedObject_isInit,
-         sharedObject_isNull,
-         sharedObject_makeUnique,
-         sharedObject_makeUnique',
-         sharedObject_printPtr',
-       ) 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 SharedObject where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SharedObject__printPtr_TIC" c_CasADi__SharedObject__printPtr_TIC
-  :: Ptr SharedObject' -> IO ()
-casADi__SharedObject__printPtr'
-  :: SharedObject -> IO ()
-casADi__SharedObject__printPtr' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SharedObject__printPtr_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sharedObject_printPtr' :: SharedObjectClass a => a -> IO ()
-sharedObject_printPtr' x = casADi__SharedObject__printPtr' (castSharedObject x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SharedObject__init" c_CasADi__SharedObject__init
-  :: Ptr SharedObject' -> CInt -> IO ()
-casADi__SharedObject__init
-  :: SharedObject -> Bool -> IO ()
-casADi__SharedObject__init x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SharedObject__init x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Initialize or re-initialize the object:
->
->more documentation in the node class ( SharedObjectNode and derived classes)
--}
-sharedObject_init :: SharedObjectClass a => a -> Bool -> IO ()
-sharedObject_init x = casADi__SharedObject__init (castSharedObject x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SharedObject__init_TIC" c_CasADi__SharedObject__init_TIC
-  :: Ptr SharedObject' -> IO ()
-casADi__SharedObject__init'
-  :: SharedObject -> IO ()
-casADi__SharedObject__init' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SharedObject__init_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sharedObject_init' :: SharedObjectClass a => a -> IO ()
-sharedObject_init' x = casADi__SharedObject__init' (castSharedObject x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SharedObject__isInit" c_CasADi__SharedObject__isInit
-  :: Ptr SharedObject' -> IO CInt
-casADi__SharedObject__isInit
-  :: SharedObject -> IO Bool
-casADi__SharedObject__isInit x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SharedObject__isInit x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is initialized?
--}
-sharedObject_isInit :: SharedObjectClass a => a -> IO Bool
-sharedObject_isInit x = casADi__SharedObject__isInit (castSharedObject x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SharedObject__assertInit" c_CasADi__SharedObject__assertInit
-  :: Ptr SharedObject' -> IO ()
-casADi__SharedObject__assertInit
-  :: SharedObject -> IO ()
-casADi__SharedObject__assertInit x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SharedObject__assertInit x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Assert
->that it is initialized
--}
-sharedObject_assertInit :: SharedObjectClass a => a -> IO ()
-sharedObject_assertInit x = casADi__SharedObject__assertInit (castSharedObject x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SharedObject__isNull" c_CasADi__SharedObject__isNull
-  :: Ptr SharedObject' -> IO CInt
-casADi__SharedObject__isNull
-  :: SharedObject -> IO Bool
-casADi__SharedObject__isNull x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SharedObject__isNull x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is a null pointer?
--}
-sharedObject_isNull :: SharedObjectClass a => a -> IO Bool
-sharedObject_isNull x = casADi__SharedObject__isNull (castSharedObject x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SharedObject__checkNode" c_CasADi__SharedObject__checkNode
-  :: Ptr SharedObject' -> IO CInt
-casADi__SharedObject__checkNode
-  :: SharedObject -> IO Bool
-casADi__SharedObject__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SharedObject__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Assert
->that the node is pointing to the right type of object
--}
-sharedObject_checkNode :: SharedObjectClass a => a -> IO Bool
-sharedObject_checkNode x = casADi__SharedObject__checkNode (castSharedObject x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SharedObject__makeUnique" c_CasADi__SharedObject__makeUnique
-  :: Ptr SharedObject' -> CInt -> IO ()
-casADi__SharedObject__makeUnique
-  :: SharedObject -> Bool -> IO ()
-casADi__SharedObject__makeUnique x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SharedObject__makeUnique x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::SharedObject::makeUnique(bool clone_members=true)
->------------------------------------------------------------------------
->
->If there are other references to the object, then make a deep copy of it and
->point to this new object
->
->>  void CasADi::SharedObject::makeUnique(std::map< SharedObjectNode *, SharedObject > &already_copied, bool clone_members=true)
->------------------------------------------------------------------------
->[INTERNAL] 
->SWIGINTERNAL
--}
-sharedObject_makeUnique :: SharedObjectClass a => a -> Bool -> IO ()
-sharedObject_makeUnique x = casADi__SharedObject__makeUnique (castSharedObject x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SharedObject__makeUnique_TIC" c_CasADi__SharedObject__makeUnique_TIC
-  :: Ptr SharedObject' -> IO ()
-casADi__SharedObject__makeUnique'
-  :: SharedObject -> IO ()
-casADi__SharedObject__makeUnique' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SharedObject__makeUnique_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sharedObject_makeUnique' :: SharedObjectClass a => a -> IO ()
-sharedObject_makeUnique' x = casADi__SharedObject__makeUnique' (castSharedObject x)
-
diff --git a/Casadi/Wrappers/Classes/SimpleHomotopyNLPSolver.hs b/Casadi/Wrappers/Classes/SimpleHomotopyNLPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SimpleHomotopyNLPSolver.hs
+++ /dev/null
@@ -1,104 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SimpleHomotopyNLPSolver
-       (
-         SimpleHomotopyNLPSolver,
-         SimpleHomotopyNLPSolverClass(..),
-         simpleHomotopyNLPSolver,
-         simpleHomotopyNLPSolver',
-         simpleHomotopyNLPSolver_checkNode,
-         simpleHomotopyNLPSolver_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 SimpleHomotopyNLPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SimpleHomotopyNLPSolver__checkNode" c_CasADi__SimpleHomotopyNLPSolver__checkNode
-  :: Ptr SimpleHomotopyNLPSolver' -> IO CInt
-casADi__SimpleHomotopyNLPSolver__checkNode
-  :: SimpleHomotopyNLPSolver -> IO Bool
-casADi__SimpleHomotopyNLPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SimpleHomotopyNLPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-simpleHomotopyNLPSolver_checkNode :: SimpleHomotopyNLPSolverClass a => a -> IO Bool
-simpleHomotopyNLPSolver_checkNode x = casADi__SimpleHomotopyNLPSolver__checkNode (castSimpleHomotopyNLPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SimpleHomotopyNLPSolver__creator" c_CasADi__SimpleHomotopyNLPSolver__creator
-  :: Ptr Function' -> IO (Ptr HomotopyNLPSolver')
-casADi__SimpleHomotopyNLPSolver__creator
-  :: Function -> IO HomotopyNLPSolver
-casADi__SimpleHomotopyNLPSolver__creator x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SimpleHomotopyNLPSolver__creator x0' >>= wrapReturn
-
--- classy wrapper
-simpleHomotopyNLPSolver_creator :: Function -> IO HomotopyNLPSolver
-simpleHomotopyNLPSolver_creator = casADi__SimpleHomotopyNLPSolver__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver" c_CasADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver
-  :: IO (Ptr SimpleHomotopyNLPSolver')
-casADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver
-  :: IO SimpleHomotopyNLPSolver
-casADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver  =
-  c_CasADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::SimpleHomotopyNLPSolver::SimpleHomotopyNLPSolver()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::SimpleHomotopyNLPSolver::SimpleHomotopyNLPSolver(const Function &hnlp)
->------------------------------------------------------------------------
->
->Create an NLP solver instance.
--}
-simpleHomotopyNLPSolver :: IO SimpleHomotopyNLPSolver
-simpleHomotopyNLPSolver = casADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver_TIC" c_CasADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver_TIC
-  :: Ptr Function' -> IO (Ptr SimpleHomotopyNLPSolver')
-casADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver'
-  :: Function -> IO SimpleHomotopyNLPSolver
-casADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver_TIC x0' >>= wrapReturn
-
--- classy wrapper
-simpleHomotopyNLPSolver' :: Function -> IO SimpleHomotopyNLPSolver
-simpleHomotopyNLPSolver' = casADi__SimpleHomotopyNLPSolver__SimpleHomotopyNLPSolver'
-
diff --git a/Casadi/Wrappers/Classes/SimpleIndefDpleSolver.hs b/Casadi/Wrappers/Classes/SimpleIndefDpleSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SimpleIndefDpleSolver.hs
+++ /dev/null
@@ -1,113 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SimpleIndefDpleSolver
-       (
-         SimpleIndefDpleSolver,
-         SimpleIndefDpleSolverClass(..),
-         simpleIndefDpleSolver,
-         simpleIndefDpleSolver',
-         simpleIndefDpleSolver_checkNode,
-         simpleIndefDpleSolver_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 SimpleIndefDpleSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SimpleIndefDpleSolver__checkNode" c_CasADi__SimpleIndefDpleSolver__checkNode
-  :: Ptr SimpleIndefDpleSolver' -> IO CInt
-casADi__SimpleIndefDpleSolver__checkNode
-  :: SimpleIndefDpleSolver -> IO Bool
-casADi__SimpleIndefDpleSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SimpleIndefDpleSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-simpleIndefDpleSolver_checkNode :: SimpleIndefDpleSolverClass a => a -> IO Bool
-simpleIndefDpleSolver_checkNode x = casADi__SimpleIndefDpleSolver__checkNode (castSimpleIndefDpleSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SimpleIndefDpleSolver__creator" c_CasADi__SimpleIndefDpleSolver__creator
-  :: Ptr (CppVec (Ptr Sparsity')) -> Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr DpleSolver')
-casADi__SimpleIndefDpleSolver__creator
-  :: Vector Sparsity -> Vector Sparsity -> IO DpleSolver
-casADi__SimpleIndefDpleSolver__creator x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SimpleIndefDpleSolver__creator x0' x1' >>= wrapReturn
-
--- classy wrapper
-simpleIndefDpleSolver_creator :: Vector Sparsity -> Vector Sparsity -> IO DpleSolver
-simpleIndefDpleSolver_creator = casADi__SimpleIndefDpleSolver__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver" c_CasADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver
-  :: IO (Ptr SimpleIndefDpleSolver')
-casADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver
-  :: IO SimpleIndefDpleSolver
-casADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver  =
-  c_CasADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::SimpleIndefDpleSolver::SimpleIndefDpleSolver()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::SimpleIndefDpleSolver::SimpleIndefDpleSolver(const std::vector< Sparsity > &A, const std::vector< Sparsity > &V)
->------------------------------------------------------------------------
->
->Constructor.
->
->Parameters:
->-----------
->
->A:  List of sparsities of A_i
->
->V:  List of sparsities of V_i
--}
-simpleIndefDpleSolver :: IO SimpleIndefDpleSolver
-simpleIndefDpleSolver = casADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver_TIC" c_CasADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver_TIC
-  :: Ptr (CppVec (Ptr Sparsity')) -> Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr SimpleIndefDpleSolver')
-casADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver'
-  :: Vector Sparsity -> Vector Sparsity -> IO SimpleIndefDpleSolver
-casADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-simpleIndefDpleSolver' :: Vector Sparsity -> Vector Sparsity -> IO SimpleIndefDpleSolver
-simpleIndefDpleSolver' = casADi__SimpleIndefDpleSolver__SimpleIndefDpleSolver'
-
diff --git a/Casadi/Wrappers/Classes/Simulator.hs b/Casadi/Wrappers/Classes/Simulator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/Simulator.hs
+++ /dev/null
@@ -1,163 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.Simulator
-       (
-         Simulator,
-         SimulatorClass(..),
-         simulator,
-         simulator',
-         simulator'',
-         simulator''',
-         simulator'''',
-         simulator_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 Simulator where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Simulator__checkNode" c_CasADi__Simulator__checkNode
-  :: Ptr Simulator' -> IO CInt
-casADi__Simulator__checkNode
-  :: Simulator -> IO Bool
-casADi__Simulator__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Simulator__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-simulator_checkNode :: SimulatorClass a => a -> IO Bool
-simulator_checkNode x = casADi__Simulator__checkNode (castSimulator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Simulator__Simulator" c_CasADi__Simulator__Simulator
-  :: IO (Ptr Simulator')
-casADi__Simulator__Simulator
-  :: IO Simulator
-casADi__Simulator__Simulator  =
-  c_CasADi__Simulator__Simulator  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::Simulator::Simulator()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::Simulator::Simulator(const Integrator &integrator, const Function &output_fcn, const std::vector< double > &grid)
->------------------------------------------------------------------------
->
->Constructor.
->
->Parameters:
->-----------
->
->output_fcn:  output function which maps to n outputs.
->
->>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 . |
->+-----------+-------+----------------------------+
->
->>  CasADi::Simulator::Simulator(const Integrator &integrator, const std::vector< double > &grid)
->------------------------------------------------------------------------
->
->Output function equal to the state.
--}
-simulator :: IO Simulator
-simulator = casADi__Simulator__Simulator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Simulator__Simulator_TIC" c_CasADi__Simulator__Simulator_TIC
-  :: Ptr Integrator' -> Ptr Function' -> Ptr (CppVec CDouble) -> IO (Ptr Simulator')
-casADi__Simulator__Simulator'
-  :: Integrator -> Function -> Vector Double -> IO Simulator
-casADi__Simulator__Simulator' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Simulator__Simulator_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-simulator' :: Integrator -> Function -> Vector Double -> IO Simulator
-simulator' = casADi__Simulator__Simulator'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Simulator__Simulator_TIC_TIC" c_CasADi__Simulator__Simulator_TIC_TIC
-  :: Ptr Integrator' -> Ptr Function' -> Ptr DMatrix' -> IO (Ptr Simulator')
-casADi__Simulator__Simulator''
-  :: Integrator -> Function -> DMatrix -> IO Simulator
-casADi__Simulator__Simulator'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Simulator__Simulator_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-simulator'' :: Integrator -> Function -> DMatrix -> IO Simulator
-simulator'' = casADi__Simulator__Simulator''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Simulator__Simulator_TIC_TIC_TIC" c_CasADi__Simulator__Simulator_TIC_TIC_TIC
-  :: Ptr Integrator' -> Ptr (CppVec CDouble) -> IO (Ptr Simulator')
-casADi__Simulator__Simulator'''
-  :: Integrator -> Vector Double -> IO Simulator
-casADi__Simulator__Simulator''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Simulator__Simulator_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-simulator''' :: Integrator -> Vector Double -> IO Simulator
-simulator''' = casADi__Simulator__Simulator'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Simulator__Simulator_TIC_TIC_TIC_TIC" c_CasADi__Simulator__Simulator_TIC_TIC_TIC_TIC
-  :: Ptr Integrator' -> Ptr DMatrix' -> IO (Ptr Simulator')
-casADi__Simulator__Simulator''''
-  :: Integrator -> DMatrix -> IO Simulator
-casADi__Simulator__Simulator'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Simulator__Simulator_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-simulator'''' :: Integrator -> DMatrix -> IO Simulator
-simulator'''' = casADi__Simulator__Simulator''''
-
diff --git a/Casadi/Wrappers/Classes/Slice.hs b/Casadi/Wrappers/Classes/Slice.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/Slice.hs
+++ /dev/null
@@ -1,257 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.Slice
-       (
-         Slice,
-         SliceClass(..),
-         slice,
-         slice',
-         slice'',
-         slice''',
-         slice'''',
-         slice''''',
-         slice_getAll,
-         slice_getAll',
-         slice_isSlice,
-         slice_isSlice2,
-         slice_operator_equals,
-         slice_operator_nequals,
-       ) 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 Slice where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__isSlice" c_CasADi__Slice__isSlice
-  :: Ptr (CppVec CInt) -> IO CInt
-casADi__Slice__isSlice
-  :: Vector Int -> IO Bool
-casADi__Slice__isSlice x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Slice__isSlice x0' >>= wrapReturn
-
--- classy wrapper
-slice_isSlice :: Vector Int -> IO Bool
-slice_isSlice = casADi__Slice__isSlice
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__isSlice2" c_CasADi__Slice__isSlice2
-  :: Ptr (CppVec CInt) -> IO CInt
-casADi__Slice__isSlice2
-  :: Vector Int -> IO Bool
-casADi__Slice__isSlice2 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Slice__isSlice2 x0' >>= wrapReturn
-
--- classy wrapper
-slice_isSlice2 :: Vector Int -> IO Bool
-slice_isSlice2 = casADi__Slice__isSlice2
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__getAll" c_CasADi__Slice__getAll
-  :: Ptr Slice' -> CInt -> IO (Ptr (CppVec CInt))
-casADi__Slice__getAll
-  :: Slice -> Int -> IO (Vector Int)
-casADi__Slice__getAll x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Slice__getAll x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  std::vector< int > CasADi::Slice::getAll(int len) const 
->------------------------------------------------------------------------
->
->Get a vector of indices.
->
->>  std::vector< int > CasADi::Slice::getAll(const Slice &outer, int len) const 
->------------------------------------------------------------------------
->
->Get a vector of indices (nested slice)
--}
-slice_getAll :: SliceClass a => a -> Int -> IO (Vector Int)
-slice_getAll x = casADi__Slice__getAll (castSlice x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__getAll_TIC" c_CasADi__Slice__getAll_TIC
-  :: Ptr Slice' -> Ptr Slice' -> CInt -> IO (Ptr (CppVec CInt))
-casADi__Slice__getAll'
-  :: Slice -> Slice -> Int -> IO (Vector Int)
-casADi__Slice__getAll' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Slice__getAll_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-slice_getAll' :: SliceClass a => a -> Slice -> Int -> IO (Vector Int)
-slice_getAll' x = casADi__Slice__getAll' (castSlice x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__operator_equals" c_CasADi__Slice__operator_equals
-  :: Ptr Slice' -> Ptr Slice' -> IO CInt
-casADi__Slice__operator_equals
-  :: Slice -> Slice -> IO Bool
-casADi__Slice__operator_equals x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Slice__operator_equals x0' x1' >>= wrapReturn
-
--- classy wrapper
-slice_operator_equals :: SliceClass a => a -> Slice -> IO Bool
-slice_operator_equals x = casADi__Slice__operator_equals (castSlice x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__operator_nequals" c_CasADi__Slice__operator_nequals
-  :: Ptr Slice' -> Ptr Slice' -> IO CInt
-casADi__Slice__operator_nequals
-  :: Slice -> Slice -> IO Bool
-casADi__Slice__operator_nequals x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Slice__operator_nequals x0' x1' >>= wrapReturn
-
--- classy wrapper
-slice_operator_nequals :: SliceClass a => a -> Slice -> IO Bool
-slice_operator_nequals x = casADi__Slice__operator_nequals (castSlice x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__Slice" c_CasADi__Slice__Slice
-  :: IO (Ptr Slice')
-casADi__Slice__Slice
-  :: IO Slice
-casADi__Slice__Slice  =
-  c_CasADi__Slice__Slice  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::Slice::Slice()
->------------------------------------------------------------------------
->
->Defailt constructor - all elements.
->
->>  CasADi::Slice::Slice(int i)
->------------------------------------------------------------------------
->
->A single element.
->
->>  CasADi::Slice::Slice(int start, int stop, int step=1)
->------------------------------------------------------------------------
->
->A slice.
->
->>  CasADi::Slice::Slice(const std::vector< int > &v)
->------------------------------------------------------------------------
->
->Construct from an index vector (requires isSlice(v) to be true)
->
->>  CasADi::Slice::Slice(const std::vector< int > &v, Slice &outer)
->------------------------------------------------------------------------
->
->Construct nested slices from an index vector (requires isSlice2(v) to be
->true)
--}
-slice :: IO Slice
-slice = casADi__Slice__Slice
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__Slice_TIC" c_CasADi__Slice__Slice_TIC
-  :: CInt -> IO (Ptr Slice')
-casADi__Slice__Slice'
-  :: Int -> IO Slice
-casADi__Slice__Slice' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Slice__Slice_TIC x0' >>= wrapReturn
-
--- classy wrapper
-slice' :: Int -> IO Slice
-slice' = casADi__Slice__Slice'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__Slice_TIC_TIC" c_CasADi__Slice__Slice_TIC_TIC
-  :: CInt -> CInt -> CInt -> IO (Ptr Slice')
-casADi__Slice__Slice''
-  :: Int -> Int -> Int -> IO Slice
-casADi__Slice__Slice'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Slice__Slice_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-slice'' :: Int -> Int -> Int -> IO Slice
-slice'' = casADi__Slice__Slice''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__Slice_TIC_TIC_TIC" c_CasADi__Slice__Slice_TIC_TIC_TIC
-  :: CInt -> CInt -> IO (Ptr Slice')
-casADi__Slice__Slice'''
-  :: Int -> Int -> IO Slice
-casADi__Slice__Slice''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Slice__Slice_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-slice''' :: Int -> Int -> IO Slice
-slice''' = casADi__Slice__Slice'''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__Slice_TIC_TIC_TIC_TIC" c_CasADi__Slice__Slice_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CInt) -> IO (Ptr Slice')
-casADi__Slice__Slice''''
-  :: Vector Int -> IO Slice
-casADi__Slice__Slice'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Slice__Slice_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-slice'''' :: Vector Int -> IO Slice
-slice'''' = casADi__Slice__Slice''''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Slice__Slice_TIC_TIC_TIC_TIC_TIC" c_CasADi__Slice__Slice_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec CInt) -> Ptr Slice' -> IO (Ptr Slice')
-casADi__Slice__Slice'''''
-  :: Vector Int -> Slice -> IO Slice
-casADi__Slice__Slice''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Slice__Slice_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-slice''''' :: Vector Int -> Slice -> IO Slice
-slice''''' = casADi__Slice__Slice'''''
-
diff --git a/Casadi/Wrappers/Classes/Sparsity.hs b/Casadi/Wrappers/Classes/Sparsity.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/Sparsity.hs
+++ /dev/null
@@ -1,2463 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.Sparsity
-       (
-         Sparsity,
-         SparsityClass(..),
-         sparsity,
-         sparsity',
-         sparsity'',
-         sparsity_append,
-         sparsity_appendColumns,
-         sparsity_band,
-         sparsity_banded,
-         sparsity_checkNode,
-         sparsity_clearCache,
-         sparsity_colind,
-         sparsity_compress,
-         sparsity_compressed,
-         sparsity_dense,
-         sparsity_dense',
-         sparsity_depthFirstSearch,
-         sparsity_diag,
-         sparsity_diag',
-         sparsity_dimString,
-         sparsity_dulmageMendelsohn,
-         sparsity_dulmageMendelsohn',
-         sparsity_eliminationTree,
-         sparsity_eliminationTree',
-         sparsity_enlarge,
-         sparsity_enlargeColumns,
-         sparsity_enlargeRows,
-         sparsity_erase,
-         sparsity_getCCS,
-         sparsity_getCRS,
-         sparsity_getCol,
-         sparsity_getDiag,
-         sparsity_getElements,
-         sparsity_getElements',
-         sparsity_getElements'',
-         sparsity_getElements''',
-         sparsity_getLowerNZ,
-         sparsity_getNZ,
-         sparsity_getNZ',
-         sparsity_getNZ'',
-         sparsity_getNZInplace,
-         sparsity_getTril,
-         sparsity_getTril',
-         sparsity_getTriplet,
-         sparsity_getTriu,
-         sparsity_getTriu',
-         sparsity_getUpperNZ,
-         sparsity_hasNZ,
-         sparsity_hash,
-         sparsity_isDense,
-         sparsity_isDiagonal,
-         sparsity_isEmpty,
-         sparsity_isEmpty',
-         sparsity_isEqual,
-         sparsity_isEqual',
-         sparsity_isReshape,
-         sparsity_isScalar,
-         sparsity_isScalar',
-         sparsity_isSingular,
-         sparsity_isSquare,
-         sparsity_isSymmetric,
-         sparsity_isTranspose,
-         sparsity_isTril,
-         sparsity_isTriu,
-         sparsity_isVector,
-         sparsity_largestFirstOrdering,
-         sparsity_makeDense,
-         sparsity_numel,
-         sparsity_operator_equals,
-         sparsity_operator_mul,
-         sparsity_operator_nequals,
-         sparsity_operator_plus,
-         sparsity_patternCombine,
-         sparsity_patternCombine',
-         sparsity_patternIntersection,
-         sparsity_patternIntersection',
-         sparsity_patternInverse,
-         sparsity_patternProduct,
-         sparsity_patternUnion,
-         sparsity_patternUnion',
-         sparsity_pmult,
-         sparsity_pmult',
-         sparsity_pmult'',
-         sparsity_pmult''',
-         sparsity_printCompact',
-         sparsity_reCache,
-         sparsity_removeDuplicates,
-         sparsity_reserve,
-         sparsity_reshape,
-         sparsity_resize,
-         sparsity_row,
-         sparsity_rowcol,
-         sparsity_rowsSequential,
-         sparsity_rowsSequential',
-         sparsity_sanityCheck,
-         sparsity_sanityCheck',
-         sparsity_scalar,
-         sparsity_scalar',
-         sparsity_size,
-         sparsity_size1,
-         sparsity_size2,
-         sparsity_sizeD,
-         sparsity_sizeL,
-         sparsity_sizeU,
-         sparsity_sparse,
-         sparsity_sparse',
-         sparsity_spy',
-         sparsity_spyMatlab,
-         sparsity_starColoring,
-         sparsity_starColoring',
-         sparsity_starColoring'',
-         sparsity_starColoring2,
-         sparsity_starColoring2',
-         sparsity_starColoring2'',
-         sparsity_stronglyConnectedComponents,
-         sparsity_sub,
-         sparsity_transpose,
-         sparsity_transpose',
-         sparsity_transpose'',
-         sparsity_tril,
-         sparsity_triplet,
-         sparsity_triplet',
-         sparsity_triplet'',
-         sparsity_triu,
-         sparsity_unidirectionalColoring,
-         sparsity_unidirectionalColoring',
-         sparsity_unidirectionalColoring'',
-         sparsity_unit,
-       ) 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 Sparsity where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__scalar" c_CasADi__Sparsity__scalar
-  :: CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__scalar
-  :: Bool -> IO Sparsity
-casADi__Sparsity__scalar x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__scalar x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create a scalar sparsity pattern.
--}
-sparsity_scalar :: Bool -> IO Sparsity
-sparsity_scalar = casADi__Sparsity__scalar
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__scalar_TIC" c_CasADi__Sparsity__scalar_TIC
-  :: IO (Ptr Sparsity')
-casADi__Sparsity__scalar'
-  :: IO Sparsity
-casADi__Sparsity__scalar'  =
-  c_CasADi__Sparsity__scalar_TIC  >>= wrapReturn
-
--- classy wrapper
-sparsity_scalar' :: IO Sparsity
-sparsity_scalar' = casADi__Sparsity__scalar'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__dense" c_CasADi__Sparsity__dense
-  :: CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__dense
-  :: Int -> Int -> IO Sparsity
-casADi__Sparsity__dense x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__dense x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create a dense rectangular sparsity pattern.
--}
-sparsity_dense :: Int -> Int -> IO Sparsity
-sparsity_dense = casADi__Sparsity__dense
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__dense_TIC" c_CasADi__Sparsity__dense_TIC
-  :: CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__dense'
-  :: Int -> IO Sparsity
-casADi__Sparsity__dense' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__dense_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_dense' :: Int -> IO Sparsity
-sparsity_dense' = casADi__Sparsity__dense'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__sparse" c_CasADi__Sparsity__sparse
-  :: CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__sparse
-  :: Int -> Int -> IO Sparsity
-casADi__Sparsity__sparse x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__sparse x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create a sparse (empty) rectangular sparsity pattern.
--}
-sparsity_sparse :: Int -> Int -> IO Sparsity
-sparsity_sparse = casADi__Sparsity__sparse
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__sparse_TIC" c_CasADi__Sparsity__sparse_TIC
-  :: CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__sparse'
-  :: Int -> IO Sparsity
-casADi__Sparsity__sparse' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__sparse_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_sparse' :: Int -> IO Sparsity
-sparsity_sparse' = casADi__Sparsity__sparse'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__unit" c_CasADi__Sparsity__unit
-  :: CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__unit
-  :: Int -> Int -> IO Sparsity
-casADi__Sparsity__unit x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__unit x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create the sparsity pattern for a unit vector of length n and a nonzero on
->position el.
--}
-sparsity_unit :: Int -> Int -> IO Sparsity
-sparsity_unit = casADi__Sparsity__unit
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__triu" c_CasADi__Sparsity__triu
-  :: CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__triu
-  :: Int -> IO Sparsity
-casADi__Sparsity__triu x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__triu x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_triu :: Int -> IO Sparsity
-sparsity_triu = casADi__Sparsity__triu
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__tril" c_CasADi__Sparsity__tril
-  :: CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__tril
-  :: Int -> IO Sparsity
-casADi__Sparsity__tril x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__tril x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_tril :: Int -> IO Sparsity
-sparsity_tril = casADi__Sparsity__tril
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__diag" c_CasADi__Sparsity__diag
-  :: CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__diag
-  :: Int -> IO Sparsity
-casADi__Sparsity__diag x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__diag x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Create diagonal sparsity pattern.
--}
-sparsity_diag :: Int -> IO Sparsity
-sparsity_diag = casADi__Sparsity__diag
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__diag_TIC" c_CasADi__Sparsity__diag_TIC
-  :: CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__diag'
-  :: Int -> Int -> IO Sparsity
-casADi__Sparsity__diag' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__diag_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_diag' :: Int -> Int -> IO Sparsity
-sparsity_diag' = casADi__Sparsity__diag'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__band" c_CasADi__Sparsity__band
-  :: CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__band
-  :: Int -> Int -> IO Sparsity
-casADi__Sparsity__band x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__band x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_band :: Int -> Int -> IO Sparsity
-sparsity_band = casADi__Sparsity__band
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__banded" c_CasADi__Sparsity__banded
-  :: CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__banded
-  :: Int -> Int -> IO Sparsity
-casADi__Sparsity__banded x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__banded x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_banded :: Int -> Int -> IO Sparsity
-sparsity_banded = casADi__Sparsity__banded
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__rowcol" c_CasADi__Sparsity__rowcol
-  :: Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__rowcol
-  :: Vector Int -> Vector Int -> Int -> Int -> IO Sparsity
-casADi__Sparsity__rowcol x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Sparsity__rowcol x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sparsity_rowcol :: Vector Int -> Vector Int -> Int -> Int -> IO Sparsity
-sparsity_rowcol = casADi__Sparsity__rowcol
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__triplet" c_CasADi__Sparsity__triplet
-  :: CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__triplet
-  :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
-casADi__Sparsity__triplet x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  c_CasADi__Sparsity__triplet x0' x1' x2' x3' x4' x5' >>= wrapReturn
-
--- classy wrapper
-sparsity_triplet :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
-sparsity_triplet = casADi__Sparsity__triplet
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__triplet_TIC" c_CasADi__Sparsity__triplet_TIC
-  :: CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr Sparsity')
-casADi__Sparsity__triplet'
-  :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
-casADi__Sparsity__triplet' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Sparsity__triplet_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-sparsity_triplet' :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity_triplet' = casADi__Sparsity__triplet'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__triplet_TIC_TIC" c_CasADi__Sparsity__triplet_TIC_TIC
-  :: CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr Sparsity')
-casADi__Sparsity__triplet''
-  :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-casADi__Sparsity__triplet'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Sparsity__triplet_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sparsity_triplet'' :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity_triplet'' = casADi__Sparsity__triplet''
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__compressed" c_CasADi__Sparsity__compressed
-  :: Ptr (CppVec CInt) -> IO (Ptr Sparsity')
-casADi__Sparsity__compressed
-  :: Vector Int -> IO Sparsity
-casADi__Sparsity__compressed x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__compressed x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  Sparsity CasADi::Sparsity::compressed(const std::vector< int > &v)
->------------------------------------------------------------------------
->
->Create from a single vector containing the pattern in compressed column
->storage format: The format: The first two entries are the number of rows
->(nrow) and columns (ncol) The next ncol+1 entries are the column offsets
->(colind). Note that the last element, colind[ncol], gives the number of
->nonzeros The last colind[ncol] entries are the row indices
->
->>  Sparsity CasADi::Sparsity::compressed(const int *v)
->------------------------------------------------------------------------
->[INTERNAL] 
->Create from a single vector containing the pattern in compressed
->column storage format: The format: The first two entries are the
->number of rows (nrow) and columns (ncol) The next ncol+1 entries are
->the column offsets (colind). Note that the last element, colind[ncol],
->gives the number of nonzeros The last colind[ncol] entries are the row
->indices
--}
-sparsity_compressed :: Vector Int -> IO Sparsity
-sparsity_compressed = casADi__Sparsity__compressed
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__reCache" c_CasADi__Sparsity__reCache
-  :: Ptr Sparsity' -> IO ()
-casADi__Sparsity__reCache
-  :: Sparsity -> IO ()
-casADi__Sparsity__reCache x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__reCache x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if there
->is an identical copy of the sparsity pattern in the cache, and if so, make a
->shallow copy of that one.
--}
-sparsity_reCache :: SparsityClass a => a -> IO ()
-sparsity_reCache x = casADi__Sparsity__reCache (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__clearCache" c_CasADi__Sparsity__clearCache
-  :: IO ()
-casADi__Sparsity__clearCache
-  :: IO ()
-casADi__Sparsity__clearCache  =
-  c_CasADi__Sparsity__clearCache  >>= wrapReturn
-
--- classy wrapper
-sparsity_clearCache :: IO ()
-sparsity_clearCache = casADi__Sparsity__clearCache
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__sanityCheck" c_CasADi__Sparsity__sanityCheck
-  :: Ptr Sparsity' -> CInt -> IO ()
-casADi__Sparsity__sanityCheck
-  :: Sparsity -> Bool -> IO ()
-casADi__Sparsity__sanityCheck x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__sanityCheck x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the dimensions and colind, row vectors are compatible.
->
->Parameters:
->-----------
->
->complete:  set to true to also check elementwise throws an error as possible
->result
--}
-sparsity_sanityCheck :: SparsityClass a => a -> Bool -> IO ()
-sparsity_sanityCheck x = casADi__Sparsity__sanityCheck (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__sanityCheck_TIC" c_CasADi__Sparsity__sanityCheck_TIC
-  :: Ptr Sparsity' -> IO ()
-casADi__Sparsity__sanityCheck'
-  :: Sparsity -> IO ()
-casADi__Sparsity__sanityCheck' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__sanityCheck_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_sanityCheck' :: SparsityClass a => a -> IO ()
-sparsity_sanityCheck' x = casADi__Sparsity__sanityCheck' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getDiag" c_CasADi__Sparsity__getDiag
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> IO (Ptr Sparsity')
-casADi__Sparsity__getDiag
-  :: Sparsity -> Vector Int -> IO Sparsity
-casADi__Sparsity__getDiag x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__getDiag x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the diagonal of the matrix/create a diagonal matrix (mapping will
->contain the nonzero mapping) When the input is square, the diagonal elements
->are returned. If the input is vector-like, a diagonal matrix is constructed
->with it.
--}
-sparsity_getDiag :: SparsityClass a => a -> Vector Int -> IO Sparsity
-sparsity_getDiag x = casADi__Sparsity__getDiag (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__compress" c_CasADi__Sparsity__compress
-  :: Ptr Sparsity' -> IO (Ptr (CppVec CInt))
-casADi__Sparsity__compress
-  :: Sparsity -> IO (Vector Int)
-casADi__Sparsity__compress x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__compress x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Compress a sparsity pattern.
--}
-sparsity_compress :: SparsityClass a => a -> IO (Vector Int)
-sparsity_compress x = casADi__Sparsity__compress (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__checkNode" c_CasADi__Sparsity__checkNode
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__checkNode
-  :: Sparsity -> IO Bool
-casADi__Sparsity__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-sparsity_checkNode :: SparsityClass a => a -> IO Bool
-sparsity_checkNode x = casADi__Sparsity__checkNode (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isEqual" c_CasADi__Sparsity__isEqual
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isEqual
-  :: Sparsity -> Sparsity -> IO Bool
-casADi__Sparsity__isEqual x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__isEqual x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_isEqual :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_isEqual x = casADi__Sparsity__isEqual (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isEqual_TIC" c_CasADi__Sparsity__isEqual_TIC
-  :: Ptr Sparsity' -> CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO CInt
-casADi__Sparsity__isEqual'
-  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> IO Bool
-casADi__Sparsity__isEqual' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Sparsity__isEqual_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-sparsity_isEqual' :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO Bool
-sparsity_isEqual' x = casADi__Sparsity__isEqual' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__operator_equals" c_CasADi__Sparsity__operator_equals
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-casADi__Sparsity__operator_equals
-  :: Sparsity -> Sparsity -> IO Bool
-casADi__Sparsity__operator_equals x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__operator_equals x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_operator_equals :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_operator_equals x = casADi__Sparsity__operator_equals (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__operator_nequals" c_CasADi__Sparsity__operator_nequals
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-casADi__Sparsity__operator_nequals
-  :: Sparsity -> Sparsity -> IO Bool
-casADi__Sparsity__operator_nequals x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__operator_nequals x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_operator_nequals :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_operator_nequals x = casADi__Sparsity__operator_nequals (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__size1" c_CasADi__Sparsity__size1
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__size1
-  :: Sparsity -> IO Int
-casADi__Sparsity__size1 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__size1 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of rows.
--}
-sparsity_size1 :: SparsityClass a => a -> IO Int
-sparsity_size1 x = casADi__Sparsity__size1 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__size2" c_CasADi__Sparsity__size2
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__size2
-  :: Sparsity -> IO Int
-casADi__Sparsity__size2 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__size2 x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of columns.
--}
-sparsity_size2 :: SparsityClass a => a -> IO Int
-sparsity_size2 x = casADi__Sparsity__size2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__numel" c_CasADi__Sparsity__numel
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__numel
-  :: Sparsity -> IO Int
-casADi__Sparsity__numel x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__numel x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->The total number of elements, including structural zeros, i.e.
->size2()*size1()
->
->See:   size()
--}
-sparsity_numel :: SparsityClass a => a -> IO Int
-sparsity_numel x = casADi__Sparsity__numel (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isEmpty" c_CasADi__Sparsity__isEmpty
-  :: Ptr Sparsity' -> CInt -> IO CInt
-casADi__Sparsity__isEmpty
-  :: Sparsity -> Bool -> IO Bool
-casADi__Sparsity__isEmpty x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__isEmpty x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the sparsity is empty, i.e. if one of the dimensions is zero (or
->optionally both dimensions)
--}
-sparsity_isEmpty :: SparsityClass a => a -> Bool -> IO Bool
-sparsity_isEmpty x = casADi__Sparsity__isEmpty (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isEmpty_TIC" c_CasADi__Sparsity__isEmpty_TIC
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isEmpty'
-  :: Sparsity -> IO Bool
-casADi__Sparsity__isEmpty' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__isEmpty_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_isEmpty' :: SparsityClass a => a -> IO Bool
-sparsity_isEmpty' x = casADi__Sparsity__isEmpty' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__size" c_CasADi__Sparsity__size
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__size
-  :: Sparsity -> IO Int
-casADi__Sparsity__size x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__size x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the number of (structural) non-zeros.
->
->See:   numel()
--}
-sparsity_size :: SparsityClass a => a -> IO Int
-sparsity_size x = casADi__Sparsity__size (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__sizeU" c_CasADi__Sparsity__sizeU
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__sizeU
-  :: Sparsity -> IO Int
-casADi__Sparsity__sizeU x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__sizeU x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Number of non-zeros in the upper triangular half, i.e. the number of
->elements (i,j) with j>=i.
--}
-sparsity_sizeU :: SparsityClass a => a -> IO Int
-sparsity_sizeU x = casADi__Sparsity__sizeU (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__sizeL" c_CasADi__Sparsity__sizeL
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__sizeL
-  :: Sparsity -> IO Int
-casADi__Sparsity__sizeL x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__sizeL x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Number of non-zeros in the lower triangular half, i.e. the number of
->elements (i,j) with j<=i.
--}
-sparsity_sizeL :: SparsityClass a => a -> IO Int
-sparsity_sizeL x = casADi__Sparsity__sizeL (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__sizeD" c_CasADi__Sparsity__sizeD
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__sizeD
-  :: Sparsity -> IO Int
-casADi__Sparsity__sizeD x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__sizeD x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Number of non-zeros on the diagonal, i.e. the number of elements (i,j) with
->j==i.
--}
-sparsity_sizeD :: SparsityClass a => a -> IO Int
-sparsity_sizeD x = casADi__Sparsity__sizeD (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__row" c_CasADi__Sparsity__row
-  :: Ptr Sparsity' -> CInt -> IO CInt
-casADi__Sparsity__row
-  :: Sparsity -> Int -> IO Int
-casADi__Sparsity__row x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__row x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  const std::vector< int > & CasADi::Sparsity::row() const 
->------------------------------------------------------------------------
->
->Get a reference to row-vector, containing rows for all non-zero elements
->(see class description)
->
->>  int CasADi::Sparsity::row(int el) const 
->------------------------------------------------------------------------
->
->Get the row of a non-zero element.
--}
-sparsity_row :: SparsityClass a => a -> Int -> IO Int
-sparsity_row x = casADi__Sparsity__row (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__colind" c_CasADi__Sparsity__colind
-  :: Ptr Sparsity' -> CInt -> IO CInt
-casADi__Sparsity__colind
-  :: Sparsity -> Int -> IO Int
-casADi__Sparsity__colind x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__colind x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  const std::vector< int > & CasADi::Sparsity::colind() const 
->------------------------------------------------------------------------
->
->Get a reference to the colindex of all column element (see class
->description)
->
->>  int CasADi::Sparsity::colind(int i) const 
->------------------------------------------------------------------------
->
->Get a reference to the colindex of col i (see class description)
--}
-sparsity_colind :: SparsityClass a => a -> Int -> IO Int
-sparsity_colind x = casADi__Sparsity__colind (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getCol" c_CasADi__Sparsity__getCol
-  :: Ptr Sparsity' -> IO (Ptr (CppVec CInt))
-casADi__Sparsity__getCol
-  :: Sparsity -> IO (Vector Int)
-casADi__Sparsity__getCol x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__getCol x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the column for each non-zero entry Together with the row-vector, this
->vector gives the sparsity of the matrix in sparse triplet format, i.e. the
->column and row for each non-zero elements.
--}
-sparsity_getCol :: SparsityClass a => a -> IO (Vector Int)
-sparsity_getCol x = casADi__Sparsity__getCol (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__resize" c_CasADi__Sparsity__resize
-  :: Ptr Sparsity' -> CInt -> CInt -> IO ()
-casADi__Sparsity__resize
-  :: Sparsity -> Int -> Int -> IO ()
-casADi__Sparsity__resize x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__resize x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Resize.
--}
-sparsity_resize :: SparsityClass a => a -> Int -> Int -> IO ()
-sparsity_resize x = casADi__Sparsity__resize (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__reshape" c_CasADi__Sparsity__reshape
-  :: Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__reshape
-  :: Sparsity -> Int -> Int -> IO Sparsity
-casADi__Sparsity__reshape x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__reshape x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Reshape a sparsity, order of nonzeros remains the same.
--}
-sparsity_reshape :: SparsityClass a => a -> Int -> Int -> IO Sparsity
-sparsity_reshape x = casADi__Sparsity__reshape (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getNZ" c_CasADi__Sparsity__getNZ
-  :: Ptr Sparsity' -> CInt -> CInt -> IO CInt
-casADi__Sparsity__getNZ
-  :: Sparsity -> Int -> Int -> IO Int
-casADi__Sparsity__getNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__getNZ x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  int CasADi::Sparsity::getNZ(int rr, int cc)
->------------------------------------------------------------------------
->
->Get the index of a non-zero element Add the element if it does not exist and
->copy object if it's not unique.
->
->>  int CasADi::Sparsity::getNZ(int rr, int cc) const 
->------------------------------------------------------------------------
->
->Get the index of an existing non-zero element return -1 if the element does
->not exists.
->
->>  std::vector< int > CasADi::Sparsity::getNZ(const std::vector< int > &rr, const std::vector< int > &cc) const 
->------------------------------------------------------------------------
->
->Get a set of non-zero element return -1 if the element does not exists.
--}
-sparsity_getNZ :: SparsityClass a => a -> Int -> Int -> IO Int
-sparsity_getNZ x = casADi__Sparsity__getNZ (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getNZ_TIC" c_CasADi__Sparsity__getNZ_TIC
-  :: Ptr Sparsity' -> CInt -> CInt -> IO CInt
-casADi__Sparsity__getNZ'
-  :: Sparsity -> Int -> Int -> IO Int
-casADi__Sparsity__getNZ' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__getNZ_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sparsity_getNZ' :: SparsityClass a => a -> Int -> Int -> IO Int
-sparsity_getNZ' x = casADi__Sparsity__getNZ' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__hasNZ" c_CasADi__Sparsity__hasNZ
-  :: Ptr Sparsity' -> CInt -> CInt -> IO CInt
-casADi__Sparsity__hasNZ
-  :: Sparsity -> Int -> Int -> IO Bool
-casADi__Sparsity__hasNZ x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__hasNZ x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Returns true if the pattern has a non-zero at location rr,cc.
--}
-sparsity_hasNZ :: SparsityClass a => a -> Int -> Int -> IO Bool
-sparsity_hasNZ x = casADi__Sparsity__hasNZ (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getNZ_TIC_TIC" c_CasADi__Sparsity__getNZ_TIC_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr (CppVec CInt))
-casADi__Sparsity__getNZ''
-  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Int)
-casADi__Sparsity__getNZ'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__getNZ_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sparsity_getNZ'' :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Int)
-sparsity_getNZ'' x = casADi__Sparsity__getNZ'' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getNZInplace" c_CasADi__Sparsity__getNZInplace
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> IO ()
-casADi__Sparsity__getNZInplace
-  :: Sparsity -> Vector Int -> IO ()
-casADi__Sparsity__getNZInplace x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__getNZInplace x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the nonzero index for a set of elements The index vector is used both
->for input and outputs and must be sorted by increasing nonzero index, i.e.
->column-wise. Elements not found in the sparsity pattern are set to -1.
--}
-sparsity_getNZInplace :: SparsityClass a => a -> Vector Int -> IO ()
-sparsity_getNZInplace x = casADi__Sparsity__getNZInplace (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getLowerNZ" c_CasADi__Sparsity__getLowerNZ
-  :: Ptr Sparsity' -> IO (Ptr (CppVec CInt))
-casADi__Sparsity__getLowerNZ
-  :: Sparsity -> IO (Vector Int)
-casADi__Sparsity__getLowerNZ x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__getLowerNZ x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get nonzeros in lower triangular part.
--}
-sparsity_getLowerNZ :: SparsityClass a => a -> IO (Vector Int)
-sparsity_getLowerNZ x = casADi__Sparsity__getLowerNZ (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getUpperNZ" c_CasADi__Sparsity__getUpperNZ
-  :: Ptr Sparsity' -> IO (Ptr (CppVec CInt))
-casADi__Sparsity__getUpperNZ
-  :: Sparsity -> IO (Vector Int)
-casADi__Sparsity__getUpperNZ x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__getUpperNZ x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get nonzeros in upper triangular part.
--}
-sparsity_getUpperNZ :: SparsityClass a => a -> IO (Vector Int)
-sparsity_getUpperNZ x = casADi__Sparsity__getUpperNZ (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getCCS" c_CasADi__Sparsity__getCCS
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Sparsity__getCCS
-  :: Sparsity -> Vector Int -> Vector Int -> IO ()
-casADi__Sparsity__getCCS x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__getCCS x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the sparsity in compressed column storage (CCS) format.
--}
-sparsity_getCCS :: SparsityClass a => a -> Vector Int -> Vector Int -> IO ()
-sparsity_getCCS x = casADi__Sparsity__getCCS (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getCRS" c_CasADi__Sparsity__getCRS
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Sparsity__getCRS
-  :: Sparsity -> Vector Int -> Vector Int -> IO ()
-casADi__Sparsity__getCRS x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__getCRS x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the sparsity in compressed row storage (CRS) format.
--}
-sparsity_getCRS :: SparsityClass a => a -> Vector Int -> Vector Int -> IO ()
-sparsity_getCRS x = casADi__Sparsity__getCRS (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getTriplet" c_CasADi__Sparsity__getTriplet
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Sparsity__getTriplet
-  :: Sparsity -> Vector Int -> Vector Int -> IO ()
-casADi__Sparsity__getTriplet x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__getTriplet x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the sparsity in sparse triplet format.
--}
-sparsity_getTriplet :: SparsityClass a => a -> Vector Int -> Vector Int -> IO ()
-sparsity_getTriplet x = casADi__Sparsity__getTriplet (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__sub" c_CasADi__Sparsity__sub
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr Sparsity')
-casADi__Sparsity__sub
-  :: Sparsity -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
-casADi__Sparsity__sub x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Sparsity__sub x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get a submatrix.
->
->Returns the sparsity of the submatrix, with a mapping such that submatrix[k]
->= originalmatrix[mapping[k]]
--}
-sparsity_sub :: SparsityClass a => a -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity_sub x = casADi__Sparsity__sub (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__transpose" c_CasADi__Sparsity__transpose
-  :: Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__transpose
-  :: Sparsity -> IO Sparsity
-casADi__Sparsity__transpose x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__transpose x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  Sparsity CasADi::Sparsity::transpose() const 
->------------------------------------------------------------------------
->
->Transpose the matrix.
->
->>  Sparsity CasADi::Sparsity::transpose(std::vector< int > &mapping, bool invert_mapping=false) const 
->------------------------------------------------------------------------
->
->Transpose the matrix and get the reordering of the non-zero entries, i.e.
->the non-zeros of the original matrix for each non-zero of the new matrix.
--}
-sparsity_transpose :: SparsityClass a => a -> IO Sparsity
-sparsity_transpose x = casADi__Sparsity__transpose (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__transpose_TIC" c_CasADi__Sparsity__transpose_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__transpose'
-  :: Sparsity -> Vector Int -> Bool -> IO Sparsity
-casADi__Sparsity__transpose' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__transpose_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sparsity_transpose' :: SparsityClass a => a -> Vector Int -> Bool -> IO Sparsity
-sparsity_transpose' x = casADi__Sparsity__transpose' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__transpose_TIC_TIC" c_CasADi__Sparsity__transpose_TIC_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> IO (Ptr Sparsity')
-casADi__Sparsity__transpose''
-  :: Sparsity -> Vector Int -> IO Sparsity
-casADi__Sparsity__transpose'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__transpose_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_transpose'' :: SparsityClass a => a -> Vector Int -> IO Sparsity
-sparsity_transpose'' x = casADi__Sparsity__transpose'' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isTranspose" c_CasADi__Sparsity__isTranspose
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isTranspose
-  :: Sparsity -> Sparsity -> IO Bool
-casADi__Sparsity__isTranspose x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__isTranspose x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the sparsity is the transpose of another.
--}
-sparsity_isTranspose :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_isTranspose x = casADi__Sparsity__isTranspose (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isReshape" c_CasADi__Sparsity__isReshape
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isReshape
-  :: Sparsity -> Sparsity -> IO Bool
-casADi__Sparsity__isReshape x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__isReshape x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the sparsity is a reshape of another.
--}
-sparsity_isReshape :: SparsityClass a => a -> Sparsity -> IO Bool
-sparsity_isReshape x = casADi__Sparsity__isReshape (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__patternCombine" c_CasADi__Sparsity__patternCombine
-  :: Ptr Sparsity' -> Ptr Sparsity' -> CInt -> CInt -> Ptr (CppVec CUChar) -> IO (Ptr Sparsity')
-casADi__Sparsity__patternCombine
-  :: Sparsity -> Sparsity -> Bool -> Bool -> Vector CUChar -> IO Sparsity
-casADi__Sparsity__patternCombine x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Sparsity__patternCombine x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->Combine two sparsity patterns Returns the new sparsity pattern as well as a
->mapping with the same length as the number of non-zero elements The mapping
->matrix contains the arguments for each nonzero, the first bit indicates if
->the first argument is nonzero, the second bit indicates if the second
->argument is nonzero (note that none of, one of or both of the arguments can
->be nonzero)
--}
-sparsity_patternCombine :: SparsityClass a => a -> Sparsity -> Bool -> Bool -> Vector CUChar -> IO Sparsity
-sparsity_patternCombine x = casADi__Sparsity__patternCombine (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__patternCombine_TIC" c_CasADi__Sparsity__patternCombine_TIC
-  :: Ptr Sparsity' -> Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__patternCombine'
-  :: Sparsity -> Sparsity -> Bool -> Bool -> IO Sparsity
-casADi__Sparsity__patternCombine' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Sparsity__patternCombine_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sparsity_patternCombine' :: SparsityClass a => a -> Sparsity -> Bool -> Bool -> IO Sparsity
-sparsity_patternCombine' x = casADi__Sparsity__patternCombine' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__patternUnion" c_CasADi__Sparsity__patternUnion
-  :: Ptr Sparsity' -> Ptr Sparsity' -> Ptr (CppVec CUChar) -> IO (Ptr Sparsity')
-casADi__Sparsity__patternUnion
-  :: Sparsity -> Sparsity -> Vector CUChar -> IO Sparsity
-casADi__Sparsity__patternUnion x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__patternUnion x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Union of two sparsity patterns.
--}
-sparsity_patternUnion :: SparsityClass a => a -> Sparsity -> Vector CUChar -> IO Sparsity
-sparsity_patternUnion x = casADi__Sparsity__patternUnion (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__patternUnion_TIC" c_CasADi__Sparsity__patternUnion_TIC
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__patternUnion'
-  :: Sparsity -> Sparsity -> IO Sparsity
-casADi__Sparsity__patternUnion' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__patternUnion_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_patternUnion' :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_patternUnion' x = casADi__Sparsity__patternUnion' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__operator_plus" c_CasADi__Sparsity__operator_plus
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__operator_plus
-  :: Sparsity -> Sparsity -> IO Sparsity
-casADi__Sparsity__operator_plus x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__operator_plus x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_operator_plus :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_operator_plus x = casADi__Sparsity__operator_plus (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__patternIntersection" c_CasADi__Sparsity__patternIntersection
-  :: Ptr Sparsity' -> Ptr Sparsity' -> Ptr (CppVec CUChar) -> IO (Ptr Sparsity')
-casADi__Sparsity__patternIntersection
-  :: Sparsity -> Sparsity -> Vector CUChar -> IO Sparsity
-casADi__Sparsity__patternIntersection x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__patternIntersection x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Intersection of two sparsity patterns Returns the new sparsity pattern as
->well as a mapping with the same length as the number of non-zero elements
->The value is 1 if the non-zero comes from the first (i.e. this) object, 2 if
->it is from the second and 3 (i.e. 1 | 2) if from both.
--}
-sparsity_patternIntersection :: SparsityClass a => a -> Sparsity -> Vector CUChar -> IO Sparsity
-sparsity_patternIntersection x = casADi__Sparsity__patternIntersection (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__patternIntersection_TIC" c_CasADi__Sparsity__patternIntersection_TIC
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__patternIntersection'
-  :: Sparsity -> Sparsity -> IO Sparsity
-casADi__Sparsity__patternIntersection' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__patternIntersection_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_patternIntersection' :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_patternIntersection' x = casADi__Sparsity__patternIntersection' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__operator_mul" c_CasADi__Sparsity__operator_mul
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__operator_mul
-  :: Sparsity -> Sparsity -> IO Sparsity
-casADi__Sparsity__operator_mul x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__operator_mul x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_operator_mul :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_operator_mul x = casADi__Sparsity__operator_mul (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__patternProduct" c_CasADi__Sparsity__patternProduct
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__patternProduct
-  :: Sparsity -> Sparsity -> IO Sparsity
-casADi__Sparsity__patternProduct x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__patternProduct x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Sparsity pattern for a matrix-matrix product Returns the sparsity pattern
->resulting from premultiplying the pattern with the transpose of x. Returns
->the new sparsity pattern as well as a mapping with the same length as the
->number of non-zero elements The mapping contains a vector of the index pairs
->that makes up the scalar products for each non-zero.
--}
-sparsity_patternProduct :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_patternProduct x = casADi__Sparsity__patternProduct (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__patternInverse" c_CasADi__Sparsity__patternInverse
-  :: Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__patternInverse
-  :: Sparsity -> IO Sparsity
-casADi__Sparsity__patternInverse x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__patternInverse x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Take the inverse of a sparsity pattern; flip zeros and non-zeros.
--}
-sparsity_patternInverse :: SparsityClass a => a -> IO Sparsity
-sparsity_patternInverse x = casADi__Sparsity__patternInverse (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__enlarge" c_CasADi__Sparsity__enlarge
-  :: Ptr Sparsity' -> CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-casADi__Sparsity__enlarge
-  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-casADi__Sparsity__enlarge x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Sparsity__enlarge x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->Enlarge matrix Make the matrix larger by inserting empty rows and columns,
->keeping the existing non-zeros.
->
->For the matrices A to B A(m,n) length(jj)=m , length(ii)=n B(nrow,ncol)
->
->A=enlarge(m,n,ii,jj) makes sure that
->
->B[jj,ii] == A
--}
-sparsity_enlarge :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> IO ()
-sparsity_enlarge x = casADi__Sparsity__enlarge (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__enlargeRows" c_CasADi__Sparsity__enlargeRows
-  :: Ptr Sparsity' -> CInt -> Ptr (CppVec CInt) -> IO ()
-casADi__Sparsity__enlargeRows
-  :: Sparsity -> Int -> Vector Int -> IO ()
-casADi__Sparsity__enlargeRows x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__enlargeRows x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Enlarge the matrix along the first dimension (i.e. insert rows)
--}
-sparsity_enlargeRows :: SparsityClass a => a -> Int -> Vector Int -> IO ()
-sparsity_enlargeRows x = casADi__Sparsity__enlargeRows (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__enlargeColumns" c_CasADi__Sparsity__enlargeColumns
-  :: Ptr Sparsity' -> CInt -> Ptr (CppVec CInt) -> IO ()
-casADi__Sparsity__enlargeColumns
-  :: Sparsity -> Int -> Vector Int -> IO ()
-casADi__Sparsity__enlargeColumns x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__enlargeColumns x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Enlarge the matrix along the second dimension (i.e. insert columns)
--}
-sparsity_enlargeColumns :: SparsityClass a => a -> Int -> Vector Int -> IO ()
-sparsity_enlargeColumns x = casADi__Sparsity__enlargeColumns (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__makeDense" c_CasADi__Sparsity__makeDense
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> IO (Ptr Sparsity')
-casADi__Sparsity__makeDense
-  :: Sparsity -> Vector Int -> IO Sparsity
-casADi__Sparsity__makeDense x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__makeDense x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Make a patten dense.
--}
-sparsity_makeDense :: SparsityClass a => a -> Vector Int -> IO Sparsity
-sparsity_makeDense x = casADi__Sparsity__makeDense (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__erase" c_CasADi__Sparsity__erase
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr (CppVec CInt))
-casADi__Sparsity__erase
-  :: Sparsity -> Vector Int -> Vector Int -> IO (Vector Int)
-casADi__Sparsity__erase x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__erase x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Erase rows and/or columns of a matrix.
--}
-sparsity_erase :: SparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Int)
-sparsity_erase x = casADi__Sparsity__erase (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__append" c_CasADi__Sparsity__append
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO ()
-casADi__Sparsity__append
-  :: Sparsity -> Sparsity -> IO ()
-casADi__Sparsity__append x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__append x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Append another sparsity patten vertically (NOTE: only efficient if vector)
--}
-sparsity_append :: SparsityClass a => a -> Sparsity -> IO ()
-sparsity_append x = casADi__Sparsity__append (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__appendColumns" c_CasADi__Sparsity__appendColumns
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO ()
-casADi__Sparsity__appendColumns
-  :: Sparsity -> Sparsity -> IO ()
-casADi__Sparsity__appendColumns x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__appendColumns x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Append another sparsity patten horizontally.
--}
-sparsity_appendColumns :: SparsityClass a => a -> Sparsity -> IO ()
-sparsity_appendColumns x = casADi__Sparsity__appendColumns (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__reserve" c_CasADi__Sparsity__reserve
-  :: Ptr Sparsity' -> CInt -> CInt -> IO ()
-casADi__Sparsity__reserve
-  :: Sparsity -> Int -> Int -> IO ()
-casADi__Sparsity__reserve x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__reserve x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Reserve space.
--}
-sparsity_reserve :: SparsityClass a => a -> Int -> Int -> IO ()
-sparsity_reserve x = casADi__Sparsity__reserve (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isScalar" c_CasADi__Sparsity__isScalar
-  :: Ptr Sparsity' -> CInt -> IO CInt
-casADi__Sparsity__isScalar
-  :: Sparsity -> Bool -> IO Bool
-casADi__Sparsity__isScalar x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__isScalar x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is scalar?
--}
-sparsity_isScalar :: SparsityClass a => a -> Bool -> IO Bool
-sparsity_isScalar x = casADi__Sparsity__isScalar (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isScalar_TIC" c_CasADi__Sparsity__isScalar_TIC
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isScalar'
-  :: Sparsity -> IO Bool
-casADi__Sparsity__isScalar' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__isScalar_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_isScalar' :: SparsityClass a => a -> IO Bool
-sparsity_isScalar' x = casADi__Sparsity__isScalar' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isDense" c_CasADi__Sparsity__isDense
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isDense
-  :: Sparsity -> IO Bool
-casADi__Sparsity__isDense x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__isDense x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is dense?
--}
-sparsity_isDense :: SparsityClass a => a -> IO Bool
-sparsity_isDense x = casADi__Sparsity__isDense (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isVector" c_CasADi__Sparsity__isVector
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isVector
-  :: Sparsity -> IO Bool
-casADi__Sparsity__isVector x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__isVector x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is vector (i.e. size2()==1)
--}
-sparsity_isVector :: SparsityClass a => a -> IO Bool
-sparsity_isVector x = casADi__Sparsity__isVector (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isDiagonal" c_CasADi__Sparsity__isDiagonal
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isDiagonal
-  :: Sparsity -> IO Bool
-casADi__Sparsity__isDiagonal x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__isDiagonal x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is diagonal?
--}
-sparsity_isDiagonal :: SparsityClass a => a -> IO Bool
-sparsity_isDiagonal x = casADi__Sparsity__isDiagonal (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isSquare" c_CasADi__Sparsity__isSquare
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isSquare
-  :: Sparsity -> IO Bool
-casADi__Sparsity__isSquare x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__isSquare x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is square?
--}
-sparsity_isSquare :: SparsityClass a => a -> IO Bool
-sparsity_isSquare x = casADi__Sparsity__isSquare (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isSymmetric" c_CasADi__Sparsity__isSymmetric
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isSymmetric
-  :: Sparsity -> IO Bool
-casADi__Sparsity__isSymmetric x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__isSymmetric x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is symmetric?
--}
-sparsity_isSymmetric :: SparsityClass a => a -> IO Bool
-sparsity_isSymmetric x = casADi__Sparsity__isSymmetric (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isTriu" c_CasADi__Sparsity__isTriu
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isTriu
-  :: Sparsity -> IO Bool
-casADi__Sparsity__isTriu x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__isTriu x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is upper triangular?
--}
-sparsity_isTriu :: SparsityClass a => a -> IO Bool
-sparsity_isTriu x = casADi__Sparsity__isTriu (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isTril" c_CasADi__Sparsity__isTril
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isTril
-  :: Sparsity -> IO Bool
-casADi__Sparsity__isTril x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__isTril x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Is lower triangular?
--}
-sparsity_isTril :: SparsityClass a => a -> IO Bool
-sparsity_isTril x = casADi__Sparsity__isTril (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__isSingular" c_CasADi__Sparsity__isSingular
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__isSingular
-  :: Sparsity -> IO Bool
-casADi__Sparsity__isSingular x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__isSingular x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check whether the sparsity-pattern inidcates structural singularity.
--}
-sparsity_isSingular :: SparsityClass a => a -> IO Bool
-sparsity_isSingular x = casADi__Sparsity__isSingular (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getTriu" c_CasADi__Sparsity__getTriu
-  :: Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__getTriu
-  :: Sparsity -> Bool -> IO Sparsity
-casADi__Sparsity__getTriu x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__getTriu x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get upper triangular part.
--}
-sparsity_getTriu :: SparsityClass a => a -> Bool -> IO Sparsity
-sparsity_getTriu x = casADi__Sparsity__getTriu (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getTriu_TIC" c_CasADi__Sparsity__getTriu_TIC
-  :: Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__getTriu'
-  :: Sparsity -> IO Sparsity
-casADi__Sparsity__getTriu' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__getTriu_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_getTriu' :: SparsityClass a => a -> IO Sparsity
-sparsity_getTriu' x = casADi__Sparsity__getTriu' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getTril" c_CasADi__Sparsity__getTril
-  :: Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__getTril
-  :: Sparsity -> Bool -> IO Sparsity
-casADi__Sparsity__getTril x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__getTril x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get lower triangular part.
--}
-sparsity_getTril :: SparsityClass a => a -> Bool -> IO Sparsity
-sparsity_getTril x = casADi__Sparsity__getTril (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getTril_TIC" c_CasADi__Sparsity__getTril_TIC
-  :: Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__getTril'
-  :: Sparsity -> IO Sparsity
-casADi__Sparsity__getTril' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__getTril_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_getTril' :: SparsityClass a => a -> IO Sparsity
-sparsity_getTril' x = casADi__Sparsity__getTril' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__rowsSequential" c_CasADi__Sparsity__rowsSequential
-  :: Ptr Sparsity' -> CInt -> IO CInt
-casADi__Sparsity__rowsSequential
-  :: Sparsity -> Bool -> IO Bool
-casADi__Sparsity__rowsSequential x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__rowsSequential x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Do the rows appear sequentially on each column (if strictly==true, then do
->not allow multiple entries)
--}
-sparsity_rowsSequential :: SparsityClass a => a -> Bool -> IO Bool
-sparsity_rowsSequential x = casADi__Sparsity__rowsSequential (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__rowsSequential_TIC" c_CasADi__Sparsity__rowsSequential_TIC
-  :: Ptr Sparsity' -> IO CInt
-casADi__Sparsity__rowsSequential'
-  :: Sparsity -> IO Bool
-casADi__Sparsity__rowsSequential' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__rowsSequential_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_rowsSequential' :: SparsityClass a => a -> IO Bool
-sparsity_rowsSequential' x = casADi__Sparsity__rowsSequential' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__removeDuplicates" c_CasADi__Sparsity__removeDuplicates
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> IO ()
-casADi__Sparsity__removeDuplicates
-  :: Sparsity -> Vector Int -> IO ()
-casADi__Sparsity__removeDuplicates x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__removeDuplicates x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Remove duplicate entries: The same indices will be removed from the mapping
->vector, which must have the same length as the number of nonzeros.
--}
-sparsity_removeDuplicates :: SparsityClass a => a -> Vector Int -> IO ()
-sparsity_removeDuplicates x = casADi__Sparsity__removeDuplicates (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__eliminationTree" c_CasADi__Sparsity__eliminationTree
-  :: Ptr Sparsity' -> CInt -> IO (Ptr (CppVec CInt))
-casADi__Sparsity__eliminationTree
-  :: Sparsity -> Bool -> IO (Vector Int)
-casADi__Sparsity__eliminationTree x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__eliminationTree x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Calculate the elimination tree See Direct Methods for Sparse Linear Systems
->by Davis (2006). If the parameter ata is false, the algorithm is equivalent
->to Matlab's etree(A), except that the indices are zero- based. If ata is
->true, the algorithm is equivalent to Matlab's etree(A,'row').
--}
-sparsity_eliminationTree :: SparsityClass a => a -> Bool -> IO (Vector Int)
-sparsity_eliminationTree x = casADi__Sparsity__eliminationTree (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__eliminationTree_TIC" c_CasADi__Sparsity__eliminationTree_TIC
-  :: Ptr Sparsity' -> IO (Ptr (CppVec CInt))
-casADi__Sparsity__eliminationTree'
-  :: Sparsity -> IO (Vector Int)
-casADi__Sparsity__eliminationTree' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__eliminationTree_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_eliminationTree' :: SparsityClass a => a -> IO (Vector Int)
-sparsity_eliminationTree' x = casADi__Sparsity__eliminationTree' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__depthFirstSearch" c_CasADi__Sparsity__depthFirstSearch
-  :: Ptr Sparsity' -> CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO CInt
-casADi__Sparsity__depthFirstSearch
-  :: Sparsity -> Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Vector Bool -> IO Int
-casADi__Sparsity__depthFirstSearch x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  c_CasADi__Sparsity__depthFirstSearch x0' x1' x2' x3' x4' x5' x6' >>= wrapReturn
-
--- classy wrapper
-{-|
->Depth-first search on the adjacency graph of the sparsity See Direct Methods
->for Sparse Linear Systems by Davis (2006).
--}
-sparsity_depthFirstSearch :: SparsityClass a => a -> Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Vector Bool -> IO Int
-sparsity_depthFirstSearch x = casADi__Sparsity__depthFirstSearch (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__stronglyConnectedComponents" c_CasADi__Sparsity__stronglyConnectedComponents
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO CInt
-casADi__Sparsity__stronglyConnectedComponents
-  :: Sparsity -> Vector Int -> Vector Int -> IO Int
-casADi__Sparsity__stronglyConnectedComponents x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__stronglyConnectedComponents x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Find the strongly connected components of the bigraph defined by the
->sparsity pattern of a square matrix See Direct Methods for Sparse Linear
->Systems by Davis (2006). Returns:
->
->Number of components
->
->Offset for each components (length: 1 + number of components)
->
->Indices for each components, component i has indices index[offset[i]], ...,
->index[offset[i+1]]
->
->In the case that the matrix is symmetric, the result has a particular
->interpretation: Given a symmetric matrix A and n =
->A.stronglyConnectedComponents(p,r)
->
->=> A[p,p] will appear block-diagonal with n blocks and with the indices of
->the block boundaries to be found in r.
--}
-sparsity_stronglyConnectedComponents :: SparsityClass a => a -> Vector Int -> Vector Int -> IO Int
-sparsity_stronglyConnectedComponents x = casADi__Sparsity__stronglyConnectedComponents (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__dulmageMendelsohn" c_CasADi__Sparsity__dulmageMendelsohn
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> CInt -> IO CInt
-casADi__Sparsity__dulmageMendelsohn
-  :: Sparsity -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Int -> IO Int
-casADi__Sparsity__dulmageMendelsohn x0 x1 x2 x3 x4 x5 x6 x7 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  withMarshal x7 $ \x7' ->
-  c_CasADi__Sparsity__dulmageMendelsohn x0' x1' x2' x3' x4' x5' x6' x7' >>= wrapReturn
-
--- classy wrapper
-{-|
->Compute the Dulmage-Mendelsohn decomposition See Direct Methods for Sparse
->Linear Systems by Davis (2006).
->
->Dulmage-Mendelsohn will try to bring your matrix into lower block-
->triangular (LBT) form. It will not care about the distance of off- diagonal
->elements to the diagonal: there is no guarantee you will get a block-
->diagonal matrix if you supply a randomly permuted block- diagonal matrix.
->
->If your matrix is symmetrical, this method is of limited use; permutation
->can make it non-symmetric.
->
->See:   stronglyConnectedComponents
--}
-sparsity_dulmageMendelsohn :: SparsityClass a => a -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Int -> IO Int
-sparsity_dulmageMendelsohn x = casADi__Sparsity__dulmageMendelsohn (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__dulmageMendelsohn_TIC" c_CasADi__Sparsity__dulmageMendelsohn_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO CInt
-casADi__Sparsity__dulmageMendelsohn'
-  :: Sparsity -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO Int
-casADi__Sparsity__dulmageMendelsohn' x0 x1 x2 x3 x4 x5 x6 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  withMarshal x6 $ \x6' ->
-  c_CasADi__Sparsity__dulmageMendelsohn_TIC x0' x1' x2' x3' x4' x5' x6' >>= wrapReturn
-
--- classy wrapper
-sparsity_dulmageMendelsohn' :: SparsityClass a => a -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> Vector Int -> IO Int
-sparsity_dulmageMendelsohn' x = casADi__Sparsity__dulmageMendelsohn' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getElements" c_CasADi__Sparsity__getElements
-  :: Ptr Sparsity' -> CInt -> IO (Ptr (CppVec CInt))
-casADi__Sparsity__getElements
-  :: Sparsity -> Bool -> IO (Vector Int)
-casADi__Sparsity__getElements x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__getElements x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  std::vector< int > CasADi::Sparsity::getElements(bool col_major=true) const 
->------------------------------------------------------------------------
->
->Get the location of all non-zero elements as they would appear in a Dense
->matrix A : DenseMatrix 4 x 3 B : SparseMatrix 4 x 3 , 5 structural non-
->zeros.
->
->k = A.getElements() A[k] will contain the elements of A that are non- zero
->in B
->
->>  void CasADi::Sparsity::getElements(std::vector< int > &loc, bool col_major=true) const 
->------------------------------------------------------------------------
->
->Get the location of all nonzero elements (inplace version)
--}
-sparsity_getElements :: SparsityClass a => a -> Bool -> IO (Vector Int)
-sparsity_getElements x = casADi__Sparsity__getElements (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getElements_TIC" c_CasADi__Sparsity__getElements_TIC
-  :: Ptr Sparsity' -> IO (Ptr (CppVec CInt))
-casADi__Sparsity__getElements'
-  :: Sparsity -> IO (Vector Int)
-casADi__Sparsity__getElements' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__getElements_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_getElements' :: SparsityClass a => a -> IO (Vector Int)
-sparsity_getElements' x = casADi__Sparsity__getElements' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getElements_TIC_TIC" c_CasADi__Sparsity__getElements_TIC_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> CInt -> IO ()
-casADi__Sparsity__getElements''
-  :: Sparsity -> Vector Int -> Bool -> IO ()
-casADi__Sparsity__getElements'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__getElements_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sparsity_getElements'' :: SparsityClass a => a -> Vector Int -> Bool -> IO ()
-sparsity_getElements'' x = casADi__Sparsity__getElements'' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__getElements_TIC_TIC_TIC" c_CasADi__Sparsity__getElements_TIC_TIC_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> IO ()
-casADi__Sparsity__getElements'''
-  :: Sparsity -> Vector Int -> IO ()
-casADi__Sparsity__getElements''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__getElements_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_getElements''' :: SparsityClass a => a -> Vector Int -> IO ()
-sparsity_getElements''' x = casADi__Sparsity__getElements''' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__unidirectionalColoring" c_CasADi__Sparsity__unidirectionalColoring
-  :: Ptr Sparsity' -> Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__unidirectionalColoring
-  :: Sparsity -> Sparsity -> Int -> IO Sparsity
-casADi__Sparsity__unidirectionalColoring x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__unidirectionalColoring x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Perform a unidirectional coloring: A greedy distance-2 coloring algorithm
->(Algorithm 3.1 in A. H. GEBREMEDHIN, F. MANNE, A. POTHEN)
--}
-sparsity_unidirectionalColoring :: SparsityClass a => a -> Sparsity -> Int -> IO Sparsity
-sparsity_unidirectionalColoring x = casADi__Sparsity__unidirectionalColoring (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__unidirectionalColoring_TIC" c_CasADi__Sparsity__unidirectionalColoring_TIC
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__unidirectionalColoring'
-  :: Sparsity -> Sparsity -> IO Sparsity
-casADi__Sparsity__unidirectionalColoring' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__unidirectionalColoring_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_unidirectionalColoring' :: SparsityClass a => a -> Sparsity -> IO Sparsity
-sparsity_unidirectionalColoring' x = casADi__Sparsity__unidirectionalColoring' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__unidirectionalColoring_TIC_TIC" c_CasADi__Sparsity__unidirectionalColoring_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__unidirectionalColoring''
-  :: Sparsity -> IO Sparsity
-casADi__Sparsity__unidirectionalColoring'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__unidirectionalColoring_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_unidirectionalColoring'' :: SparsityClass a => a -> IO Sparsity
-sparsity_unidirectionalColoring'' x = casADi__Sparsity__unidirectionalColoring'' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__starColoring" c_CasADi__Sparsity__starColoring
-  :: Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__starColoring
-  :: Sparsity -> Int -> Int -> IO Sparsity
-casADi__Sparsity__starColoring x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__starColoring x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Perform a star coloring of a symmetric matrix: A greedy distance-2 coloring
->algorithm (Algorithm 4.1 in A. H. GEBREMEDHIN, F. MANNE, A. POTHEN) Ordering
->options: None (0), largest first (1)
--}
-sparsity_starColoring :: SparsityClass a => a -> Int -> Int -> IO Sparsity
-sparsity_starColoring x = casADi__Sparsity__starColoring (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__starColoring_TIC" c_CasADi__Sparsity__starColoring_TIC
-  :: Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__starColoring'
-  :: Sparsity -> Int -> IO Sparsity
-casADi__Sparsity__starColoring' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__starColoring_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_starColoring' :: SparsityClass a => a -> Int -> IO Sparsity
-sparsity_starColoring' x = casADi__Sparsity__starColoring' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__starColoring_TIC_TIC" c_CasADi__Sparsity__starColoring_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__starColoring''
-  :: Sparsity -> IO Sparsity
-casADi__Sparsity__starColoring'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__starColoring_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_starColoring'' :: SparsityClass a => a -> IO Sparsity
-sparsity_starColoring'' x = casADi__Sparsity__starColoring'' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__starColoring2" c_CasADi__Sparsity__starColoring2
-  :: Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__starColoring2
-  :: Sparsity -> Int -> Int -> IO Sparsity
-casADi__Sparsity__starColoring2 x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__starColoring2 x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Perform a star coloring of a symmetric matrix: A new greedy distance-2
->coloring algorithm (Algorithm 4.1 in A. H. GEBREMEDHIN, A. TARAFDAR, F.
->MANNE, A. POTHEN) Ordering options: None (0), largest first (1)
--}
-sparsity_starColoring2 :: SparsityClass a => a -> Int -> Int -> IO Sparsity
-sparsity_starColoring2 x = casADi__Sparsity__starColoring2 (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__starColoring2_TIC" c_CasADi__Sparsity__starColoring2_TIC
-  :: Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__starColoring2'
-  :: Sparsity -> Int -> IO Sparsity
-casADi__Sparsity__starColoring2' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__starColoring2_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_starColoring2' :: SparsityClass a => a -> Int -> IO Sparsity
-sparsity_starColoring2' x = casADi__Sparsity__starColoring2' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__starColoring2_TIC_TIC" c_CasADi__Sparsity__starColoring2_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr Sparsity')
-casADi__Sparsity__starColoring2''
-  :: Sparsity -> IO Sparsity
-casADi__Sparsity__starColoring2'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__starColoring2_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_starColoring2'' :: SparsityClass a => a -> IO Sparsity
-sparsity_starColoring2'' x = casADi__Sparsity__starColoring2'' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__largestFirstOrdering" c_CasADi__Sparsity__largestFirstOrdering
-  :: Ptr Sparsity' -> IO (Ptr (CppVec CInt))
-casADi__Sparsity__largestFirstOrdering
-  :: Sparsity -> IO (Vector Int)
-casADi__Sparsity__largestFirstOrdering x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__largestFirstOrdering x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Order the cols by decreasing degree.
--}
-sparsity_largestFirstOrdering :: SparsityClass a => a -> IO (Vector Int)
-sparsity_largestFirstOrdering x = casADi__Sparsity__largestFirstOrdering (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__pmult" c_CasADi__Sparsity__pmult
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> CInt -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__pmult
-  :: Sparsity -> Vector Int -> Bool -> Bool -> Bool -> IO Sparsity
-casADi__Sparsity__pmult x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__Sparsity__pmult x0' x1' x2' x3' x4' >>= wrapReturn
-
--- classy wrapper
-{-|
->Permute rows and/or columns Multiply the sparsity with a permutation matrix
->from the left and/or from the right P * A * trans(P), A * trans(P) or A *
->trans(P) with P defined by an index vector containing the row for each col.
->As an alternative, P can be transposed (inverted).
--}
-sparsity_pmult :: SparsityClass a => a -> Vector Int -> Bool -> Bool -> Bool -> IO Sparsity
-sparsity_pmult x = casADi__Sparsity__pmult (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__pmult_TIC" c_CasADi__Sparsity__pmult_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> CInt -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__pmult'
-  :: Sparsity -> Vector Int -> Bool -> Bool -> IO Sparsity
-casADi__Sparsity__pmult' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Sparsity__pmult_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sparsity_pmult' :: SparsityClass a => a -> Vector Int -> Bool -> Bool -> IO Sparsity
-sparsity_pmult' x = casADi__Sparsity__pmult' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__pmult_TIC_TIC" c_CasADi__Sparsity__pmult_TIC_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__pmult''
-  :: Sparsity -> Vector Int -> Bool -> IO Sparsity
-casADi__Sparsity__pmult'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Sparsity__pmult_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-sparsity_pmult'' :: SparsityClass a => a -> Vector Int -> Bool -> IO Sparsity
-sparsity_pmult'' x = casADi__Sparsity__pmult'' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__pmult_TIC_TIC_TIC" c_CasADi__Sparsity__pmult_TIC_TIC_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> IO (Ptr Sparsity')
-casADi__Sparsity__pmult'''
-  :: Sparsity -> Vector Int -> IO Sparsity
-casADi__Sparsity__pmult''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__pmult_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-sparsity_pmult''' :: SparsityClass a => a -> Vector Int -> IO Sparsity
-sparsity_pmult''' x = casADi__Sparsity__pmult''' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__dimString" c_CasADi__Sparsity__dimString
-  :: Ptr Sparsity' -> IO (Ptr StdString')
-casADi__Sparsity__dimString
-  :: Sparsity -> IO String
-casADi__Sparsity__dimString x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__dimString x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Get the dimension as a string.
--}
-sparsity_dimString :: SparsityClass a => a -> IO String
-sparsity_dimString x = casADi__Sparsity__dimString (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__spy_TIC" c_CasADi__Sparsity__spy_TIC
-  :: Ptr Sparsity' -> IO ()
-casADi__Sparsity__spy'
-  :: Sparsity -> IO ()
-casADi__Sparsity__spy' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__spy_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_spy' :: SparsityClass a => a -> IO ()
-sparsity_spy' x = casADi__Sparsity__spy' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__spyMatlab" c_CasADi__Sparsity__spyMatlab
-  :: Ptr Sparsity' -> Ptr StdString' -> IO ()
-casADi__Sparsity__spyMatlab
-  :: Sparsity -> String -> IO ()
-casADi__Sparsity__spyMatlab x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Sparsity__spyMatlab x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Generate a script for Matlab or Octave which visualizes the sparsity using
->the spy command.
--}
-sparsity_spyMatlab :: SparsityClass a => a -> String -> IO ()
-sparsity_spyMatlab x = casADi__Sparsity__spyMatlab (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__printCompact_TIC" c_CasADi__Sparsity__printCompact_TIC
-  :: Ptr Sparsity' -> IO ()
-casADi__Sparsity__printCompact'
-  :: Sparsity -> IO ()
-casADi__Sparsity__printCompact' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__printCompact_TIC x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_printCompact' :: SparsityClass a => a -> IO ()
-sparsity_printCompact' x = casADi__Sparsity__printCompact' (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__hash" c_CasADi__Sparsity__hash
-  :: Ptr Sparsity' -> IO CSize
-casADi__Sparsity__hash
-  :: Sparsity -> IO CSize
-casADi__Sparsity__hash x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__hash x0' >>= wrapReturn
-
--- classy wrapper
-sparsity_hash :: SparsityClass a => a -> IO CSize
-sparsity_hash x = casADi__Sparsity__hash (castSparsity x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__Sparsity" c_CasADi__Sparsity__Sparsity
-  :: CInt -> IO (Ptr Sparsity')
-casADi__Sparsity__Sparsity
-  :: Int -> IO Sparsity
-casADi__Sparsity__Sparsity x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Sparsity__Sparsity x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::Sparsity::Sparsity(int nrow, int ncol, bool dense=false)
->------------------------------------------------------------------------
->
->[DEPRECATED]
->
->>  CasADi::Sparsity::Sparsity(int dummy=0)
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::Sparsity::Sparsity(int nrow, int ncol, const std::vector< int > &colind, const std::vector< int > &row)
->------------------------------------------------------------------------
->
->Construct from sparsity pattern vectors given in compressed column storage
->format.
--}
-sparsity :: Int -> IO Sparsity
-sparsity = casADi__Sparsity__Sparsity
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__Sparsity_TIC" c_CasADi__Sparsity__Sparsity_TIC
-  :: IO (Ptr Sparsity')
-casADi__Sparsity__Sparsity'
-  :: IO Sparsity
-casADi__Sparsity__Sparsity'  =
-  c_CasADi__Sparsity__Sparsity_TIC  >>= wrapReturn
-
--- classy wrapper
-sparsity' :: IO Sparsity
-sparsity' = casADi__Sparsity__Sparsity'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Sparsity__Sparsity_TIC_TIC" c_CasADi__Sparsity__Sparsity_TIC_TIC
-  :: CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr Sparsity')
-casADi__Sparsity__Sparsity''
-  :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-casADi__Sparsity__Sparsity'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__Sparsity__Sparsity_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-sparsity'' :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity'' = casADi__Sparsity__Sparsity''
-
diff --git a/Casadi/Wrappers/Classes/StabilizedQPSolver.hs b/Casadi/Wrappers/Classes/StabilizedQPSolver.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/StabilizedQPSolver.hs
+++ /dev/null
@@ -1,103 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.StabilizedQPSolver
-       (
-         StabilizedQPSolver,
-         StabilizedQPSolverClass(..),
-         stabilizedQPSolver,
-         stabilizedQPSolver_checkNode,
-         stabilizedQPSolver_generateNativeCode,
-         stabilizedQPSolver_setLPOptions,
-       ) 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 StabilizedQPSolver where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__StabilizedQPSolver__checkNode" c_CasADi__StabilizedQPSolver__checkNode
-  :: Ptr StabilizedQPSolver' -> IO CInt
-casADi__StabilizedQPSolver__checkNode
-  :: StabilizedQPSolver -> IO Bool
-casADi__StabilizedQPSolver__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__StabilizedQPSolver__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-stabilizedQPSolver_checkNode :: StabilizedQPSolverClass a => a -> IO Bool
-stabilizedQPSolver_checkNode x = casADi__StabilizedQPSolver__checkNode (castStabilizedQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__StabilizedQPSolver__setLPOptions" c_CasADi__StabilizedQPSolver__setLPOptions
-  :: Ptr StabilizedQPSolver' -> IO ()
-casADi__StabilizedQPSolver__setLPOptions
-  :: StabilizedQPSolver -> IO ()
-casADi__StabilizedQPSolver__setLPOptions x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__StabilizedQPSolver__setLPOptions x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set options that make the QP solver more suitable for solving LPs.
--}
-stabilizedQPSolver_setLPOptions :: StabilizedQPSolverClass a => a -> IO ()
-stabilizedQPSolver_setLPOptions x = casADi__StabilizedQPSolver__setLPOptions (castStabilizedQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__StabilizedQPSolver__generateNativeCode" c_CasADi__StabilizedQPSolver__generateNativeCode
-  :: Ptr StabilizedQPSolver' -> Ptr StdString' -> IO ()
-casADi__StabilizedQPSolver__generateNativeCode
-  :: StabilizedQPSolver -> String -> IO ()
-casADi__StabilizedQPSolver__generateNativeCode x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__StabilizedQPSolver__generateNativeCode x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Generate native code in the interfaced language for debugging
--}
-stabilizedQPSolver_generateNativeCode :: StabilizedQPSolverClass a => a -> String -> IO ()
-stabilizedQPSolver_generateNativeCode x = casADi__StabilizedQPSolver__generateNativeCode (castStabilizedQPSolver x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__StabilizedQPSolver__StabilizedQPSolver" c_CasADi__StabilizedQPSolver__StabilizedQPSolver
-  :: IO (Ptr StabilizedQPSolver')
-casADi__StabilizedQPSolver__StabilizedQPSolver
-  :: IO StabilizedQPSolver
-casADi__StabilizedQPSolver__StabilizedQPSolver  =
-  c_CasADi__StabilizedQPSolver__StabilizedQPSolver  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-stabilizedQPSolver :: IO StabilizedQPSolver
-stabilizedQPSolver = casADi__StabilizedQPSolver__StabilizedQPSolver
-
diff --git a/Casadi/Wrappers/Classes/StabilizedSQPMethod.hs b/Casadi/Wrappers/Classes/StabilizedSQPMethod.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/StabilizedSQPMethod.hs
+++ /dev/null
@@ -1,109 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.StabilizedSQPMethod
-       (
-         StabilizedSQPMethod,
-         StabilizedSQPMethodClass(..),
-         stabilizedSQPMethod,
-         stabilizedSQPMethod',
-         stabilizedSQPMethod_checkNode,
-         stabilizedSQPMethod_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 StabilizedSQPMethod where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__StabilizedSQPMethod__checkNode" c_CasADi__StabilizedSQPMethod__checkNode
-  :: Ptr StabilizedSQPMethod' -> IO CInt
-casADi__StabilizedSQPMethod__checkNode
-  :: StabilizedSQPMethod -> IO Bool
-casADi__StabilizedSQPMethod__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__StabilizedSQPMethod__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-stabilizedSQPMethod_checkNode :: StabilizedSQPMethodClass a => a -> IO Bool
-stabilizedSQPMethod_checkNode x = casADi__StabilizedSQPMethod__checkNode (castStabilizedSQPMethod x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__StabilizedSQPMethod__creator" c_CasADi__StabilizedSQPMethod__creator
-  :: Ptr Function' -> IO (Ptr NLPSolver')
-casADi__StabilizedSQPMethod__creator
-  :: Function -> IO NLPSolver
-casADi__StabilizedSQPMethod__creator x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__StabilizedSQPMethod__creator x0' >>= wrapReturn
-
--- classy wrapper
-stabilizedSQPMethod_creator :: Function -> IO NLPSolver
-stabilizedSQPMethod_creator = casADi__StabilizedSQPMethod__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__StabilizedSQPMethod__StabilizedSQPMethod" c_CasADi__StabilizedSQPMethod__StabilizedSQPMethod
-  :: IO (Ptr StabilizedSQPMethod')
-casADi__StabilizedSQPMethod__StabilizedSQPMethod
-  :: IO StabilizedSQPMethod
-casADi__StabilizedSQPMethod__StabilizedSQPMethod  =
-  c_CasADi__StabilizedSQPMethod__StabilizedSQPMethod  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::StabilizedSQPMethod::StabilizedSQPMethod()
->------------------------------------------------------------------------
->
->Default constructor.
->
->>  CasADi::StabilizedSQPMethod::StabilizedSQPMethod(const Function &F, const Function &G)
->------------------------------------------------------------------------
->
->[DEPRECATED] Create an NLP solver instance (legacy syntax)
->
->>  CasADi::StabilizedSQPMethod::StabilizedSQPMethod(const Function &nlp)
->------------------------------------------------------------------------
->
->Create an NLP solver instance.
--}
-stabilizedSQPMethod :: IO StabilizedSQPMethod
-stabilizedSQPMethod = casADi__StabilizedSQPMethod__StabilizedSQPMethod
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__StabilizedSQPMethod__StabilizedSQPMethod_TIC" c_CasADi__StabilizedSQPMethod__StabilizedSQPMethod_TIC
-  :: Ptr Function' -> IO (Ptr StabilizedSQPMethod')
-casADi__StabilizedSQPMethod__StabilizedSQPMethod'
-  :: Function -> IO StabilizedSQPMethod
-casADi__StabilizedSQPMethod__StabilizedSQPMethod' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__StabilizedSQPMethod__StabilizedSQPMethod_TIC x0' >>= wrapReturn
-
--- classy wrapper
-stabilizedSQPMethod' :: Function -> IO StabilizedSQPMethod
-stabilizedSQPMethod' = casADi__StabilizedSQPMethod__StabilizedSQPMethod'
-
diff --git a/Casadi/Wrappers/Classes/SundialsIntegrator.hs b/Casadi/Wrappers/Classes/SundialsIntegrator.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SundialsIntegrator.hs
+++ /dev/null
@@ -1,85 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SundialsIntegrator
-       (
-         SundialsIntegrator,
-         SundialsIntegratorClass(..),
-         sundialsIntegrator,
-         sundialsIntegrator_checkNode,
-         sundialsIntegrator_setStopTime,
-       ) 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 SundialsIntegrator where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SundialsIntegrator__checkNode" c_CasADi__SundialsIntegrator__checkNode
-  :: Ptr SundialsIntegrator' -> IO CInt
-casADi__SundialsIntegrator__checkNode
-  :: SundialsIntegrator -> IO Bool
-casADi__SundialsIntegrator__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SundialsIntegrator__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-sundialsIntegrator_checkNode :: SundialsIntegratorClass a => a -> IO Bool
-sundialsIntegrator_checkNode x = casADi__SundialsIntegrator__checkNode (castSundialsIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SundialsIntegrator__setStopTime" c_CasADi__SundialsIntegrator__setStopTime
-  :: Ptr SundialsIntegrator' -> CDouble -> IO ()
-casADi__SundialsIntegrator__setStopTime
-  :: SundialsIntegrator -> Double -> IO ()
-casADi__SundialsIntegrator__setStopTime x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SundialsIntegrator__setStopTime x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set a stop time for the forward integration.
--}
-sundialsIntegrator_setStopTime :: SundialsIntegratorClass a => a -> Double -> IO ()
-sundialsIntegrator_setStopTime x = casADi__SundialsIntegrator__setStopTime (castSundialsIntegrator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SundialsIntegrator__SundialsIntegrator" c_CasADi__SundialsIntegrator__SundialsIntegrator
-  :: IO (Ptr SundialsIntegrator')
-casADi__SundialsIntegrator__SundialsIntegrator
-  :: IO SundialsIntegrator
-casADi__SundialsIntegrator__SundialsIntegrator  =
-  c_CasADi__SundialsIntegrator__SundialsIntegrator  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-sundialsIntegrator :: IO SundialsIntegrator
-sundialsIntegrator = casADi__SundialsIntegrator__SundialsIntegrator
-
diff --git a/Casadi/Wrappers/Classes/SymbolicNLP.hs b/Casadi/Wrappers/Classes/SymbolicNLP.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SymbolicNLP.hs
+++ /dev/null
@@ -1,50 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SymbolicNLP
-       (
-         SymbolicNLP,
-         SymbolicNLPClass(..),
-         symbolicNLP_parseNL,
-       ) 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 SymbolicNLP where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicNLP__parseNL" c_CasADi__SymbolicNLP__parseNL
-  :: Ptr SymbolicNLP' -> Ptr StdString' -> IO ()
-casADi__SymbolicNLP__parseNL
-  :: SymbolicNLP -> String -> IO ()
-casADi__SymbolicNLP__parseNL x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicNLP__parseNL x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Parse an AMPL och PyOmo NL-file.
--}
-symbolicNLP_parseNL :: SymbolicNLPClass a => a -> String -> IO ()
-symbolicNLP_parseNL x = casADi__SymbolicNLP__parseNL (castSymbolicNLP x)
-
diff --git a/Casadi/Wrappers/Classes/SymbolicOCP.hs b/Casadi/Wrappers/Classes/SymbolicOCP.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SymbolicOCP.hs
+++ /dev/null
@@ -1,1498 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SymbolicOCP
-       (
-         SymbolicOCP,
-         SymbolicOCPClass(..),
-         symbolicOCP,
-         symbolicOCP',
-         symbolicOCP_addVariable,
-         symbolicOCP_atTime,
-         symbolicOCP_atTime',
-         symbolicOCP_atTime'',
-         symbolicOCP_atTime''',
-         symbolicOCP_beq,
-         symbolicOCP_beq',
-         symbolicOCP_der,
-         symbolicOCP_der',
-         symbolicOCP_derivativeStart,
-         symbolicOCP_derivativeStart',
-         symbolicOCP_derivativeStart'',
-         symbolicOCP_derivativeStart''',
-         symbolicOCP_eliminateAlgebraic,
-         symbolicOCP_eliminateDependentParameterInterdependencies,
-         symbolicOCP_eliminateDependentParameters,
-         symbolicOCP_eliminateIndependentParameters,
-         symbolicOCP_eliminateLagrangeTerms,
-         symbolicOCP_eliminateOutputInterdependencies,
-         symbolicOCP_eliminateOutputs,
-         symbolicOCP_eliminateQuadratureStates,
-         symbolicOCP_generateMuscodDatFile,
-         symbolicOCP_initialGuess,
-         symbolicOCP_initialGuess',
-         symbolicOCP_makeExplicit,
-         symbolicOCP_makeSemiExplicit,
-         symbolicOCP_max,
-         symbolicOCP_max',
-         symbolicOCP_min,
-         symbolicOCP_min',
-         symbolicOCP_nominal,
-         symbolicOCP_nominal',
-         symbolicOCP_ode,
-         symbolicOCP_ode',
-         symbolicOCP_operator_call,
-         symbolicOCP_parseFMI,
-         symbolicOCP_scaleEquations,
-         symbolicOCP_scaleVariables,
-         symbolicOCP_separateAlgebraic,
-         symbolicOCP_setBeq,
-         symbolicOCP_setBeq',
-         symbolicOCP_setDerivativeStart,
-         symbolicOCP_setDerivativeStart',
-         symbolicOCP_setDerivativeStart'',
-         symbolicOCP_setDerivativeStart''',
-         symbolicOCP_setInitialGuess,
-         symbolicOCP_setInitialGuess',
-         symbolicOCP_setMax,
-         symbolicOCP_setMax',
-         symbolicOCP_setMin,
-         symbolicOCP_setMin',
-         symbolicOCP_setNominal,
-         symbolicOCP_setNominal',
-         symbolicOCP_setOde,
-         symbolicOCP_setOde',
-         symbolicOCP_setStart,
-         symbolicOCP_setStart',
-         symbolicOCP_setStart'',
-         symbolicOCP_setStart''',
-         symbolicOCP_setUnit,
-         symbolicOCP_sortALG,
-         symbolicOCP_sortDAE,
-         symbolicOCP_sortDependentParameters,
-         symbolicOCP_sortOutputs,
-         symbolicOCP_start,
-         symbolicOCP_start',
-         symbolicOCP_start'',
-         symbolicOCP_start''',
-         symbolicOCP_unit,
-         symbolicOCP_unit',
-         symbolicOCP_variable,
-       ) 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 SymbolicOCP where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__parseFMI" c_CasADi__SymbolicOCP__parseFMI
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO ()
-casADi__SymbolicOCP__parseFMI
-  :: SymbolicOCP -> String -> IO ()
-casADi__SymbolicOCP__parseFMI x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__parseFMI x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Parse from XML to C++ format.
--}
-symbolicOCP_parseFMI :: SymbolicOCPClass a => a -> String -> IO ()
-symbolicOCP_parseFMI x = casADi__SymbolicOCP__parseFMI (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__addVariable" c_CasADi__SymbolicOCP__addVariable
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> Ptr Variable' -> IO ()
-casADi__SymbolicOCP__addVariable
-  :: SymbolicOCP -> String -> Variable -> IO ()
-casADi__SymbolicOCP__addVariable x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__addVariable x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Add a variable.
--}
-symbolicOCP_addVariable :: SymbolicOCPClass a => a -> String -> Variable -> IO ()
-symbolicOCP_addVariable x = casADi__SymbolicOCP__addVariable (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__variable" c_CasADi__SymbolicOCP__variable
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO (Ptr Variable')
-casADi__SymbolicOCP__variable
-  :: SymbolicOCP -> String -> IO Variable
-casADi__SymbolicOCP__variable x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__variable x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Access a variable by name.
--}
-symbolicOCP_variable :: SymbolicOCPClass a => a -> String -> IO Variable
-symbolicOCP_variable x = casADi__SymbolicOCP__variable (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__separateAlgebraic" c_CasADi__SymbolicOCP__separateAlgebraic
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__separateAlgebraic
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__separateAlgebraic x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__separateAlgebraic x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Identify and separate the algebraic variables and equations in the DAE.
--}
-symbolicOCP_separateAlgebraic :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_separateAlgebraic x = casADi__SymbolicOCP__separateAlgebraic (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__eliminateAlgebraic" c_CasADi__SymbolicOCP__eliminateAlgebraic
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__eliminateAlgebraic
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__eliminateAlgebraic x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__eliminateAlgebraic x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Eliminate algebraic variables, transforming them into outputs.
--}
-symbolicOCP_eliminateAlgebraic :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_eliminateAlgebraic x = casADi__SymbolicOCP__eliminateAlgebraic (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__makeSemiExplicit" c_CasADi__SymbolicOCP__makeSemiExplicit
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__makeSemiExplicit
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__makeSemiExplicit x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__makeSemiExplicit x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Transform the implicit DAE to a semi-explicit DAE.
--}
-symbolicOCP_makeSemiExplicit :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_makeSemiExplicit x = casADi__SymbolicOCP__makeSemiExplicit (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__makeExplicit" c_CasADi__SymbolicOCP__makeExplicit
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__makeExplicit
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__makeExplicit x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__makeExplicit x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Transform the implicit DAE or semi-explicit DAE into an explicit ODE.
--}
-symbolicOCP_makeExplicit :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_makeExplicit x = casADi__SymbolicOCP__makeExplicit (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__eliminateIndependentParameters" c_CasADi__SymbolicOCP__eliminateIndependentParameters
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__eliminateIndependentParameters
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__eliminateIndependentParameters x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__eliminateIndependentParameters x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Eliminate independent parameters.
--}
-symbolicOCP_eliminateIndependentParameters :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_eliminateIndependentParameters x = casADi__SymbolicOCP__eliminateIndependentParameters (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__sortDependentParameters" c_CasADi__SymbolicOCP__sortDependentParameters
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__sortDependentParameters
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__sortDependentParameters x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__sortDependentParameters x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Sort the dependent parameters.
--}
-symbolicOCP_sortDependentParameters :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_sortDependentParameters x = casADi__SymbolicOCP__sortDependentParameters (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__eliminateDependentParameterInterdependencies" c_CasADi__SymbolicOCP__eliminateDependentParameterInterdependencies
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__eliminateDependentParameterInterdependencies
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__eliminateDependentParameterInterdependencies x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__eliminateDependentParameterInterdependencies x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Eliminate interdependencies amongst the dependent parameters.
--}
-symbolicOCP_eliminateDependentParameterInterdependencies :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_eliminateDependentParameterInterdependencies x = casADi__SymbolicOCP__eliminateDependentParameterInterdependencies (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__eliminateDependentParameters" c_CasADi__SymbolicOCP__eliminateDependentParameters
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__eliminateDependentParameters
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__eliminateDependentParameters x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__eliminateDependentParameters x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Eliminate dependent parameters.
--}
-symbolicOCP_eliminateDependentParameters :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_eliminateDependentParameters x = casADi__SymbolicOCP__eliminateDependentParameters (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__sortOutputs" c_CasADi__SymbolicOCP__sortOutputs
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__sortOutputs
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__sortOutputs x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__sortOutputs x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Sort the outputs.
--}
-symbolicOCP_sortOutputs :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_sortOutputs x = casADi__SymbolicOCP__sortOutputs (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__eliminateOutputInterdependencies" c_CasADi__SymbolicOCP__eliminateOutputInterdependencies
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__eliminateOutputInterdependencies
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__eliminateOutputInterdependencies x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__eliminateOutputInterdependencies x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Eliminate interdependencies amongst the outputs.
--}
-symbolicOCP_eliminateOutputInterdependencies :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_eliminateOutputInterdependencies x = casADi__SymbolicOCP__eliminateOutputInterdependencies (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__eliminateOutputs" c_CasADi__SymbolicOCP__eliminateOutputs
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__eliminateOutputs
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__eliminateOutputs x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__eliminateOutputs x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Eliminate outputs.
--}
-symbolicOCP_eliminateOutputs :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_eliminateOutputs x = casADi__SymbolicOCP__eliminateOutputs (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__eliminateLagrangeTerms" c_CasADi__SymbolicOCP__eliminateLagrangeTerms
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__eliminateLagrangeTerms
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__eliminateLagrangeTerms x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__eliminateLagrangeTerms x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Eliminate Lagrange terms from the objective function and make them
->quadrature states.
--}
-symbolicOCP_eliminateLagrangeTerms :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_eliminateLagrangeTerms x = casADi__SymbolicOCP__eliminateLagrangeTerms (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__eliminateQuadratureStates" c_CasADi__SymbolicOCP__eliminateQuadratureStates
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__eliminateQuadratureStates
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__eliminateQuadratureStates x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__eliminateQuadratureStates x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Eliminate quadrature states and turn them into ODE states.
--}
-symbolicOCP_eliminateQuadratureStates :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_eliminateQuadratureStates x = casADi__SymbolicOCP__eliminateQuadratureStates (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__sortDAE" c_CasADi__SymbolicOCP__sortDAE
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__sortDAE
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__sortDAE x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__sortDAE x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Sort the DAE and implictly defined states.
--}
-symbolicOCP_sortDAE :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_sortDAE x = casADi__SymbolicOCP__sortDAE (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__sortALG" c_CasADi__SymbolicOCP__sortALG
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__sortALG
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__sortALG x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__sortALG x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Sort the algebraic equations and algebraic states.
--}
-symbolicOCP_sortALG :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_sortALG x = casADi__SymbolicOCP__sortALG (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__generateMuscodDatFile" c_CasADi__SymbolicOCP__generateMuscodDatFile
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO ()
-casADi__SymbolicOCP__generateMuscodDatFile
-  :: SymbolicOCP -> String -> IO ()
-casADi__SymbolicOCP__generateMuscodDatFile x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__generateMuscodDatFile x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Generate a MUSCOD-II compatible DAT file.
--}
-symbolicOCP_generateMuscodDatFile :: SymbolicOCPClass a => a -> String -> IO ()
-symbolicOCP_generateMuscodDatFile x = casADi__SymbolicOCP__generateMuscodDatFile (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__scaleVariables" c_CasADi__SymbolicOCP__scaleVariables
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__scaleVariables
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__scaleVariables x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__scaleVariables x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Scale the variables.
--}
-symbolicOCP_scaleVariables :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_scaleVariables x = casADi__SymbolicOCP__scaleVariables (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__scaleEquations" c_CasADi__SymbolicOCP__scaleEquations
-  :: Ptr SymbolicOCP' -> IO ()
-casADi__SymbolicOCP__scaleEquations
-  :: SymbolicOCP -> IO ()
-casADi__SymbolicOCP__scaleEquations x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__scaleEquations x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Scale the implicit equations.
--}
-symbolicOCP_scaleEquations :: SymbolicOCPClass a => a -> IO ()
-symbolicOCP_scaleEquations x = casADi__SymbolicOCP__scaleEquations (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__operator_call" c_CasADi__SymbolicOCP__operator_call
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SymbolicOCP__operator_call
-  :: SymbolicOCP -> String -> IO SX
-casADi__SymbolicOCP__operator_call x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__operator_call x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_operator_call :: SymbolicOCPClass a => a -> String -> IO SX
-symbolicOCP_operator_call x = casADi__SymbolicOCP__operator_call (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__der" c_CasADi__SymbolicOCP__der
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SymbolicOCP__der
-  :: SymbolicOCP -> String -> IO SX
-casADi__SymbolicOCP__der x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__der x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  SX CasADi::SymbolicOCP::der(const std::string &name) const 
->------------------------------------------------------------------------
->
->Get a derivative expression by name.
->
->>  SX CasADi::SymbolicOCP::der(const SX &var) const 
->------------------------------------------------------------------------
->
->Get a derivative expression by non-differentiated expression.
--}
-symbolicOCP_der :: SymbolicOCPClass a => a -> String -> IO SX
-symbolicOCP_der x = casADi__SymbolicOCP__der (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__der_TIC" c_CasADi__SymbolicOCP__der_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> IO (Ptr SX')
-casADi__SymbolicOCP__der'
-  :: SymbolicOCP -> SX -> IO SX
-casADi__SymbolicOCP__der' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__der_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_der' :: SymbolicOCPClass a => a -> SX -> IO SX
-symbolicOCP_der' x = casADi__SymbolicOCP__der' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__beq" c_CasADi__SymbolicOCP__beq
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SymbolicOCP__beq
-  :: SymbolicOCP -> String -> IO SX
-casADi__SymbolicOCP__beq x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__beq x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  SX CasADi::SymbolicOCP::beq(const std::string &name) const 
->------------------------------------------------------------------------
->
->Get a binding equation by name.
->
->>  SX CasADi::SymbolicOCP::beq(const SX &var) const 
->------------------------------------------------------------------------
->
->Get a binding equation by non-differentiated expression.
--}
-symbolicOCP_beq :: SymbolicOCPClass a => a -> String -> IO SX
-symbolicOCP_beq x = casADi__SymbolicOCP__beq (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__beq_TIC" c_CasADi__SymbolicOCP__beq_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> IO (Ptr SX')
-casADi__SymbolicOCP__beq'
-  :: SymbolicOCP -> SX -> IO SX
-casADi__SymbolicOCP__beq' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__beq_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_beq' :: SymbolicOCPClass a => a -> SX -> IO SX
-symbolicOCP_beq' x = casADi__SymbolicOCP__beq' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setBeq" c_CasADi__SymbolicOCP__setBeq
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> Ptr SX' -> IO ()
-casADi__SymbolicOCP__setBeq
-  :: SymbolicOCP -> String -> SX -> IO ()
-casADi__SymbolicOCP__setBeq x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setBeq x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::SymbolicOCP::setBeq(const std::string &name, const SX &val)
->------------------------------------------------------------------------
->
->Set a binding equation by name.
->
->>  void CasADi::SymbolicOCP::setBeq(const SX &var, const SX &val)
->------------------------------------------------------------------------
->
->Set an binding expression by non-differentiated expression.
--}
-symbolicOCP_setBeq :: SymbolicOCPClass a => a -> String -> SX -> IO ()
-symbolicOCP_setBeq x = casADi__SymbolicOCP__setBeq (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setBeq_TIC" c_CasADi__SymbolicOCP__setBeq_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> Ptr SX' -> IO ()
-casADi__SymbolicOCP__setBeq'
-  :: SymbolicOCP -> SX -> SX -> IO ()
-casADi__SymbolicOCP__setBeq' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setBeq_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setBeq' :: SymbolicOCPClass a => a -> SX -> SX -> IO ()
-symbolicOCP_setBeq' x = casADi__SymbolicOCP__setBeq' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__ode" c_CasADi__SymbolicOCP__ode
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SymbolicOCP__ode
-  :: SymbolicOCP -> String -> IO SX
-casADi__SymbolicOCP__ode x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__ode x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  SX CasADi::SymbolicOCP::ode(const std::string &name) const 
->------------------------------------------------------------------------
->
->Get a derivative binding equation (i.e. ordinary differential equation, ODE)
->by name. Returns variable expression if unknwon.
->
->>  SX CasADi::SymbolicOCP::ode(const SX &var) const 
->------------------------------------------------------------------------
->
->Get a derivative binding expression (i.e. ordinary differential equation,
->ODE) by non-differentiated expression. Returns derivative expression if
->unknown.
--}
-symbolicOCP_ode :: SymbolicOCPClass a => a -> String -> IO SX
-symbolicOCP_ode x = casADi__SymbolicOCP__ode (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__ode_TIC" c_CasADi__SymbolicOCP__ode_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> IO (Ptr SX')
-casADi__SymbolicOCP__ode'
-  :: SymbolicOCP -> SX -> IO SX
-casADi__SymbolicOCP__ode' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__ode_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_ode' :: SymbolicOCPClass a => a -> SX -> IO SX
-symbolicOCP_ode' x = casADi__SymbolicOCP__ode' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setOde" c_CasADi__SymbolicOCP__setOde
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> Ptr SX' -> IO ()
-casADi__SymbolicOCP__setOde
-  :: SymbolicOCP -> String -> SX -> IO ()
-casADi__SymbolicOCP__setOde x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setOde x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::SymbolicOCP::setOde(const std::string &name, const SX &val)
->------------------------------------------------------------------------
->
->Set a derivative binding equation by name.
->
->>  void CasADi::SymbolicOCP::setOde(const SX &var, const SX &val)
->------------------------------------------------------------------------
->
->Set an derivative binding expression by non-differentiated expression.
--}
-symbolicOCP_setOde :: SymbolicOCPClass a => a -> String -> SX -> IO ()
-symbolicOCP_setOde x = casADi__SymbolicOCP__setOde (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setOde_TIC" c_CasADi__SymbolicOCP__setOde_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> Ptr SX' -> IO ()
-casADi__SymbolicOCP__setOde'
-  :: SymbolicOCP -> SX -> SX -> IO ()
-casADi__SymbolicOCP__setOde' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setOde_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setOde' :: SymbolicOCPClass a => a -> SX -> SX -> IO ()
-symbolicOCP_setOde' x = casADi__SymbolicOCP__setOde' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__nominal" c_CasADi__SymbolicOCP__nominal
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO CDouble
-casADi__SymbolicOCP__nominal
-  :: SymbolicOCP -> String -> IO Double
-casADi__SymbolicOCP__nominal x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__nominal x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  double CasADi::SymbolicOCP::nominal(const std::string &name) const 
->------------------------------------------------------------------------
->
->Get the nominal value by name.
->
->>  std::vector< double > CasADi::SymbolicOCP::nominal(const SX &var) const 
->------------------------------------------------------------------------
->
->Get the nominal value(s) by expression.
--}
-symbolicOCP_nominal :: SymbolicOCPClass a => a -> String -> IO Double
-symbolicOCP_nominal x = casADi__SymbolicOCP__nominal (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__nominal_TIC" c_CasADi__SymbolicOCP__nominal_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> IO (Ptr (CppVec CDouble))
-casADi__SymbolicOCP__nominal'
-  :: SymbolicOCP -> SX -> IO (Vector Double)
-casADi__SymbolicOCP__nominal' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__nominal_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_nominal' :: SymbolicOCPClass a => a -> SX -> IO (Vector Double)
-symbolicOCP_nominal' x = casADi__SymbolicOCP__nominal' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setNominal" c_CasADi__SymbolicOCP__setNominal
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> CDouble -> IO ()
-casADi__SymbolicOCP__setNominal
-  :: SymbolicOCP -> String -> Double -> IO ()
-casADi__SymbolicOCP__setNominal x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setNominal x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::SymbolicOCP::setNominal(const std::string &name, double val)
->------------------------------------------------------------------------
->
->Set the nominal value by name.
->
->>  void CasADi::SymbolicOCP::setNominal(const SX &var, const std::vector< double > &val)
->------------------------------------------------------------------------
->
->Set the nominal value(s) by expression.
--}
-symbolicOCP_setNominal :: SymbolicOCPClass a => a -> String -> Double -> IO ()
-symbolicOCP_setNominal x = casADi__SymbolicOCP__setNominal (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setNominal_TIC" c_CasADi__SymbolicOCP__setNominal_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> Ptr (CppVec CDouble) -> IO ()
-casADi__SymbolicOCP__setNominal'
-  :: SymbolicOCP -> SX -> Vector Double -> IO ()
-casADi__SymbolicOCP__setNominal' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setNominal_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setNominal' :: SymbolicOCPClass a => a -> SX -> Vector Double -> IO ()
-symbolicOCP_setNominal' x = casADi__SymbolicOCP__setNominal' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__min" c_CasADi__SymbolicOCP__min
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SymbolicOCP__min
-  :: SymbolicOCP -> String -> IO SX
-casADi__SymbolicOCP__min x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__min x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  SX CasADi::SymbolicOCP::min(const std::string &name) const 
->------------------------------------------------------------------------
->
->Get the lower bound by name.
->
->>  SX CasADi::SymbolicOCP::min(const SX &var) const 
->------------------------------------------------------------------------
->
->Get the lower bound(s) by expression.
--}
-symbolicOCP_min :: SymbolicOCPClass a => a -> String -> IO SX
-symbolicOCP_min x = casADi__SymbolicOCP__min (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__min_TIC" c_CasADi__SymbolicOCP__min_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> IO (Ptr SX')
-casADi__SymbolicOCP__min'
-  :: SymbolicOCP -> SX -> IO SX
-casADi__SymbolicOCP__min' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__min_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_min' :: SymbolicOCPClass a => a -> SX -> IO SX
-symbolicOCP_min' x = casADi__SymbolicOCP__min' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setMin" c_CasADi__SymbolicOCP__setMin
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> Ptr SX' -> IO ()
-casADi__SymbolicOCP__setMin
-  :: SymbolicOCP -> String -> SX -> IO ()
-casADi__SymbolicOCP__setMin x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setMin x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::SymbolicOCP::setMin(const std::string &name, const SX &val)
->------------------------------------------------------------------------
->
->Set the lower bound by name.
->
->>  void CasADi::SymbolicOCP::setMin(const SX &var, const SX &val)
->------------------------------------------------------------------------
->
->Set the lower bound(s) by expression.
--}
-symbolicOCP_setMin :: SymbolicOCPClass a => a -> String -> SX -> IO ()
-symbolicOCP_setMin x = casADi__SymbolicOCP__setMin (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setMin_TIC" c_CasADi__SymbolicOCP__setMin_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> Ptr SX' -> IO ()
-casADi__SymbolicOCP__setMin'
-  :: SymbolicOCP -> SX -> SX -> IO ()
-casADi__SymbolicOCP__setMin' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setMin_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setMin' :: SymbolicOCPClass a => a -> SX -> SX -> IO ()
-symbolicOCP_setMin' x = casADi__SymbolicOCP__setMin' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__max" c_CasADi__SymbolicOCP__max
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SymbolicOCP__max
-  :: SymbolicOCP -> String -> IO SX
-casADi__SymbolicOCP__max x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__max x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  SX CasADi::SymbolicOCP::max(const std::string &name) const 
->------------------------------------------------------------------------
->
->Get the upper bound by name.
->
->>  SX CasADi::SymbolicOCP::max(const SX &var) const 
->------------------------------------------------------------------------
->
->Get the upper bound(s) by expression.
--}
-symbolicOCP_max :: SymbolicOCPClass a => a -> String -> IO SX
-symbolicOCP_max x = casADi__SymbolicOCP__max (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__max_TIC" c_CasADi__SymbolicOCP__max_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> IO (Ptr SX')
-casADi__SymbolicOCP__max'
-  :: SymbolicOCP -> SX -> IO SX
-casADi__SymbolicOCP__max' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__max_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_max' :: SymbolicOCPClass a => a -> SX -> IO SX
-symbolicOCP_max' x = casADi__SymbolicOCP__max' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setMax" c_CasADi__SymbolicOCP__setMax
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> Ptr SX' -> IO ()
-casADi__SymbolicOCP__setMax
-  :: SymbolicOCP -> String -> SX -> IO ()
-casADi__SymbolicOCP__setMax x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setMax x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::SymbolicOCP::setMax(const std::string &name, const SX &val)
->------------------------------------------------------------------------
->
->Set the upper bound by name.
->
->>  void CasADi::SymbolicOCP::setMax(const SX &var, const SX &val)
->------------------------------------------------------------------------
->
->Set the upper bound(s) by expression.
--}
-symbolicOCP_setMax :: SymbolicOCPClass a => a -> String -> SX -> IO ()
-symbolicOCP_setMax x = casADi__SymbolicOCP__setMax (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setMax_TIC" c_CasADi__SymbolicOCP__setMax_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> Ptr SX' -> IO ()
-casADi__SymbolicOCP__setMax'
-  :: SymbolicOCP -> SX -> SX -> IO ()
-casADi__SymbolicOCP__setMax' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setMax_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setMax' :: SymbolicOCPClass a => a -> SX -> SX -> IO ()
-symbolicOCP_setMax' x = casADi__SymbolicOCP__setMax' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__initialGuess" c_CasADi__SymbolicOCP__initialGuess
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO (Ptr SX')
-casADi__SymbolicOCP__initialGuess
-  :: SymbolicOCP -> String -> IO SX
-casADi__SymbolicOCP__initialGuess x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__initialGuess x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  SX CasADi::SymbolicOCP::initialGuess(const std::string &name) const 
->------------------------------------------------------------------------
->
->Get the initial guess by name.
->
->>  SX CasADi::SymbolicOCP::initialGuess(const SX &var) const 
->------------------------------------------------------------------------
->
->Get the initial guess(es) by expression.
--}
-symbolicOCP_initialGuess :: SymbolicOCPClass a => a -> String -> IO SX
-symbolicOCP_initialGuess x = casADi__SymbolicOCP__initialGuess (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__initialGuess_TIC" c_CasADi__SymbolicOCP__initialGuess_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> IO (Ptr SX')
-casADi__SymbolicOCP__initialGuess'
-  :: SymbolicOCP -> SX -> IO SX
-casADi__SymbolicOCP__initialGuess' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__initialGuess_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_initialGuess' :: SymbolicOCPClass a => a -> SX -> IO SX
-symbolicOCP_initialGuess' x = casADi__SymbolicOCP__initialGuess' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setInitialGuess" c_CasADi__SymbolicOCP__setInitialGuess
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> Ptr SX' -> IO ()
-casADi__SymbolicOCP__setInitialGuess
-  :: SymbolicOCP -> String -> SX -> IO ()
-casADi__SymbolicOCP__setInitialGuess x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setInitialGuess x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::SymbolicOCP::setInitialGuess(const std::string &name, const SX &val)
->------------------------------------------------------------------------
->
->Set the initial guess by name.
->
->>  void CasADi::SymbolicOCP::setInitialGuess(const SX &var, const SX &val)
->------------------------------------------------------------------------
->
->Set the initial guess(es) by expression.
--}
-symbolicOCP_setInitialGuess :: SymbolicOCPClass a => a -> String -> SX -> IO ()
-symbolicOCP_setInitialGuess x = casADi__SymbolicOCP__setInitialGuess (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setInitialGuess_TIC" c_CasADi__SymbolicOCP__setInitialGuess_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> Ptr SX' -> IO ()
-casADi__SymbolicOCP__setInitialGuess'
-  :: SymbolicOCP -> SX -> SX -> IO ()
-casADi__SymbolicOCP__setInitialGuess' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setInitialGuess_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setInitialGuess' :: SymbolicOCPClass a => a -> SX -> SX -> IO ()
-symbolicOCP_setInitialGuess' x = casADi__SymbolicOCP__setInitialGuess' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__start" c_CasADi__SymbolicOCP__start
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> CInt -> IO CDouble
-casADi__SymbolicOCP__start
-  :: SymbolicOCP -> String -> Bool -> IO Double
-casADi__SymbolicOCP__start x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__start x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  double CasADi::SymbolicOCP::start(const std::string &name, bool normalized=false) const 
->------------------------------------------------------------------------
->
->Get the (optionally normalized) value at time 0 by name.
->
->>  std::vector< double > CasADi::SymbolicOCP::start(const SX &var, bool normalized=false) const 
->------------------------------------------------------------------------
->
->Get the (optionally normalized) value(s) at time 0 by expression.
--}
-symbolicOCP_start :: SymbolicOCPClass a => a -> String -> Bool -> IO Double
-symbolicOCP_start x = casADi__SymbolicOCP__start (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__start_TIC" c_CasADi__SymbolicOCP__start_TIC
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO CDouble
-casADi__SymbolicOCP__start'
-  :: SymbolicOCP -> String -> IO Double
-casADi__SymbolicOCP__start' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__start_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_start' :: SymbolicOCPClass a => a -> String -> IO Double
-symbolicOCP_start' x = casADi__SymbolicOCP__start' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__start_TIC_TIC" c_CasADi__SymbolicOCP__start_TIC_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> CInt -> IO (Ptr (CppVec CDouble))
-casADi__SymbolicOCP__start''
-  :: SymbolicOCP -> SX -> Bool -> IO (Vector Double)
-casADi__SymbolicOCP__start'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__start_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_start'' :: SymbolicOCPClass a => a -> SX -> Bool -> IO (Vector Double)
-symbolicOCP_start'' x = casADi__SymbolicOCP__start'' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__start_TIC_TIC_TIC" c_CasADi__SymbolicOCP__start_TIC_TIC_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> IO (Ptr (CppVec CDouble))
-casADi__SymbolicOCP__start'''
-  :: SymbolicOCP -> SX -> IO (Vector Double)
-casADi__SymbolicOCP__start''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__start_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_start''' :: SymbolicOCPClass a => a -> SX -> IO (Vector Double)
-symbolicOCP_start''' x = casADi__SymbolicOCP__start''' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setStart" c_CasADi__SymbolicOCP__setStart
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> CDouble -> CInt -> IO ()
-casADi__SymbolicOCP__setStart
-  :: SymbolicOCP -> String -> Double -> Bool -> IO ()
-casADi__SymbolicOCP__setStart x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__SymbolicOCP__setStart x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::SymbolicOCP::setStart(const std::string &name, double val, bool normalized=false)
->------------------------------------------------------------------------
->
->Set the (optionally normalized) value at time 0 by name.
->
->>  void CasADi::SymbolicOCP::setStart(const SX &var, const std::vector< double > &val, bool normalized=false)
->------------------------------------------------------------------------
->
->Set the (optionally normalized) value(s) at time 0 by expression.
--}
-symbolicOCP_setStart :: SymbolicOCPClass a => a -> String -> Double -> Bool -> IO ()
-symbolicOCP_setStart x = casADi__SymbolicOCP__setStart (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setStart_TIC" c_CasADi__SymbolicOCP__setStart_TIC
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> CDouble -> IO ()
-casADi__SymbolicOCP__setStart'
-  :: SymbolicOCP -> String -> Double -> IO ()
-casADi__SymbolicOCP__setStart' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setStart_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setStart' :: SymbolicOCPClass a => a -> String -> Double -> IO ()
-symbolicOCP_setStart' x = casADi__SymbolicOCP__setStart' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setStart_TIC_TIC" c_CasADi__SymbolicOCP__setStart_TIC_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> Ptr (CppVec CDouble) -> CInt -> IO ()
-casADi__SymbolicOCP__setStart''
-  :: SymbolicOCP -> SX -> Vector Double -> Bool -> IO ()
-casADi__SymbolicOCP__setStart'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__SymbolicOCP__setStart_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setStart'' :: SymbolicOCPClass a => a -> SX -> Vector Double -> Bool -> IO ()
-symbolicOCP_setStart'' x = casADi__SymbolicOCP__setStart'' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setStart_TIC_TIC_TIC" c_CasADi__SymbolicOCP__setStart_TIC_TIC_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> Ptr (CppVec CDouble) -> IO ()
-casADi__SymbolicOCP__setStart'''
-  :: SymbolicOCP -> SX -> Vector Double -> IO ()
-casADi__SymbolicOCP__setStart''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setStart_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setStart''' :: SymbolicOCPClass a => a -> SX -> Vector Double -> IO ()
-symbolicOCP_setStart''' x = casADi__SymbolicOCP__setStart''' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__derivativeStart" c_CasADi__SymbolicOCP__derivativeStart
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> CInt -> IO CDouble
-casADi__SymbolicOCP__derivativeStart
-  :: SymbolicOCP -> String -> Bool -> IO Double
-casADi__SymbolicOCP__derivativeStart x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__derivativeStart x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  double CasADi::SymbolicOCP::derivativeStart(const std::string &name, bool normalized=false) const 
->------------------------------------------------------------------------
->
->Get the (optionally normalized) derivative value at time 0 by name.
->
->>  std::vector< double > CasADi::SymbolicOCP::derivativeStart(const SX &var, bool normalized=false) const 
->------------------------------------------------------------------------
->
->Get the (optionally normalized) derivative value(s) at time 0 by expression.
--}
-symbolicOCP_derivativeStart :: SymbolicOCPClass a => a -> String -> Bool -> IO Double
-symbolicOCP_derivativeStart x = casADi__SymbolicOCP__derivativeStart (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__derivativeStart_TIC" c_CasADi__SymbolicOCP__derivativeStart_TIC
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO CDouble
-casADi__SymbolicOCP__derivativeStart'
-  :: SymbolicOCP -> String -> IO Double
-casADi__SymbolicOCP__derivativeStart' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__derivativeStart_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_derivativeStart' :: SymbolicOCPClass a => a -> String -> IO Double
-symbolicOCP_derivativeStart' x = casADi__SymbolicOCP__derivativeStart' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__derivativeStart_TIC_TIC" c_CasADi__SymbolicOCP__derivativeStart_TIC_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> CInt -> IO (Ptr (CppVec CDouble))
-casADi__SymbolicOCP__derivativeStart''
-  :: SymbolicOCP -> SX -> Bool -> IO (Vector Double)
-casADi__SymbolicOCP__derivativeStart'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__derivativeStart_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_derivativeStart'' :: SymbolicOCPClass a => a -> SX -> Bool -> IO (Vector Double)
-symbolicOCP_derivativeStart'' x = casADi__SymbolicOCP__derivativeStart'' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__derivativeStart_TIC_TIC_TIC" c_CasADi__SymbolicOCP__derivativeStart_TIC_TIC_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> IO (Ptr (CppVec CDouble))
-casADi__SymbolicOCP__derivativeStart'''
-  :: SymbolicOCP -> SX -> IO (Vector Double)
-casADi__SymbolicOCP__derivativeStart''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__derivativeStart_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_derivativeStart''' :: SymbolicOCPClass a => a -> SX -> IO (Vector Double)
-symbolicOCP_derivativeStart''' x = casADi__SymbolicOCP__derivativeStart''' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setDerivativeStart" c_CasADi__SymbolicOCP__setDerivativeStart
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> CDouble -> CInt -> IO ()
-casADi__SymbolicOCP__setDerivativeStart
-  :: SymbolicOCP -> String -> Double -> Bool -> IO ()
-casADi__SymbolicOCP__setDerivativeStart x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__SymbolicOCP__setDerivativeStart x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  void CasADi::SymbolicOCP::setDerivativeStart(const std::string &name, double val, bool normalized=false)
->------------------------------------------------------------------------
->
->Set the (optionally normalized) derivative value at time 0 by name.
->
->>  void CasADi::SymbolicOCP::setDerivativeStart(const SX &var, const std::vector< double > &val, bool normalized=false)
->------------------------------------------------------------------------
->
->Set the (optionally normalized) derivative value(s) at time 0 by expression.
--}
-symbolicOCP_setDerivativeStart :: SymbolicOCPClass a => a -> String -> Double -> Bool -> IO ()
-symbolicOCP_setDerivativeStart x = casADi__SymbolicOCP__setDerivativeStart (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setDerivativeStart_TIC" c_CasADi__SymbolicOCP__setDerivativeStart_TIC
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> CDouble -> IO ()
-casADi__SymbolicOCP__setDerivativeStart'
-  :: SymbolicOCP -> String -> Double -> IO ()
-casADi__SymbolicOCP__setDerivativeStart' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setDerivativeStart_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setDerivativeStart' :: SymbolicOCPClass a => a -> String -> Double -> IO ()
-symbolicOCP_setDerivativeStart' x = casADi__SymbolicOCP__setDerivativeStart' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setDerivativeStart_TIC_TIC" c_CasADi__SymbolicOCP__setDerivativeStart_TIC_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> Ptr (CppVec CDouble) -> CInt -> IO ()
-casADi__SymbolicOCP__setDerivativeStart''
-  :: SymbolicOCP -> SX -> Vector Double -> Bool -> IO ()
-casADi__SymbolicOCP__setDerivativeStart'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__SymbolicOCP__setDerivativeStart_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setDerivativeStart'' :: SymbolicOCPClass a => a -> SX -> Vector Double -> Bool -> IO ()
-symbolicOCP_setDerivativeStart'' x = casADi__SymbolicOCP__setDerivativeStart'' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setDerivativeStart_TIC_TIC_TIC" c_CasADi__SymbolicOCP__setDerivativeStart_TIC_TIC_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> Ptr (CppVec CDouble) -> IO ()
-casADi__SymbolicOCP__setDerivativeStart'''
-  :: SymbolicOCP -> SX -> Vector Double -> IO ()
-casADi__SymbolicOCP__setDerivativeStart''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setDerivativeStart_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_setDerivativeStart''' :: SymbolicOCPClass a => a -> SX -> Vector Double -> IO ()
-symbolicOCP_setDerivativeStart''' x = casADi__SymbolicOCP__setDerivativeStart''' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__unit" c_CasADi__SymbolicOCP__unit
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> IO (Ptr StdString')
-casADi__SymbolicOCP__unit
-  :: SymbolicOCP -> String -> IO String
-casADi__SymbolicOCP__unit x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__unit x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  std::string CasADi::SymbolicOCP::unit(const std::string &name) const 
->------------------------------------------------------------------------
->
->Get the unit for a component.
->
->>  std::string CasADi::SymbolicOCP::unit(const SX &var) const 
->------------------------------------------------------------------------
->
->Get the unit given a vector of symbolic variables (all units must be
->identical)
--}
-symbolicOCP_unit :: SymbolicOCPClass a => a -> String -> IO String
-symbolicOCP_unit x = casADi__SymbolicOCP__unit (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__unit_TIC" c_CasADi__SymbolicOCP__unit_TIC
-  :: Ptr SymbolicOCP' -> Ptr SX' -> IO (Ptr StdString')
-casADi__SymbolicOCP__unit'
-  :: SymbolicOCP -> SX -> IO String
-casADi__SymbolicOCP__unit' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicOCP__unit_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_unit' :: SymbolicOCPClass a => a -> SX -> IO String
-symbolicOCP_unit' x = casADi__SymbolicOCP__unit' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__setUnit" c_CasADi__SymbolicOCP__setUnit
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> Ptr StdString' -> IO ()
-casADi__SymbolicOCP__setUnit
-  :: SymbolicOCP -> String -> String -> IO ()
-casADi__SymbolicOCP__setUnit x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__setUnit x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the unit for a component.
--}
-symbolicOCP_setUnit :: SymbolicOCPClass a => a -> String -> String -> IO ()
-symbolicOCP_setUnit x = casADi__SymbolicOCP__setUnit (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__atTime" c_CasADi__SymbolicOCP__atTime
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> CDouble -> CInt -> IO (Ptr SX')
-casADi__SymbolicOCP__atTime
-  :: SymbolicOCP -> String -> Double -> Bool -> IO SX
-casADi__SymbolicOCP__atTime x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__SymbolicOCP__atTime x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  SX CasADi::SymbolicOCP::atTime(const std::string &name, double t, bool allocate=false) const 
->------------------------------------------------------------------------
->
->Timed variable (never allocate)
->
->>  SX CasADi::SymbolicOCP::atTime(const std::string &name, double t, bool allocate=false)
->------------------------------------------------------------------------
->
->Timed variable (allocate if necessary)
--}
-symbolicOCP_atTime :: SymbolicOCPClass a => a -> String -> Double -> Bool -> IO SX
-symbolicOCP_atTime x = casADi__SymbolicOCP__atTime (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__atTime_TIC" c_CasADi__SymbolicOCP__atTime_TIC
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> CDouble -> IO (Ptr SX')
-casADi__SymbolicOCP__atTime'
-  :: SymbolicOCP -> String -> Double -> IO SX
-casADi__SymbolicOCP__atTime' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__atTime_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_atTime' :: SymbolicOCPClass a => a -> String -> Double -> IO SX
-symbolicOCP_atTime' x = casADi__SymbolicOCP__atTime' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__atTime_TIC_TIC" c_CasADi__SymbolicOCP__atTime_TIC_TIC
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> CDouble -> CInt -> IO (Ptr SX')
-casADi__SymbolicOCP__atTime''
-  :: SymbolicOCP -> String -> Double -> Bool -> IO SX
-casADi__SymbolicOCP__atTime'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__SymbolicOCP__atTime_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_atTime'' :: SymbolicOCPClass a => a -> String -> Double -> Bool -> IO SX
-symbolicOCP_atTime'' x = casADi__SymbolicOCP__atTime'' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__atTime_TIC_TIC_TIC" c_CasADi__SymbolicOCP__atTime_TIC_TIC_TIC
-  :: Ptr SymbolicOCP' -> Ptr StdString' -> CDouble -> IO (Ptr SX')
-casADi__SymbolicOCP__atTime'''
-  :: SymbolicOCP -> String -> Double -> IO SX
-casADi__SymbolicOCP__atTime''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__SymbolicOCP__atTime_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-symbolicOCP_atTime''' :: SymbolicOCPClass a => a -> String -> Double -> IO SX
-symbolicOCP_atTime''' x = casADi__SymbolicOCP__atTime''' (castSymbolicOCP x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__SymbolicOCP" c_CasADi__SymbolicOCP__SymbolicOCP
-  :: CInt -> IO (Ptr SymbolicOCP')
-casADi__SymbolicOCP__SymbolicOCP
-  :: Bool -> IO SymbolicOCP
-casADi__SymbolicOCP__SymbolicOCP x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicOCP__SymbolicOCP x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-symbolicOCP :: Bool -> IO SymbolicOCP
-symbolicOCP = casADi__SymbolicOCP__SymbolicOCP
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicOCP__SymbolicOCP_TIC" c_CasADi__SymbolicOCP__SymbolicOCP_TIC
-  :: IO (Ptr SymbolicOCP')
-casADi__SymbolicOCP__SymbolicOCP'
-  :: IO SymbolicOCP
-casADi__SymbolicOCP__SymbolicOCP'  =
-  c_CasADi__SymbolicOCP__SymbolicOCP_TIC  >>= wrapReturn
-
--- classy wrapper
-symbolicOCP' :: IO SymbolicOCP
-symbolicOCP' = casADi__SymbolicOCP__SymbolicOCP'
-
diff --git a/Casadi/Wrappers/Classes/SymbolicQR.hs b/Casadi/Wrappers/Classes/SymbolicQR.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/SymbolicQR.hs
+++ /dev/null
@@ -1,121 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.SymbolicQR
-       (
-         SymbolicQR,
-         SymbolicQRClass(..),
-         symbolicQR,
-         symbolicQR',
-         symbolicQR'',
-         symbolicQR_checkNode,
-         symbolicQR_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 SymbolicQR where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicQR__checkNode" c_CasADi__SymbolicQR__checkNode
-  :: Ptr SymbolicQR' -> IO CInt
-casADi__SymbolicQR__checkNode
-  :: SymbolicQR -> IO Bool
-casADi__SymbolicQR__checkNode x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicQR__checkNode x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Check if the node is pointing to the right type of object.
--}
-symbolicQR_checkNode :: SymbolicQRClass a => a -> IO Bool
-symbolicQR_checkNode x = casADi__SymbolicQR__checkNode (castSymbolicQR x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicQR__creator" c_CasADi__SymbolicQR__creator
-  :: Ptr Sparsity' -> CInt -> IO (Ptr LinearSolver')
-casADi__SymbolicQR__creator
-  :: Sparsity -> Int -> IO LinearSolver
-casADi__SymbolicQR__creator x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicQR__creator x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicQR_creator :: Sparsity -> Int -> IO LinearSolver
-symbolicQR_creator = casADi__SymbolicQR__creator
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicQR__SymbolicQR" c_CasADi__SymbolicQR__SymbolicQR
-  :: IO (Ptr SymbolicQR')
-casADi__SymbolicQR__SymbolicQR
-  :: IO SymbolicQR
-casADi__SymbolicQR__SymbolicQR  =
-  c_CasADi__SymbolicQR__SymbolicQR  >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::SymbolicQR::SymbolicQR()
->------------------------------------------------------------------------
->
->Default (empty) constructor.
->
->>  CasADi::SymbolicQR::SymbolicQR(const Sparsity &sp, int nrhs=1)
->------------------------------------------------------------------------
->
->Create a linear solver given a sparsity pattern.
--}
-symbolicQR :: IO SymbolicQR
-symbolicQR = casADi__SymbolicQR__SymbolicQR
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicQR__SymbolicQR_TIC" c_CasADi__SymbolicQR__SymbolicQR_TIC
-  :: Ptr Sparsity' -> CInt -> IO (Ptr SymbolicQR')
-casADi__SymbolicQR__SymbolicQR'
-  :: Sparsity -> Int -> IO SymbolicQR
-casADi__SymbolicQR__SymbolicQR' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__SymbolicQR__SymbolicQR_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-symbolicQR' :: Sparsity -> Int -> IO SymbolicQR
-symbolicQR' = casADi__SymbolicQR__SymbolicQR'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__SymbolicQR__SymbolicQR_TIC_TIC" c_CasADi__SymbolicQR__SymbolicQR_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr SymbolicQR')
-casADi__SymbolicQR__SymbolicQR''
-  :: Sparsity -> IO SymbolicQR
-casADi__SymbolicQR__SymbolicQR'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__SymbolicQR__SymbolicQR_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-symbolicQR'' :: Sparsity -> IO SymbolicQR
-symbolicQR'' = casADi__SymbolicQR__SymbolicQR''
-
diff --git a/Casadi/Wrappers/Classes/Variable.hs b/Casadi/Wrappers/Classes/Variable.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/Variable.hs
+++ /dev/null
@@ -1,162 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.Variable
-       (
-         Variable,
-         VariableClass(..),
-         variable,
-         variable_atTime,
-         variable_atTime',
-         variable_atTime'',
-         variable_atTime''',
-         variable_name,
-         variable_setName,
-       ) 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 Variable where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__Variable__name" c_CasADi__Variable__name
-  :: Ptr Variable' -> IO (Ptr StdString')
-casADi__Variable__name
-  :: Variable -> IO String
-casADi__Variable__name x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__Variable__name x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->Variable name.
--}
-variable_name :: VariableClass a => a -> IO String
-variable_name x = casADi__Variable__name (castVariable x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Variable__setName" c_CasADi__Variable__setName
-  :: Ptr Variable' -> Ptr StdString' -> IO ()
-casADi__Variable__setName
-  :: Variable -> String -> IO ()
-casADi__Variable__setName x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Variable__setName x0' x1' >>= wrapReturn
-
--- classy wrapper
-{-|
->Set the variable name (and corresponding expressions)
--}
-variable_setName :: VariableClass a => a -> String -> IO ()
-variable_setName x = casADi__Variable__setName (castVariable x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Variable__atTime" c_CasADi__Variable__atTime
-  :: Ptr Variable' -> CDouble -> CInt -> IO (Ptr SXElement')
-casADi__Variable__atTime
-  :: Variable -> Double -> Bool -> IO SXElement
-casADi__Variable__atTime x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Variable__atTime x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  SXElement CasADi::Variable::atTime(double t, bool allocate=false) const 
->------------------------------------------------------------------------
->
->Timed variable (never allocate)
->
->>  SXElement CasADi::Variable::atTime(double t, bool allocate=false)
->------------------------------------------------------------------------
->
->Timed variable (allocate if necessary)
--}
-variable_atTime :: VariableClass a => a -> Double -> Bool -> IO SXElement
-variable_atTime x = casADi__Variable__atTime (castVariable x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Variable__atTime_TIC" c_CasADi__Variable__atTime_TIC
-  :: Ptr Variable' -> CDouble -> IO (Ptr SXElement')
-casADi__Variable__atTime'
-  :: Variable -> Double -> IO SXElement
-casADi__Variable__atTime' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Variable__atTime_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-variable_atTime' :: VariableClass a => a -> Double -> IO SXElement
-variable_atTime' x = casADi__Variable__atTime' (castVariable x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Variable__atTime_TIC_TIC" c_CasADi__Variable__atTime_TIC_TIC
-  :: Ptr Variable' -> CDouble -> CInt -> IO (Ptr SXElement')
-casADi__Variable__atTime''
-  :: Variable -> Double -> Bool -> IO SXElement
-casADi__Variable__atTime'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__Variable__atTime_TIC_TIC x0' x1' x2' >>= wrapReturn
-
--- classy wrapper
-variable_atTime'' :: VariableClass a => a -> Double -> Bool -> IO SXElement
-variable_atTime'' x = casADi__Variable__atTime'' (castVariable x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Variable__atTime_TIC_TIC_TIC" c_CasADi__Variable__atTime_TIC_TIC_TIC
-  :: Ptr Variable' -> CDouble -> IO (Ptr SXElement')
-casADi__Variable__atTime'''
-  :: Variable -> Double -> IO SXElement
-casADi__Variable__atTime''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__Variable__atTime_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
--- classy wrapper
-variable_atTime''' :: VariableClass a => a -> Double -> IO SXElement
-variable_atTime''' x = casADi__Variable__atTime''' (castVariable x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__Variable__Variable" c_CasADi__Variable__Variable
-  :: IO (Ptr Variable')
-casADi__Variable__Variable
-  :: IO Variable
-casADi__Variable__Variable  =
-  c_CasADi__Variable__Variable  >>= wrapReturn
-
--- classy wrapper
-{-|
->Default constructor.
--}
-variable :: IO Variable
-variable = casADi__Variable__Variable
-
diff --git a/Casadi/Wrappers/Classes/WeakRef.hs b/Casadi/Wrappers/Classes/WeakRef.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Classes/WeakRef.hs
+++ /dev/null
@@ -1,123 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Classes.WeakRef
-       (
-         WeakRef,
-         WeakRefClass(..),
-         weakRef,
-         weakRef',
-         weakRef'',
-         weakRef_alive,
-         weakRef_shared,
-       ) 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 WeakRef where
-  show = unsafePerformIO . printableObject_getDescription
--- direct wrapper
-foreign import ccall unsafe "CasADi__WeakRef__shared" c_CasADi__WeakRef__shared
-  :: Ptr WeakRef' -> IO (Ptr SharedObject')
-casADi__WeakRef__shared
-  :: WeakRef -> IO SharedObject
-casADi__WeakRef__shared x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__WeakRef__shared x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Get a shared
->(owning) reference.
--}
-weakRef_shared :: WeakRefClass a => a -> IO SharedObject
-weakRef_shared x = casADi__WeakRef__shared (castWeakRef x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__WeakRef__alive" c_CasADi__WeakRef__alive
-  :: Ptr WeakRef' -> IO CInt
-casADi__WeakRef__alive
-  :: WeakRef -> IO Bool
-casADi__WeakRef__alive x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__WeakRef__alive x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->[INTERNAL]  Check if alive.
--}
-weakRef_alive :: WeakRefClass a => a -> IO Bool
-weakRef_alive x = casADi__WeakRef__alive (castWeakRef x)
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__WeakRef__WeakRef" c_CasADi__WeakRef__WeakRef
-  :: CInt -> IO (Ptr WeakRef')
-casADi__WeakRef__WeakRef
-  :: Int -> IO WeakRef
-casADi__WeakRef__WeakRef x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__WeakRef__WeakRef x0' >>= wrapReturn
-
--- classy wrapper
-{-|
->>  CasADi::WeakRef::WeakRef(int dummy=0)
->------------------------------------------------------------------------
->[INTERNAL] 
->Default constructor.
->
->>  CasADi::WeakRef::WeakRef(SharedObject shared)
->------------------------------------------------------------------------
->[INTERNAL] 
->Construct from a shared object (also implicit type conversion)
--}
-weakRef :: Int -> IO WeakRef
-weakRef = casADi__WeakRef__WeakRef
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__WeakRef__WeakRef_TIC" c_CasADi__WeakRef__WeakRef_TIC
-  :: IO (Ptr WeakRef')
-casADi__WeakRef__WeakRef'
-  :: IO WeakRef
-casADi__WeakRef__WeakRef'  =
-  c_CasADi__WeakRef__WeakRef_TIC  >>= wrapReturn
-
--- classy wrapper
-weakRef' :: IO WeakRef
-weakRef' = casADi__WeakRef__WeakRef'
-
-
--- direct wrapper
-foreign import ccall unsafe "CasADi__WeakRef__WeakRef_TIC_TIC" c_CasADi__WeakRef__WeakRef_TIC_TIC
-  :: Ptr SharedObject' -> IO (Ptr WeakRef')
-casADi__WeakRef__WeakRef''
-  :: SharedObject -> IO WeakRef
-casADi__WeakRef__WeakRef'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__WeakRef__WeakRef_TIC_TIC x0' >>= wrapReturn
-
--- classy wrapper
-weakRef'' :: SharedObject -> IO WeakRef
-weakRef'' = casADi__WeakRef__WeakRef''
-
diff --git a/Casadi/Wrappers/Data.hs b/Casadi/Wrappers/Data.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Data.hs
+++ /dev/null
@@ -1,17258 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Data where
-
-import Prelude hiding ( Functor )
-
-import Foreign.Ptr ( Ptr, FunPtr )
-import Foreign.ForeignPtr ( ForeignPtr, castForeignPtr, newForeignPtr, touchForeignPtr )
-import Foreign.ForeignPtr.Unsafe ( unsafeForeignPtrToPtr )
-
-import Casadi.Marshal (  Marshal(..) )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- raw decl
-data SXFunction'
--- data decl
-{-|
->[INTERNAL]  Dynamically created
->function that can be expanded into a series of scalar operations.
->
->Joel Andersson
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| just_in_time | OT_BOOLEAN   | false        | Just-in-time | CasADi::SXFu |
->| _opencl      |              |              | compilation  | nctionIntern |
->|              |              |              | for numeric  | al           |
->|              |              |              | evaluation   |              |
->|              |              |              | using OpenCL |              |
->|              |              |              | (experimenta |              |
->|              |              |              | l)           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| just_in_time | OT_BOOLEAN   | false        | Propagate    | CasADi::SXFu |
->| _sparsity    |              |              | sparsity     | nctionIntern |
->|              |              |              | patterns     | al           |
->|              |              |              | using just-  |              |
->|              |              |              | in-time      |              |
->|              |              |              | compilation  |              |
->|              |              |              | to a CPU or  |              |
->|              |              |              | GPU using    |              |
->|              |              |              | OpenCL       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: sx_function.hpp 
--}
-newtype SXFunction = SXFunction (ForeignPtr SXFunction')
--- typeclass decl
-class SXFunctionClass a where
-  castSXFunction :: a -> SXFunction
-instance SXFunctionClass SXFunction where
-  castSXFunction = id
-
--- baseclass instances
-instance SharedObjectClass SXFunction where
-  castSharedObject (SXFunction x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SXFunction where
-  castPrintableObject (SXFunction x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SXFunction where
-  castOptionsFunctionality (SXFunction x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SXFunction where
-  castFunction (SXFunction x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SXFunction where
-  castIOInterfaceFunction (SXFunction x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SXFunction (Ptr SXFunction') where
-  marshal (SXFunction x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SXFunction x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SXFunction" 
-  c_delete_CasADi__SXFunction :: FunPtr (Ptr SXFunction' -> IO ())
-instance WrapReturn (Ptr SXFunction') SXFunction where
-  wrapReturn = (fmap SXFunction) . (newForeignPtr c_delete_CasADi__SXFunction)
-
-
--- raw decl
-data RKIntegrator'
--- data decl
-{-|
->[INTERNAL]  Fixed-step explicit
->Runge-Kutta integrator for ODEs Currently implements RK4.
->
->The method is still under development
->
->Joel Andersson
->
->>Input scheme: CasADi::IntegratorInput (INTEGRATOR_NUM_IN = 7) [integratorIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::IntegratorOutput (INTEGRATOR_NUM_OUT = 7) [integratorOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_XF          | xf                     | Differential state at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_QF          | qf                     | Quadrature state at    |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_ZF          | zf                     | Algebraic variable at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RXF         | rxf                    | Backward differential  |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RQF         | rqf                    | Backward quadrature    |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZF         | rzf                    | Backward algebraic     |
->|                        |                        | variable at the        |
->|                        |                        | initial time .         |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| augmented_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::Inte |
->| tions        | Y            | )            | be passed    | gratorIntern |
->|              |              |              | down to the  | al           |
->|              |              |              | augmented    |              |
->|              |              |              | integrator,  |              |
->|              |              |              | if one is    |              |
->|              |              |              | constructed. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_augme | OT_BOOLEAN   | true         | If DAE       | CasADi::Inte |
->| nted         |              |              | callback     | gratorIntern |
->|              |              |              | functions    | al           |
->|              |              |              | are          |              |
->|              |              |              | SXFunction , |              |
->|              |              |              | have         |              |
->|              |              |              | augmented    |              |
->|              |              |              | DAE callback |              |
->|              |              |              | function     |              |
->|              |              |              | also be      |              |
->|              |              |              | SXFunction . |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_fi | OT_INTEGER   | 20           | Number of    | CasADi::Fixe |
->| nite_element |              |              | finite       | dStepIntegra |
->| s            |              |              | elements     | torInternal  |
->+--------------+--------------+--------------+--------------+--------------+
->| print_stats  | OT_BOOLEAN   | false        | Print out    | CasADi::Inte |
->|              |              |              | statistics   | gratorIntern |
->|              |              |              | after        | al           |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| t0           | OT_REAL      | 0            | Beginning of | CasADi::Inte |
->|              |              |              | the time     | gratorIntern |
->|              |              |              | horizon      | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| tf           | OT_REAL      | 1            | End of the   | CasADi::Inte |
->|              |              |              | time horizon | gratorIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: rk_integrator.hpp 
--}
-newtype RKIntegrator = RKIntegrator (ForeignPtr RKIntegrator')
--- typeclass decl
-class RKIntegratorClass a where
-  castRKIntegrator :: a -> RKIntegrator
-instance RKIntegratorClass RKIntegrator where
-  castRKIntegrator = id
-
--- baseclass instances
-instance SharedObjectClass RKIntegrator where
-  castSharedObject (RKIntegrator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass RKIntegrator where
-  castPrintableObject (RKIntegrator x) = PrintableObject (castForeignPtr x)
-
-instance FixedStepIntegratorClass RKIntegrator where
-  castFixedStepIntegrator (RKIntegrator x) = FixedStepIntegrator (castForeignPtr x)
-
-instance OptionsFunctionalityClass RKIntegrator where
-  castOptionsFunctionality (RKIntegrator x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass RKIntegrator where
-  castFunction (RKIntegrator x) = Function (castForeignPtr x)
-
-instance IntegratorClass RKIntegrator where
-  castIntegrator (RKIntegrator x) = Integrator (castForeignPtr x)
-
-instance IOInterfaceFunctionClass RKIntegrator where
-  castIOInterfaceFunction (RKIntegrator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal RKIntegrator (Ptr RKIntegrator') where
-  marshal (RKIntegrator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (RKIntegrator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__RKIntegrator" 
-  c_delete_CasADi__RKIntegrator :: FunPtr (Ptr RKIntegrator' -> IO ())
-instance WrapReturn (Ptr RKIntegrator') RKIntegrator where
-  wrapReturn = (fmap RKIntegrator) . (newForeignPtr c_delete_CasADi__RKIntegrator)
-
-
--- raw decl
-data SQPMethod'
--- data decl
-{-|
->[INTERNAL]  Sequential Quadratic
->Programming method.
->
->The algorithm is a classical SQP method with either exact (may be also
->provided) or damped BFGS Lagrange Hessian approximation. Two different line-
->search algorithms are available. First, Armijo (Wolfe) condition with
->backtracking (suffers from Maratos effect). Seco::ifndef
->WITHOUT_PRE_1_9_Xnd, a line-search method that checks if the merit function
->is lower than the last k values (no Maratos effect). Both methods employ the
->L1 merit function.
->
->The method solves the problems of form:min          F(x) x  subject to LBG
-><= G(x) <= UBG LBX <=   x  <= UBX
->
->Nonlinear equalities can be introduced by setting LBG and UBG equal at the
->correct positions.
->
->The method is still under development and should be used with care
->
->Attila Kozma, Joel Andersson and Joris Gillis
->
->>Input scheme: CasADi::NLPSolverInput (NLP_SOLVER_NUM_IN = 9) [nlpSolverIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X0          | x0                     | Decision variables,    |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_P           | p                      | Value of fixed         |
->|                        |                        | parameters (np x 1) .  |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBX         | lbx                    | Decision variables     |
->|                        |                        | lower bound (nx x 1),  |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBX         | ubx                    | Decision variables     |
->|                        |                        | upper bound (nx x 1),  |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBG         | lbg                    | Constraints lower      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBG         | ubg                    | Constraints upper      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X0      | lam_x0                 | Lagrange multipliers   |
->|                        |                        | for bounds on X,       |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G0      | lam_g0                 | Lagrange multipliers   |
->|                        |                        | for bounds on G,       |
->|                        |                        | initial guess (ng x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::NLPSolverOutput (NLP_SOLVER_NUM_OUT = 7) [nlpSolverOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X           | x                      | Decision variables at  |
->|                        |                        | the optimal solution   |
->|                        |                        | (nx x 1) .             |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_F           | f                      | Cost function value at |
->|                        |                        | the optimal solution   |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_G           | g                      | Constraints function   |
->|                        |                        | at the optimal         |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X       | lam_x                  | Lagrange multipliers   |
->|                        |                        | for bounds on X at the |
->|                        |                        | solution (nx x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G       | lam_g                  | Lagrange multipliers   |
->|                        |                        | for bounds on G at the |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_P       | lam_p                  | Lagrange multipliers   |
->|                        |                        | for bounds on P at the |
->|                        |                        | solution (np x 1) .    |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| beta         | OT_REAL      | 0.800        | Line-search  | CasADi::SQPI |
->|              |              |              | parameter,   | nternal      |
->|              |              |              | restoration  |              |
->|              |              |              | factor of    |              |
->|              |              |              | stepsize     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| c1           | OT_REAL      | 0.000        | Armijo       | CasADi::SQPI |
->|              |              |              | condition,   | nternal      |
->|              |              |              | coefficient  |              |
->|              |              |              | of decrease  |              |
->|              |              |              | in merit     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand       | OT_BOOLEAN   | false        | Expand the   | CasADi::NLPS |
->|              |              |              | NLP function | olverInterna |
->|              |              |              | in terms of  | l            |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_f     | OT_BOOLEAN   | GenericType( | Expand the   | CasADi::NLPS |
->|              |              | )            | objective    | olverInterna |
->|              |              |              | function in  | l            |
->|              |              |              | terms of     |              |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX. |              |
->|              |              |              | Deprecated,  |              |
->|              |              |              | use "expand" |              |
->|              |              |              | instead.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_g     | OT_BOOLEAN   | GenericType( | Expand the   | CasADi::NLPS |
->|              |              | )            | constraint   | olverInterna |
->|              |              |              | function in  | l            |
->|              |              |              | terms of     |              |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX. |              |
->|              |              |              | Deprecated,  |              |
->|              |              |              | use "expand" |              |
->|              |              |              | instead.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gauss_newton | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->|              |              | )            | option. Use  | olverInterna |
->|              |              |              | Gauss Newton | l            |
->|              |              |              | Hessian appr |              |
->|              |              |              | oximation    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_gra | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| dient        |              | )            | option.      | olverInterna |
->|              |              |              | Generate a   | l            |
->|              |              |              | function for |              |
->|              |              |              | calculating  |              |
->|              |              |              | the gradient |              |
->|              |              |              | of the       |              |
->|              |              |              | objective.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_hes | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| sian         |              | )            | option.      | olverInterna |
->|              |              |              | Generate an  | l            |
->|              |              |              | exact        |              |
->|              |              |              | Hessian of   |              |
->|              |              |              | the          |              |
->|              |              |              | Lagrangian   |              |
->|              |              |              | if not       |              |
->|              |              |              | supplied.    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_jac | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| obian        |              | )            | option.      | olverInterna |
->|              |              |              | Generate an  | l            |
->|              |              |              | exact        |              |
->|              |              |              | Jacobian of  |              |
->|              |              |              | the          |              |
->|              |              |              | constraints  |              |
->|              |              |              | if not       |              |
->|              |              |              | supplied.    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| hessian_appr | OT_STRING    | "exact"      | limited-     | CasADi::SQPI |
->| oximation    |              |              | memory|exact | nternal      |
->+--------------+--------------+--------------+--------------+--------------+
->| ignore_check | OT_BOOLEAN   | false        | If set to    | CasADi::NLPS |
->| _vec         |              |              | true, the    | olverInterna |
->|              |              |              | input shape  | l            |
->|              |              |              | of F will    |              |
->|              |              |              | not be       |              |
->|              |              |              | checked.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_CALLBACK  | GenericType( | A function   | CasADi::NLPS |
->| llback       |              | )            | that will be | olverInterna |
->|              |              |              | called at    | l            |
->|              |              |              | each         |              |
->|              |              |              | iteration    |              |
->|              |              |              | with the     |              |
->|              |              |              | solver as    |              |
->|              |              |              | input. Check |              |
->|              |              |              | documentatio |              |
->|              |              |              | n of         |              |
->|              |              |              | Callback .   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_BOOLEAN   | false        | If set to    | CasADi::NLPS |
->| llback_ignor |              |              | true, errors | olverInterna |
->| e_errors     |              |              | thrown by it | l            |
->|              |              |              | eration_call |              |
->|              |              |              | back will be |              |
->|              |              |              | ignored.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_INTEGER   | 1            | Only call    | CasADi::NLPS |
->| llback_step  |              |              | the callback | olverInterna |
->|              |              |              | function     | l            |
->|              |              |              | every few    |              |
->|              |              |              | iterations.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| lbfgs_memory | OT_INTEGER   | 10           | Size of      | CasADi::SQPI |
->|              |              |              | L-BFGS       | nternal      |
->|              |              |              | memory.      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_iter     | OT_INTEGER   | 50           | Maximum      | CasADi::SQPI |
->|              |              |              | number of    | nternal      |
->|              |              |              | SQP          |              |
->|              |              |              | iterations   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_iter_ls  | OT_INTEGER   | 3            | Maximum      | CasADi::SQPI |
->|              |              |              | number of    | nternal      |
->|              |              |              | linesearch   |              |
->|              |              |              | iterations   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| merit_memory | OT_INTEGER   | 4            | Size of      | CasADi::SQPI |
->|              |              |              | memory to    | nternal      |
->|              |              |              | store        |              |
->|              |              |              | history of   |              |
->|              |              |              | merit        |              |
->|              |              |              | function     |              |
->|              |              |              | values       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| min_step_siz | OT_REAL      | 0.000        | The size     | CasADi::SQPI |
->| e            |              |              | (inf-norm)   | nternal      |
->|              |              |              | of the step  |              |
->|              |              |              | size should  |              |
->|              |              |              | not become   |              |
->|              |              |              | smaller than |              |
->|              |              |              | this.        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp | CasADi::SQPI |
->|              |              |              | uts)  (eval_ | nternal      |
->|              |              |              | f|eval_g|eva |              |
->|              |              |              | l_jac_g|eval |              |
->|              |              |              | _grad_f|eval |              |
->|              |              |              | _h|qp|dx)    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| parametric   | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->|              |              | )            | option.      | olverInterna |
->|              |              |              | Expect F, G, | l            |
->|              |              |              | H, J to have |              |
->|              |              |              | an           |              |
->|              |              |              | additional   |              |
->|              |              |              | input        |              |
->|              |              |              | argument     |              |
->|              |              |              | appended at  |              |
->|              |              |              | the end,     |              |
->|              |              |              | denoting     |              |
->|              |              |              | fixed        |              |
->|              |              |              | parameters.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_header | OT_BOOLEAN   | true         | Print the    | CasADi::SQPI |
->|              |              |              | header with  | nternal      |
->|              |              |              | problem      |              |
->|              |              |              | statistics   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_time   | OT_BOOLEAN   | true         | Print        | CasADi::SQPI |
->|              |              |              | information  | nternal      |
->|              |              |              | about        |              |
->|              |              |              | execution    |              |
->|              |              |              | time         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| qp_solver    | OT_QPSOLVER  | GenericType( | The QP       | CasADi::SQPI |
->|              |              | )            | solver to be | nternal      |
->|              |              |              | used by the  |              |
->|              |              |              | SQP method   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| qp_solver_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::SQPI |
->| tions        | Y            | )            | be passed to | nternal      |
->|              |              |              | the QP       |              |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularize   | OT_BOOLEAN   | false        | Automatic re | CasADi::SQPI |
->|              |              |              | gularization | nternal      |
->|              |              |              | of Lagrange  |              |
->|              |              |              | Hessian.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tol_du       | OT_REAL      | 0.000        | Stopping     | CasADi::SQPI |
->|              |              |              | criterion    | nternal      |
->|              |              |              | for dual inf |              |
->|              |              |              | easability   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tol_pr       | OT_REAL      | 0.000        | Stopping     | CasADi::SQPI |
->|              |              |              | criterion    | nternal      |
->|              |              |              | for primal i |              |
->|              |              |              | nfeasibility |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warn_initial | OT_BOOLEAN   | false        | Warn if the  | CasADi::NLPS |
->| _bounds      |              |              | initial      | olverInterna |
->|              |              |              | guess does   | l            |
->|              |              |              | not satisfy  |              |
->|              |              |              | LBX and UBX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->+-------------+--------------------------+
->|     Id      |         Used in          |
->+=============+==========================+
->| dx          | CasADi::SQPInternal      |
->+-------------+--------------------------+
->| eval_f      | CasADi::SQPInternal      |
->+-------------+--------------------------+
->| eval_g      | CasADi::SQPInternal      |
->+-------------+--------------------------+
->| eval_grad_f | CasADi::SQPInternal      |
->+-------------+--------------------------+
->| eval_h      | CasADi::SQPInternal      |
->+-------------+--------------------------+
->| eval_jac_g  | CasADi::SQPInternal      |
->+-------------+--------------------------+
->| inputs      | CasADi::FunctionInternal |
->+-------------+--------------------------+
->| outputs     | CasADi::FunctionInternal |
->+-------------+--------------------------+
->| qp          | CasADi::SQPInternal      |
->+-------------+--------------------------+
->
->>List of available stats
->+--------------------+---------------------+
->|         Id         |       Used in       |
->+====================+=====================+
->| iter_count         | CasADi::SQPInternal |
->+--------------------+---------------------+
->| iteration          | CasADi::SQPInternal |
->+--------------------+---------------------+
->| iterations         | CasADi::SQPInternal |
->+--------------------+---------------------+
->| n_eval_f           | CasADi::SQPInternal |
->+--------------------+---------------------+
->| n_eval_g           | CasADi::SQPInternal |
->+--------------------+---------------------+
->| n_eval_grad_f      | CasADi::SQPInternal |
->+--------------------+---------------------+
->| n_eval_h           | CasADi::SQPInternal |
->+--------------------+---------------------+
->| n_eval_jac_g       | CasADi::SQPInternal |
->+--------------------+---------------------+
->| return_status      | CasADi::SQPInternal |
->+--------------------+---------------------+
->| t_callback_fun     | CasADi::SQPInternal |
->+--------------------+---------------------+
->| t_callback_prepare | CasADi::SQPInternal |
->+--------------------+---------------------+
->| t_eval_f           | CasADi::SQPInternal |
->+--------------------+---------------------+
->| t_eval_g           | CasADi::SQPInternal |
->+--------------------+---------------------+
->| t_eval_grad_f      | CasADi::SQPInternal |
->+--------------------+---------------------+
->| t_eval_h           | CasADi::SQPInternal |
->+--------------------+---------------------+
->| t_eval_jac_g       | CasADi::SQPInternal |
->+--------------------+---------------------+
->| t_mainloop         | CasADi::SQPInternal |
->+--------------------+---------------------+
->
->Diagrams
->
->C++ includes: sqp_method.hpp 
--}
-newtype SQPMethod = SQPMethod (ForeignPtr SQPMethod')
--- typeclass decl
-class SQPMethodClass a where
-  castSQPMethod :: a -> SQPMethod
-instance SQPMethodClass SQPMethod where
-  castSQPMethod = id
-
--- baseclass instances
-instance SharedObjectClass SQPMethod where
-  castSharedObject (SQPMethod x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SQPMethod where
-  castPrintableObject (SQPMethod x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SQPMethod where
-  castOptionsFunctionality (SQPMethod x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SQPMethod where
-  castFunction (SQPMethod x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SQPMethod where
-  castIOInterfaceFunction (SQPMethod x) = IOInterfaceFunction (castForeignPtr x)
-
-instance NLPSolverClass SQPMethod where
-  castNLPSolver (SQPMethod x) = NLPSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SQPMethod (Ptr SQPMethod') where
-  marshal (SQPMethod x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SQPMethod x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SQPMethod" 
-  c_delete_CasADi__SQPMethod :: FunPtr (Ptr SQPMethod' -> IO ())
-instance WrapReturn (Ptr SQPMethod') SQPMethod where
-  wrapReturn = (fmap SQPMethod) . (newForeignPtr c_delete_CasADi__SQPMethod)
-
-
--- raw decl
-data SharedObject'
--- data decl
-{-|
->[INTERNAL]   SharedObject
->implements a reference counting framework simular for effient and easily-
->maintained memory management.
->
->To use the class, both the SharedObject class (the public class), and the
->SharedObjectNode class (the internal class) must be inherited from. It can
->be done in two different files and together with memory management, this
->approach provides a clear destinction of which methods of the class are to
->be considered "public", i.e. methods for public use that can be considered
->to remain over time with small changes, and the internal memory.
->
->When interfacing a software, which typically includes including some header
->file, this is best done only in the file where the internal class is
->defined, to avoid polluting the global namespace and other side effects.
->
->The default constructor always means creating a null pointer to an internal
->class only. To allocate an internal class (this works only when the internal
->class isn't abstract), use the constructor with arguments.
->
->The copy constructor and the assignment operator perform shallow copies
->only, to make a deep copy you must use the clone method explictly. This will
->give a shared pointer instance.
->
->In an inheritance hierarchy, you can cast down automatically, e.g. (
->SXFunction is a child class of Function): SXFunction derived(...); Function
->base = derived;
->
->To cast up, use the shared_cast template function, which works analogously
->to dynamic_cast, static_cast, const_cast etc, e.g.: SXFunction derived(...);
->Function base = derived; SXFunction derived_from_base =
->shared_cast<SXFunction>(base);
->
->A failed shared_cast will result in a null pointer (cf. dynamic_cast)
->
->Joel Andersson
->
->C++ includes: shared_object.hpp 
--}
-newtype SharedObject = SharedObject (ForeignPtr SharedObject')
--- typeclass decl
-class SharedObjectClass a where
-  castSharedObject :: a -> SharedObject
-instance SharedObjectClass SharedObject where
-  castSharedObject = id
-
--- baseclass instances
-instance PrintableObjectClass SharedObject where
-  castPrintableObject (SharedObject x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SharedObject (Ptr SharedObject') where
-  marshal (SharedObject x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SharedObject x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SharedObject" 
-  c_delete_CasADi__SharedObject :: FunPtr (Ptr SharedObject' -> IO ())
-instance WrapReturn (Ptr SharedObject') SharedObject where
-  wrapReturn = (fmap SharedObject) . (newForeignPtr c_delete_CasADi__SharedObject)
-
-
--- raw decl
-data MXFunction'
--- data decl
-{-|
->[INTERNAL]  General function
->mapping from/to MX.
->
->Joel Andersson
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: mx_function.hpp 
--}
-newtype MXFunction = MXFunction (ForeignPtr MXFunction')
--- typeclass decl
-class MXFunctionClass a where
-  castMXFunction :: a -> MXFunction
-instance MXFunctionClass MXFunction where
-  castMXFunction = id
-
--- baseclass instances
-instance SharedObjectClass MXFunction where
-  castSharedObject (MXFunction x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass MXFunction where
-  castPrintableObject (MXFunction x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass MXFunction where
-  castOptionsFunctionality (MXFunction x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass MXFunction where
-  castFunction (MXFunction x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass MXFunction where
-  castIOInterfaceFunction (MXFunction x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal MXFunction (Ptr MXFunction') where
-  marshal (MXFunction x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (MXFunction x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__MXFunction" 
-  c_delete_CasADi__MXFunction :: FunPtr (Ptr MXFunction' -> IO ())
-instance WrapReturn (Ptr MXFunction') MXFunction where
-  wrapReturn = (fmap MXFunction) . (newForeignPtr c_delete_CasADi__MXFunction)
-
-
--- raw decl
-data HomotopyNLPSolver'
--- data decl
-{-|
->[INTERNAL]  Base class for
->Homotopy NLP Solvers.
->
->Solves the following parametric nonlinear program (NLP):min
->F(x,p,tau)  x  subject to             LBX <=   x    <= UBX             LBG
-><= G(x,p) <= UBG                        p  == P nx: number of decision
->variables     ng: number of constraints     np: number of parameters
->
->In a homotopy from tau = 0 to tau = 1.
->
->Joris Gillis
->
->>Input scheme: CasADi::NLPSolverInput (NLP_SOLVER_NUM_IN = 9) [nlpSolverIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X0          | x0                     | Decision variables,    |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_P           | p                      | Value of fixed         |
->|                        |                        | parameters (np x 1) .  |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBX         | lbx                    | Decision variables     |
->|                        |                        | lower bound (nx x 1),  |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBX         | ubx                    | Decision variables     |
->|                        |                        | upper bound (nx x 1),  |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBG         | lbg                    | Constraints lower      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBG         | ubg                    | Constraints upper      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X0      | lam_x0                 | Lagrange multipliers   |
->|                        |                        | for bounds on X,       |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G0      | lam_g0                 | Lagrange multipliers   |
->|                        |                        | for bounds on G,       |
->|                        |                        | initial guess (ng x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::NLPSolverOutput (NLP_SOLVER_NUM_OUT = 7) [nlpSolverOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X           | x                      | Decision variables at  |
->|                        |                        | the optimal solution   |
->|                        |                        | (nx x 1) .             |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_F           | f                      | Cost function value at |
->|                        |                        | the optimal solution   |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_G           | g                      | Constraints function   |
->|                        |                        | at the optimal         |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X       | lam_x                  | Lagrange multipliers   |
->|                        |                        | for bounds on X at the |
->|                        |                        | solution (nx x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G       | lam_g                  | Lagrange multipliers   |
->|                        |                        | for bounds on G at the |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_P       | lam_p                  | Lagrange multipliers   |
->|                        |                        | for bounds on P at the |
->|                        |                        | solution (np x 1) .    |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand       | OT_BOOLEAN   | false        | Expand the   | CasADi::Homo |
->|              |              |              | NLP function | topyNLPInter |
->|              |              |              | in terms of  | nal          |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: homotopy_nlp_solver.hpp 
--}
-newtype HomotopyNLPSolver = HomotopyNLPSolver (ForeignPtr HomotopyNLPSolver')
--- typeclass decl
-class HomotopyNLPSolverClass a where
-  castHomotopyNLPSolver :: a -> HomotopyNLPSolver
-instance HomotopyNLPSolverClass HomotopyNLPSolver where
-  castHomotopyNLPSolver = id
-
--- baseclass instances
-instance SharedObjectClass HomotopyNLPSolver where
-  castSharedObject (HomotopyNLPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass HomotopyNLPSolver where
-  castPrintableObject (HomotopyNLPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass HomotopyNLPSolver where
-  castOptionsFunctionality (HomotopyNLPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass HomotopyNLPSolver where
-  castFunction (HomotopyNLPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass HomotopyNLPSolver where
-  castIOInterfaceFunction (HomotopyNLPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal HomotopyNLPSolver (Ptr HomotopyNLPSolver') where
-  marshal (HomotopyNLPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (HomotopyNLPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__HomotopyNLPSolver" 
-  c_delete_CasADi__HomotopyNLPSolver :: FunPtr (Ptr HomotopyNLPSolver' -> IO ())
-instance WrapReturn (Ptr HomotopyNLPSolver') HomotopyNLPSolver where
-  wrapReturn = (fmap HomotopyNLPSolver) . (newForeignPtr c_delete_CasADi__HomotopyNLPSolver)
-
-
--- raw decl
-data StabilizedQPSolver'
--- data decl
-{-|
->[INTERNAL]
->StabilizedQPSolver.
->
->Solves the following strictly convex problem:
->
->min          1/2 x' H x + g' x   x  subject to             LBA <= A x <= UBA
->LBX <= x   <= UBX                  with :       H sparse (n x n) positive
->definite       g dense  (n x 1) n: number of decision variables (x)     nc:
->number of constraints (A)
->
->If H is not positive-definite, the solver should throw an error.
->
->Joel Andersson
->
->>Input scheme: CasADi::StabilizedQPSolverInput (STABILIZED_QP_SOLVER_NUM_IN = 13) [stabilizedQpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| STABILIZED_QP_SOLVER_H | h                      | The square matrix H:   |
->|                        |                        | sparse, (n x n). Only  |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical. .   |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_G | g                      | The vector g: dense,   |
->|                        |                        | (n x 1) .              |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_A | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_L | lba                    | dense, (nc x 1)        |
->| BA                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_U | uba                    | dense, (nc x 1)        |
->| BA                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_L | lbx                    | dense, (n x 1)         |
->| BX                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_U | ubx                    | dense, (n x 1)         |
->| BX                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_X | x0                     | dense, (n x 1)         |
->| 0                      |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_L | lam_x0                 | dense                  |
->| AM_X0                  |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_M | muR                    | dense (1 x 1)          |
->| UR                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_M | muE                    | dense (nc x 1)         |
->| UE                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_M | mu                     | dense (nc x 1)         |
->| U                      |                        |                        |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::QPSolverOutput (QP_SOLVER_NUM_OUT = 5) [qpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QP_SOLVER_X            | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_COST         | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_A        | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_X        | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: stabilized_qp_solver.hpp 
--}
-newtype StabilizedQPSolver = StabilizedQPSolver (ForeignPtr StabilizedQPSolver')
--- typeclass decl
-class StabilizedQPSolverClass a where
-  castStabilizedQPSolver :: a -> StabilizedQPSolver
-instance StabilizedQPSolverClass StabilizedQPSolver where
-  castStabilizedQPSolver = id
-
--- baseclass instances
-instance SharedObjectClass StabilizedQPSolver where
-  castSharedObject (StabilizedQPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass StabilizedQPSolver where
-  castPrintableObject (StabilizedQPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass StabilizedQPSolver where
-  castOptionsFunctionality (StabilizedQPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass StabilizedQPSolver where
-  castFunction (StabilizedQPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass StabilizedQPSolver where
-  castIOInterfaceFunction (StabilizedQPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal StabilizedQPSolver (Ptr StabilizedQPSolver') where
-  marshal (StabilizedQPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (StabilizedQPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__StabilizedQPSolver" 
-  c_delete_CasADi__StabilizedQPSolver :: FunPtr (Ptr StabilizedQPSolver' -> IO ())
-instance WrapReturn (Ptr StabilizedQPSolver') StabilizedQPSolver where
-  wrapReturn = (fmap StabilizedQPSolver) . (newForeignPtr c_delete_CasADi__StabilizedQPSolver)
-
-
--- raw decl
-data SymbolicNLP'
--- data decl
-{-|
->[INTERNAL]  A symbolic NLP
->representation.
->
->Joel Andersson
->
->C++ includes: symbolic_nlp.hpp 
--}
-newtype SymbolicNLP = SymbolicNLP (ForeignPtr SymbolicNLP')
--- typeclass decl
-class SymbolicNLPClass a where
-  castSymbolicNLP :: a -> SymbolicNLP
-instance SymbolicNLPClass SymbolicNLP where
-  castSymbolicNLP = id
-
--- baseclass instances
-instance PrintableObjectClass SymbolicNLP where
-  castPrintableObject (SymbolicNLP x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SymbolicNLP (Ptr SymbolicNLP') where
-  marshal (SymbolicNLP x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SymbolicNLP x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SymbolicNLP" 
-  c_delete_CasADi__SymbolicNLP :: FunPtr (Ptr SymbolicNLP' -> IO ())
-instance WrapReturn (Ptr SymbolicNLP') SymbolicNLP where
-  wrapReturn = (fmap SymbolicNLP) . (newForeignPtr c_delete_CasADi__SymbolicNLP)
-
-
--- raw decl
-data CSparse'
--- data decl
-{-|
->[INTERNAL]   LinearSolver with
->CSparse Interface.
->
->Solves the linear system A*X = B or A^T*X = B for X with A square and non-
->singular
->
->If A is structurally singular, an error will be thrown during init. If A is
->numerically singular, the prepare step will fail.
->
->CSparse is an CasADi::Function mapping from 2 inputs [ A (matrix),b
->(vector)] to one output [x (vector)].
->
->The usual procedure to use CSparse is:  init()
->
->set the first input (A)
->
->prepare()
->
->set the second input (b)
->
->solve()
->
->Repeat steps 4 and 5 to work with other b vectors.
->
->The method evaluate() combines the prepare() and solve() step and is
->therefore more expensive if A is invariant.
->
->>Input scheme: CasADi::LinsolInput (LINSOL_NUM_IN = 3) [linsolIn]
->+-----------+-------+------------------------------------------------+
->| Full name | Short |                  Description                   |
->+===========+=======+================================================+
->| LINSOL_A  | A     | The square matrix A: sparse, (n x n). .        |
->+-----------+-------+------------------------------------------------+
->| LINSOL_B  | B     | The right-hand-side matrix b: dense, (n x m) . |
->+-----------+-------+------------------------------------------------+
->
->>Output scheme: CasADi::LinsolOutput (LINSOL_NUM_OUT = 2) [linsolOut]
->+-----------+-------+----------------------------------------------+
->| Full name | Short |                 Description                  |
->+===========+=======+==============================================+
->| LINSOL_X  | X     | Solution to the linear system of equations . |
->+-----------+-------+----------------------------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: csparse.hpp 
--}
-newtype CSparse = CSparse (ForeignPtr CSparse')
--- typeclass decl
-class CSparseClass a where
-  castCSparse :: a -> CSparse
-instance CSparseClass CSparse where
-  castCSparse = id
-
--- baseclass instances
-instance SharedObjectClass CSparse where
-  castSharedObject (CSparse x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass CSparse where
-  castPrintableObject (CSparse x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass CSparse where
-  castOptionsFunctionality (CSparse x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass CSparse where
-  castFunction (CSparse x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass CSparse where
-  castIOInterfaceFunction (CSparse x) = IOInterfaceFunction (castForeignPtr x)
-
-instance LinearSolverClass CSparse where
-  castLinearSolver (CSparse x) = LinearSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal CSparse (Ptr CSparse') where
-  marshal (CSparse x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CSparse x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__CSparse" 
-  c_delete_CasADi__CSparse :: FunPtr (Ptr CSparse' -> IO ())
-instance WrapReturn (Ptr CSparse') CSparse where
-  wrapReturn = (fmap CSparse) . (newForeignPtr c_delete_CasADi__CSparse)
-
-
--- raw decl
-data PrintableObject'
--- data decl
-{-|
->[INTERNAL]  Base class for
->objects that have a natural string representation.
->
->Joel Andersson
->
->C++ includes: printable_object.hpp 
--}
-newtype PrintableObject = PrintableObject (ForeignPtr PrintableObject')
--- typeclass decl
-class PrintableObjectClass a where
-  castPrintableObject :: a -> PrintableObject
-instance PrintableObjectClass PrintableObject where
-  castPrintableObject = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal PrintableObject (Ptr PrintableObject') where
-  marshal (PrintableObject x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (PrintableObject x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__PrintableObject" 
-  c_delete_CasADi__PrintableObject :: FunPtr (Ptr PrintableObject' -> IO ())
-instance WrapReturn (Ptr PrintableObject') PrintableObject where
-  wrapReturn = (fmap PrintableObject) . (newForeignPtr c_delete_CasADi__PrintableObject)
-
-
--- raw decl
-data ExpDMatrix'
--- data decl
-{-|
->[INTERNAL]  Expression
->interface.
->
->This is a common base class for SX, MX and Matrix<>, introducing a uniform
->syntax and implementing common functionality using the curiously recurring
->template pattern (CRTP) idiom. Joel Andersson
->
->C++ includes: generic_expression.hpp 
--}
-newtype ExpDMatrix = ExpDMatrix (ForeignPtr ExpDMatrix')
--- typeclass decl
-class ExpDMatrixClass a where
-  castExpDMatrix :: a -> ExpDMatrix
-instance ExpDMatrixClass ExpDMatrix where
-  castExpDMatrix = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal ExpDMatrix (Ptr ExpDMatrix') where
-  marshal (ExpDMatrix x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ExpDMatrix x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__GenericExpression_CasADi__Matrix_double__" 
-  c_delete_CasADi__GenericExpression_CasADi__Matrix_double__ :: FunPtr (Ptr ExpDMatrix' -> IO ())
-instance WrapReturn (Ptr ExpDMatrix') ExpDMatrix where
-  wrapReturn = (fmap ExpDMatrix) . (newForeignPtr c_delete_CasADi__GenericExpression_CasADi__Matrix_double__)
-
-
--- raw decl
-data QCQPSolver'
--- data decl
-{-|
->[INTERNAL]   QCQPSolver.
->
->Solves the following strictly convex problem:
->
->min          1/2 x' H x + g' x   x  subject to             1/2 x' Pi x +
->qi' x + ri  <= 0   for i=0..nq-1                          LBA <= A x <= UBA
->LBX <= x   <= UBX                  with : H, Pi sparse (n x n) positive
->definite       g, qi dense  (n x 1) ri scalar                  n: number of
->decision variables (x)     nc: number of linear constraints (A)     nq:
->number of quadratic constraints
->
->If H, Pi is not positive-definite, the solver should throw an error.
->
->Joris Gillis
->
->>Input scheme: CasADi::QCQPSolverInput (QCQP_SOLVER_NUM_IN = 13) [qcqpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QCQP_SOLVER_H          | h                      | The square matrix H:   |
->|                        |                        | sparse, (n x n). Only  |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical. .   |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_G          | g                      | The vector g: dense,   |
->|                        |                        | (n x 1) .              |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_P          | p                      | The horizontal stack   |
->|                        |                        | of all Pi. Each Pi is  |
->|                        |                        | sparse (n x n). Only   |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical. .   |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_Q          | q                      | The vertical stack of  |
->|                        |                        | all qi: dense, (nq n x |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_R          | r                      | The vertical stack of  |
->|                        |                        | all scalars ri (nq x   |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_A          | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LBA        | lba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_UBA        | uba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LBX        | lbx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_UBX        | ubx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_X0         | x0                     | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LAM_X0     | lam_x0                 | dense                  |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::QCQPSolverOutput (QCQP_SOLVER_NUM_OUT = 5) [qcqpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QCQP_SOLVER_X          | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_COST       | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LAM_A      | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LAM_X      | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: qcqp_solver.hpp 
--}
-newtype QCQPSolver = QCQPSolver (ForeignPtr QCQPSolver')
--- typeclass decl
-class QCQPSolverClass a where
-  castQCQPSolver :: a -> QCQPSolver
-instance QCQPSolverClass QCQPSolver where
-  castQCQPSolver = id
-
--- baseclass instances
-instance SharedObjectClass QCQPSolver where
-  castSharedObject (QCQPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass QCQPSolver where
-  castPrintableObject (QCQPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass QCQPSolver where
-  castOptionsFunctionality (QCQPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass QCQPSolver where
-  castFunction (QCQPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass QCQPSolver where
-  castIOInterfaceFunction (QCQPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal QCQPSolver (Ptr QCQPSolver') where
-  marshal (QCQPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (QCQPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__QCQPSolver" 
-  c_delete_CasADi__QCQPSolver :: FunPtr (Ptr QCQPSolver' -> IO ())
-instance WrapReturn (Ptr QCQPSolver') QCQPSolver where
-  wrapReturn = (fmap QCQPSolver) . (newForeignPtr c_delete_CasADi__QCQPSolver)
-
-
--- raw decl
-data NLPSolver'
--- data decl
-{-|
->[INTERNAL]   NLPSolver.
->
->Solves the following parametric nonlinear program (NLP):min          F(x,p)
->x  subject to             LBX <=   x    <= UBX LBG <= G(x,p) <= UBG
->p  == P nx: number of decision variables     ng: number of constraints
->np: number of parameters
->
->Joel Andersson
->
->>Input scheme: CasADi::NLPSolverInput (NLP_SOLVER_NUM_IN = 9) [nlpSolverIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X0          | x0                     | Decision variables,    |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_P           | p                      | Value of fixed         |
->|                        |                        | parameters (np x 1) .  |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBX         | lbx                    | Decision variables     |
->|                        |                        | lower bound (nx x 1),  |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBX         | ubx                    | Decision variables     |
->|                        |                        | upper bound (nx x 1),  |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBG         | lbg                    | Constraints lower      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBG         | ubg                    | Constraints upper      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X0      | lam_x0                 | Lagrange multipliers   |
->|                        |                        | for bounds on X,       |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G0      | lam_g0                 | Lagrange multipliers   |
->|                        |                        | for bounds on G,       |
->|                        |                        | initial guess (ng x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::NLPSolverOutput (NLP_SOLVER_NUM_OUT = 7) [nlpSolverOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X           | x                      | Decision variables at  |
->|                        |                        | the optimal solution   |
->|                        |                        | (nx x 1) .             |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_F           | f                      | Cost function value at |
->|                        |                        | the optimal solution   |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_G           | g                      | Constraints function   |
->|                        |                        | at the optimal         |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X       | lam_x                  | Lagrange multipliers   |
->|                        |                        | for bounds on X at the |
->|                        |                        | solution (nx x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G       | lam_g                  | Lagrange multipliers   |
->|                        |                        | for bounds on G at the |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_P       | lam_p                  | Lagrange multipliers   |
->|                        |                        | for bounds on P at the |
->|                        |                        | solution (np x 1) .    |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand       | OT_BOOLEAN   | false        | Expand the   | CasADi::NLPS |
->|              |              |              | NLP function | olverInterna |
->|              |              |              | in terms of  | l            |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_f     | OT_BOOLEAN   | GenericType( | Expand the   | CasADi::NLPS |
->|              |              | )            | objective    | olverInterna |
->|              |              |              | function in  | l            |
->|              |              |              | terms of     |              |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX. |              |
->|              |              |              | Deprecated,  |              |
->|              |              |              | use "expand" |              |
->|              |              |              | instead.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_g     | OT_BOOLEAN   | GenericType( | Expand the   | CasADi::NLPS |
->|              |              | )            | constraint   | olverInterna |
->|              |              |              | function in  | l            |
->|              |              |              | terms of     |              |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX. |              |
->|              |              |              | Deprecated,  |              |
->|              |              |              | use "expand" |              |
->|              |              |              | instead.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gauss_newton | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->|              |              | )            | option. Use  | olverInterna |
->|              |              |              | Gauss Newton | l            |
->|              |              |              | Hessian appr |              |
->|              |              |              | oximation    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_gra | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| dient        |              | )            | option.      | olverInterna |
->|              |              |              | Generate a   | l            |
->|              |              |              | function for |              |
->|              |              |              | calculating  |              |
->|              |              |              | the gradient |              |
->|              |              |              | of the       |              |
->|              |              |              | objective.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_hes | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| sian         |              | )            | option.      | olverInterna |
->|              |              |              | Generate an  | l            |
->|              |              |              | exact        |              |
->|              |              |              | Hessian of   |              |
->|              |              |              | the          |              |
->|              |              |              | Lagrangian   |              |
->|              |              |              | if not       |              |
->|              |              |              | supplied.    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_jac | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| obian        |              | )            | option.      | olverInterna |
->|              |              |              | Generate an  | l            |
->|              |              |              | exact        |              |
->|              |              |              | Jacobian of  |              |
->|              |              |              | the          |              |
->|              |              |              | constraints  |              |
->|              |              |              | if not       |              |
->|              |              |              | supplied.    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ignore_check | OT_BOOLEAN   | false        | If set to    | CasADi::NLPS |
->| _vec         |              |              | true, the    | olverInterna |
->|              |              |              | input shape  | l            |
->|              |              |              | of F will    |              |
->|              |              |              | not be       |              |
->|              |              |              | checked.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_CALLBACK  | GenericType( | A function   | CasADi::NLPS |
->| llback       |              | )            | that will be | olverInterna |
->|              |              |              | called at    | l            |
->|              |              |              | each         |              |
->|              |              |              | iteration    |              |
->|              |              |              | with the     |              |
->|              |              |              | solver as    |              |
->|              |              |              | input. Check |              |
->|              |              |              | documentatio |              |
->|              |              |              | n of         |              |
->|              |              |              | Callback .   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_BOOLEAN   | false        | If set to    | CasADi::NLPS |
->| llback_ignor |              |              | true, errors | olverInterna |
->| e_errors     |              |              | thrown by it | l            |
->|              |              |              | eration_call |              |
->|              |              |              | back will be |              |
->|              |              |              | ignored.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_INTEGER   | 1            | Only call    | CasADi::NLPS |
->| llback_step  |              |              | the callback | olverInterna |
->|              |              |              | function     | l            |
->|              |              |              | every few    |              |
->|              |              |              | iterations.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| parametric   | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->|              |              | )            | option.      | olverInterna |
->|              |              |              | Expect F, G, | l            |
->|              |              |              | H, J to have |              |
->|              |              |              | an           |              |
->|              |              |              | additional   |              |
->|              |              |              | input        |              |
->|              |              |              | argument     |              |
->|              |              |              | appended at  |              |
->|              |              |              | the end,     |              |
->|              |              |              | denoting     |              |
->|              |              |              | fixed        |              |
->|              |              |              | parameters.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warn_initial | OT_BOOLEAN   | false        | Warn if the  | CasADi::NLPS |
->| _bounds      |              |              | initial      | olverInterna |
->|              |              |              | guess does   | l            |
->|              |              |              | not satisfy  |              |
->|              |              |              | LBX and UBX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: nlp_solver.hpp 
--}
-newtype NLPSolver = NLPSolver (ForeignPtr NLPSolver')
--- typeclass decl
-class NLPSolverClass a where
-  castNLPSolver :: a -> NLPSolver
-instance NLPSolverClass NLPSolver where
-  castNLPSolver = id
-
--- baseclass instances
-instance SharedObjectClass NLPSolver where
-  castSharedObject (NLPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass NLPSolver where
-  castPrintableObject (NLPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass NLPSolver where
-  castOptionsFunctionality (NLPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass NLPSolver where
-  castFunction (NLPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass NLPSolver where
-  castIOInterfaceFunction (NLPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal NLPSolver (Ptr NLPSolver') where
-  marshal (NLPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (NLPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__NLPSolver" 
-  c_delete_CasADi__NLPSolver :: FunPtr (Ptr NLPSolver' -> IO ())
-instance WrapReturn (Ptr NLPSolver') NLPSolver where
-  wrapReturn = (fmap NLPSolver) . (newForeignPtr c_delete_CasADi__NLPSolver)
-
-
--- raw decl
-data GenericType'
--- data decl
-{-|
->[INTERNAL]  Generic data type.
->
->Joel Andersson
->
->C++ includes: generic_type.hpp 
--}
-newtype GenericType = GenericType (ForeignPtr GenericType')
--- typeclass decl
-class GenericTypeClass a where
-  castGenericType :: a -> GenericType
-instance GenericTypeClass GenericType where
-  castGenericType = id
-
--- baseclass instances
-instance SharedObjectClass GenericType where
-  castSharedObject (GenericType x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass GenericType where
-  castPrintableObject (GenericType x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal GenericType (Ptr GenericType') where
-  marshal (GenericType x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (GenericType x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__GenericType" 
-  c_delete_CasADi__GenericType :: FunPtr (Ptr GenericType' -> IO ())
-instance WrapReturn (Ptr GenericType') GenericType where
-  wrapReturn = (fmap GenericType) . (newForeignPtr c_delete_CasADi__GenericType)
-
-
--- raw decl
-data NLPQPSolver'
--- data decl
-{-|
->[INTERNAL]  IPOPT QP Solver for
->quadratic programming.
->
->Solves the following strictly convex problem:
->
->min          1/2 x' H x + g' x   x  subject to             LBA <= A x <= UBA
->LBX <= x   <= UBX                  with :       H sparse (n x n) positive
->definite       g dense  (n x 1) n: number of decision variables (x)     nc:
->number of constraints (A)
->
->If H is not positive-definite, the solver should throw an error.
->
->Joris Gillis
->
->>Input scheme: CasADi::QPSolverInput (QP_SOLVER_NUM_IN = 10) [qpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QP_SOLVER_H            | h                      | The square matrix H:   |
->|                        |                        | sparse, (n x n). Only  |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical. .   |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_G            | g                      | The vector g: dense,   |
->|                        |                        | (n x 1) .              |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_A            | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LBA          | lba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_UBA          | uba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LBX          | lbx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_UBX          | ubx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_X0           | x0                     | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_X0       | lam_x0                 | dense                  |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::QPSolverOutput (QP_SOLVER_NUM_OUT = 5) [qpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QP_SOLVER_X            | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_COST         | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_A        | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_X        | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver   | OT_NLPSOLVER | GenericType( | The          | CasADi::NLPQ |
->|              |              | )            | NLPSOlver    | PInternal    |
->|              |              |              | used to      |              |
->|              |              |              | solve the    |              |
->|              |              |              | QPs.         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::NLPQ |
->| ptions       | Y            | )            | be passed to | PInternal    |
->|              |              |              | the          |              |
->|              |              |              | NLPSOlver    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available stats
->+------------------+-----------------------+
->|        Id        |        Used in        |
->+==================+=======================+
->| nlp_solver_stats | CasADi::NLPQPInternal |
->+------------------+-----------------------+
->
->Diagrams
->
->C++ includes: nlp_qp_solver.hpp 
--}
-newtype NLPQPSolver = NLPQPSolver (ForeignPtr NLPQPSolver')
--- typeclass decl
-class NLPQPSolverClass a where
-  castNLPQPSolver :: a -> NLPQPSolver
-instance NLPQPSolverClass NLPQPSolver where
-  castNLPQPSolver = id
-
--- baseclass instances
-instance SharedObjectClass NLPQPSolver where
-  castSharedObject (NLPQPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass NLPQPSolver where
-  castPrintableObject (NLPQPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass NLPQPSolver where
-  castOptionsFunctionality (NLPQPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass NLPQPSolver where
-  castFunction (NLPQPSolver x) = Function (castForeignPtr x)
-
-instance QPSolverClass NLPQPSolver where
-  castQPSolver (NLPQPSolver x) = QPSolver (castForeignPtr x)
-
-instance IOInterfaceFunctionClass NLPQPSolver where
-  castIOInterfaceFunction (NLPQPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal NLPQPSolver (Ptr NLPQPSolver') where
-  marshal (NLPQPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (NLPQPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__NLPQPSolver" 
-  c_delete_CasADi__NLPQPSolver :: FunPtr (Ptr NLPQPSolver' -> IO ())
-instance WrapReturn (Ptr NLPQPSolver') NLPQPSolver where
-  wrapReturn = (fmap NLPQPSolver) . (newForeignPtr c_delete_CasADi__NLPQPSolver)
-
-
--- raw decl
-data Variable'
--- data decl
-{-|
->[INTERNAL]  Holds expressions and
->meta-data corresponding to a physical quantity evolving in time.
->
->Joel Andersson
->
->C++ includes: variable.hpp 
--}
-newtype Variable = Variable (ForeignPtr Variable')
--- typeclass decl
-class VariableClass a where
-  castVariable :: a -> Variable
-instance VariableClass Variable where
-  castVariable = id
-
--- baseclass instances
-instance PrintableObjectClass Variable where
-  castPrintableObject (Variable x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Variable (Ptr Variable') where
-  marshal (Variable x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Variable x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Variable" 
-  c_delete_CasADi__Variable :: FunPtr (Ptr Variable' -> IO ())
-instance WrapReturn (Ptr Variable') Variable where
-  wrapReturn = (fmap Variable) . (newForeignPtr c_delete_CasADi__Variable)
-
-
--- raw decl
-data LPStructure'
--- data decl
-{-|
->[INTERNAL]  Helper
->function for 'LPStruct'
->
->C++ includes: casadi_types.hpp 
--}
-newtype LPStructure = LPStructure (ForeignPtr LPStructure')
--- typeclass decl
-class LPStructureClass a where
-  castLPStructure :: a -> LPStructure
-instance LPStructureClass LPStructure where
-  castLPStructure = id
-
--- baseclass instances
-instance PrintableObjectClass LPStructure where
-  castPrintableObject (LPStructure x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal LPStructure (Ptr LPStructure') where
-  marshal (LPStructure x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (LPStructure x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__LPStructIOSchemeVector_CasADi__Sparsity_" 
-  c_delete_CasADi__LPStructIOSchemeVector_CasADi__Sparsity_ :: FunPtr (Ptr LPStructure' -> IO ())
-instance WrapReturn (Ptr LPStructure') LPStructure where
-  wrapReturn = (fmap LPStructure) . (newForeignPtr c_delete_CasADi__LPStructIOSchemeVector_CasADi__Sparsity_)
-
-
--- raw decl
-data ImplicitFixedStepIntegrator'
--- data decl
-{-|
->[INTERNAL]  Base
->class for implicit fixed step integrators.
->
->Joel Andersson
->
->>Input scheme: CasADi::IntegratorInput (INTEGRATOR_NUM_IN = 7) [integratorIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::IntegratorOutput (INTEGRATOR_NUM_OUT = 7) [integratorOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_XF          | xf                     | Differential state at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_QF          | qf                     | Quadrature state at    |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_ZF          | zf                     | Algebraic variable at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RXF         | rxf                    | Backward differential  |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RQF         | rqf                    | Backward quadrature    |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZF         | rzf                    | Backward algebraic     |
->|                        |                        | variable at the        |
->|                        |                        | initial time .         |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| augmented_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::Inte |
->| tions        | Y            | )            | be passed    | gratorIntern |
->|              |              |              | down to the  | al           |
->|              |              |              | augmented    |              |
->|              |              |              | integrator,  |              |
->|              |              |              | if one is    |              |
->|              |              |              | constructed. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_augme | OT_BOOLEAN   | true         | If DAE       | CasADi::Inte |
->| nted         |              |              | callback     | gratorIntern |
->|              |              |              | functions    | al           |
->|              |              |              | are          |              |
->|              |              |              | SXFunction , |              |
->|              |              |              | have         |              |
->|              |              |              | augmented    |              |
->|              |              |              | DAE callback |              |
->|              |              |              | function     |              |
->|              |              |              | also be      |              |
->|              |              |              | SXFunction . |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_sol | OT_IMPLICITF | GenericType( | An implicit  | CasADi::Impl |
->| ver          | UNCTION      | )            | function     | icitFixedSte |
->|              |              |              | solver       | pIntegratorI |
->|              |              |              |              | nternal      |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_sol | OT_DICTIONAR | GenericType( | Options to   | CasADi::Impl |
->| ver_options  | Y            | )            | be passed to | icitFixedSte |
->|              |              |              | the NLP      | pIntegratorI |
->|              |              |              | Solver       | nternal      |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_fi | OT_INTEGER   | 20           | Number of    | CasADi::Fixe |
->| nite_element |              |              | finite       | dStepIntegra |
->| s            |              |              | elements     | torInternal  |
->+--------------+--------------+--------------+--------------+--------------+
->| print_stats  | OT_BOOLEAN   | false        | Print out    | CasADi::Inte |
->|              |              |              | statistics   | gratorIntern |
->|              |              |              | after        | al           |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| t0           | OT_REAL      | 0            | Beginning of | CasADi::Inte |
->|              |              |              | the time     | gratorIntern |
->|              |              |              | horizon      | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| tf           | OT_REAL      | 1            | End of the   | CasADi::Inte |
->|              |              |              | time horizon | gratorIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: implicit_fixed_step_integrator.hpp 
--}
-newtype ImplicitFixedStepIntegrator = ImplicitFixedStepIntegrator (ForeignPtr ImplicitFixedStepIntegrator')
--- typeclass decl
-class ImplicitFixedStepIntegratorClass a where
-  castImplicitFixedStepIntegrator :: a -> ImplicitFixedStepIntegrator
-instance ImplicitFixedStepIntegratorClass ImplicitFixedStepIntegrator where
-  castImplicitFixedStepIntegrator = id
-
--- baseclass instances
-instance SharedObjectClass ImplicitFixedStepIntegrator where
-  castSharedObject (ImplicitFixedStepIntegrator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass ImplicitFixedStepIntegrator where
-  castPrintableObject (ImplicitFixedStepIntegrator x) = PrintableObject (castForeignPtr x)
-
-instance FixedStepIntegratorClass ImplicitFixedStepIntegrator where
-  castFixedStepIntegrator (ImplicitFixedStepIntegrator x) = FixedStepIntegrator (castForeignPtr x)
-
-instance OptionsFunctionalityClass ImplicitFixedStepIntegrator where
-  castOptionsFunctionality (ImplicitFixedStepIntegrator x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass ImplicitFixedStepIntegrator where
-  castFunction (ImplicitFixedStepIntegrator x) = Function (castForeignPtr x)
-
-instance IntegratorClass ImplicitFixedStepIntegrator where
-  castIntegrator (ImplicitFixedStepIntegrator x) = Integrator (castForeignPtr x)
-
-instance IOInterfaceFunctionClass ImplicitFixedStepIntegrator where
-  castIOInterfaceFunction (ImplicitFixedStepIntegrator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal ImplicitFixedStepIntegrator (Ptr ImplicitFixedStepIntegrator') where
-  marshal (ImplicitFixedStepIntegrator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ImplicitFixedStepIntegrator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__ImplicitFixedStepIntegrator" 
-  c_delete_CasADi__ImplicitFixedStepIntegrator :: FunPtr (Ptr ImplicitFixedStepIntegrator' -> IO ())
-instance WrapReturn (Ptr ImplicitFixedStepIntegrator') ImplicitFixedStepIntegrator where
-  wrapReturn = (fmap ImplicitFixedStepIntegrator) . (newForeignPtr c_delete_CasADi__ImplicitFixedStepIntegrator)
-
-
--- raw decl
-data CSparseCholesky'
--- data decl
-{-|
->[INTERNAL]   LinearSolver
->with CSparseCholesky Interface.
->
->Solves the linear system A*X = B or A^T*X = B for X with A square and non-
->singular
->
->If A is structurally singular, an error will be thrown during init. If A is
->numerically singular, the prepare step will fail.
->
->CSparseCholesky is an CasADi::Function mapping from 2 inputs [ A (matrix),b
->(vector)] to one output [x (vector)].
->
->A = LL' Ax = b LL'x = b L'x = L^-1 b
->
->The usual procedure to use CSparseCholesky is:  init()
->
->set the first input (A)
->
->prepare()
->
->set the second input (b)
->
->solve()
->
->Repeat steps 4 and 5 to work with other b vectors.
->
->The method evaluate() combines the prepare() and solve() step and is
->therefore more expensive if A is invariant.
->
->>Input scheme: CasADi::LinsolInput (LINSOL_NUM_IN = 3) [linsolIn]
->+-----------+-------+------------------------------------------------+
->| Full name | Short |                  Description                   |
->+===========+=======+================================================+
->| LINSOL_A  | A     | The square matrix A: sparse, (n x n). .        |
->+-----------+-------+------------------------------------------------+
->| LINSOL_B  | B     | The right-hand-side matrix b: dense, (n x m) . |
->+-----------+-------+------------------------------------------------+
->
->>Output scheme: CasADi::LinsolOutput (LINSOL_NUM_OUT = 2) [linsolOut]
->+-----------+-------+----------------------------------------------+
->| Full name | Short |                 Description                  |
->+===========+=======+==============================================+
->| LINSOL_X  | X     | Solution to the linear system of equations . |
->+-----------+-------+----------------------------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: csparse_cholesky.hpp 
--}
-newtype CSparseCholesky = CSparseCholesky (ForeignPtr CSparseCholesky')
--- typeclass decl
-class CSparseCholeskyClass a where
-  castCSparseCholesky :: a -> CSparseCholesky
-instance CSparseCholeskyClass CSparseCholesky where
-  castCSparseCholesky = id
-
--- baseclass instances
-instance SharedObjectClass CSparseCholesky where
-  castSharedObject (CSparseCholesky x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass CSparseCholesky where
-  castPrintableObject (CSparseCholesky x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass CSparseCholesky where
-  castOptionsFunctionality (CSparseCholesky x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass CSparseCholesky where
-  castFunction (CSparseCholesky x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass CSparseCholesky where
-  castIOInterfaceFunction (CSparseCholesky x) = IOInterfaceFunction (castForeignPtr x)
-
-instance LinearSolverClass CSparseCholesky where
-  castLinearSolver (CSparseCholesky x) = LinearSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal CSparseCholesky (Ptr CSparseCholesky') where
-  marshal (CSparseCholesky x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CSparseCholesky x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__CSparseCholesky" 
-  c_delete_CasADi__CSparseCholesky :: FunPtr (Ptr CSparseCholesky' -> IO ())
-instance WrapReturn (Ptr CSparseCholesky') CSparseCholesky where
-  wrapReturn = (fmap CSparseCholesky) . (newForeignPtr c_delete_CasADi__CSparseCholesky)
-
-
--- raw decl
-data SDPSOCPSolver'
--- data decl
-{-|
->[INTERNAL]  SOCP Solver for
->quadratic programming.
->
->Solves an Second Order Cone Programming (SOCP) problem in standard form.
->
->Primal:
->
->min          c' x   x  subject to               || Gi' x + hi ||_2 <= ei' x
->+ fi  i = 1..m              LBA <= A x <= UBA             LBX <= x   <= UBX
->with x ( n x 1)          c ( n x 1 ) Gi  sparse (n x ni)          hi  dense
->(ni x 1)          ei  dense (n x 1)          fi  dense (1 x 1)          N =
->Sum_i^m ni          A sparse (nc x n)          LBA, UBA dense vector (nc x
->1)          LBX, UBX dense vector (n x 1)
->
->Joris Gillis
->
->>Input scheme: CasADi::SOCPInput (SOCP_SOLVER_NUM_IN = 11) [socpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SOCP_SOLVER_G          | g                      | The horizontal stack   |
->|                        |                        | of all matrices Gi: (  |
->|                        |                        | n x N) .               |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_H          | h                      | The vertical stack of  |
->|                        |                        | all vectors hi: ( N x  |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_E          | e                      | The vertical stack of  |
->|                        |                        | all vectors ei: ( nm x |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_F          | f                      | The vertical stack of  |
->|                        |                        | all scalars fi: ( m x  |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_C          | c                      | The vector c: ( n x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_A          | a                      | The matrix A: ( nc x   |
->|                        |                        | n) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LBA        | lba                    | Lower bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_UBA        | uba                    | Upper bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LBX        | lbx                    | Lower bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_UBX        | ubx                    | Upper bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::SOCPOutput (SOCP_SOLVER_NUM_OUT = 5) [socpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SOCP_SOLVER_X          | x                      | The primal solution (n |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_COST       | cost                   | The primal optimal     |
->|                        |                        | cost (1 x 1) .         |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LAM_A      | lam_a                  | The dual solution      |
->|                        |                        | corresponding to the   |
->|                        |                        | linear constraints (nc |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LAM_X      | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds (n x 1)  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| ni           | OT_INTEGERVE | GenericType( | Provide the  | CasADi::SOCP |
->|              | CTOR         | )            | size of each | SolverIntern |
->|              |              |              | SOC          | al           |
->|              |              |              | constraint.  |              |
->|              |              |              | Must sum up  |              |
->|              |              |              | to N.        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_proble | OT_BOOLEAN   | false        | Print out    | CasADi::SOCP |
->| m            |              |              | problem      | SolverIntern |
->|              |              |              | statement    | al           |
->|              |              |              | for          |              |
->|              |              |              | debugging.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sdp_solver   | OT_SDPSOLVER | GenericType( | The          | CasADi::SDPS |
->|              |              | )            | SDPSolver    | OCPInternal  |
->|              |              |              | used to      |              |
->|              |              |              | solve the    |              |
->|              |              |              | SOCPs.       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sdp_solver_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::SDPS |
->| ptions       | Y            | )            | be passed to | OCPInternal  |
->|              |              |              | the          |              |
->|              |              |              | SDPSOlver    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available stats
->+------------------+-------------------------+
->|        Id        |         Used in         |
->+==================+=========================+
->| sdp_solver_stats | CasADi::SDPSOCPInternal |
->+------------------+-------------------------+
->
->Diagrams
->
->C++ includes: sdp_socp_solver.hpp 
--}
-newtype SDPSOCPSolver = SDPSOCPSolver (ForeignPtr SDPSOCPSolver')
--- typeclass decl
-class SDPSOCPSolverClass a where
-  castSDPSOCPSolver :: a -> SDPSOCPSolver
-instance SDPSOCPSolverClass SDPSOCPSolver where
-  castSDPSOCPSolver = id
-
--- baseclass instances
-instance SharedObjectClass SDPSOCPSolver where
-  castSharedObject (SDPSOCPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SDPSOCPSolver where
-  castPrintableObject (SDPSOCPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SDPSOCPSolver where
-  castOptionsFunctionality (SDPSOCPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SDPSOCPSolver where
-  castFunction (SDPSOCPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SDPSOCPSolver where
-  castIOInterfaceFunction (SDPSOCPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-instance SOCPSolverClass SDPSOCPSolver where
-  castSOCPSolver (SDPSOCPSolver x) = SOCPSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SDPSOCPSolver (Ptr SDPSOCPSolver') where
-  marshal (SDPSOCPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SDPSOCPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SDPSOCPSolver" 
-  c_delete_CasADi__SDPSOCPSolver :: FunPtr (Ptr SDPSOCPSolver' -> IO ())
-instance WrapReturn (Ptr SDPSOCPSolver') SDPSOCPSolver where
-  wrapReturn = (fmap SDPSOCPSolver) . (newForeignPtr c_delete_CasADi__SDPSOCPSolver)
-
-
--- raw decl
-data OptionsFunctionality'
--- data decl
-{-|
->[INTERNAL]  Provides
->options setting/getting functionality.
->
->Gives a derived class the ability to set and retrieve options in a
->convenient way. It also contains error checking, making sure that the option
->exists and that the value type is correct.
->
->A derived class should add option names, types and default values to the
->corresponding vectors.
->
->Joel Andersson
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: options_functionality.hpp 
--}
-newtype OptionsFunctionality = OptionsFunctionality (ForeignPtr OptionsFunctionality')
--- typeclass decl
-class OptionsFunctionalityClass a where
-  castOptionsFunctionality :: a -> OptionsFunctionality
-instance OptionsFunctionalityClass OptionsFunctionality where
-  castOptionsFunctionality = id
-
--- baseclass instances
-instance SharedObjectClass OptionsFunctionality where
-  castSharedObject (OptionsFunctionality x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass OptionsFunctionality where
-  castPrintableObject (OptionsFunctionality x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal OptionsFunctionality (Ptr OptionsFunctionality') where
-  marshal (OptionsFunctionality x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (OptionsFunctionality x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__OptionsFunctionality" 
-  c_delete_CasADi__OptionsFunctionality :: FunPtr (Ptr OptionsFunctionality' -> IO ())
-instance WrapReturn (Ptr OptionsFunctionality') OptionsFunctionality where
-  wrapReturn = (fmap OptionsFunctionality) . (newForeignPtr c_delete_CasADi__OptionsFunctionality)
-
-
--- raw decl
-data OldCollocationIntegrator'
--- data decl
-{-|
->[INTERNAL]
->Collocation integrator ODE/DAE integrator based on collocation.
->
->The method is still under development
->
->Base class for integrators. Solves an initial value problem (IVP) coupled to
->a terminal value problem with differential equation given as an implicit ODE
->coupled to an algebraic equation and a set of quadratures: Initial
->conditions at t=t0  x(t0)  = x0  q(t0)  = 0   Forward integration from t=t0
->to t=tf  der(x) = function(x,z,p,t) Forward ODE  0 = fz(x,z,p,t)
->Forward algebraic equations  der(q) = fq(x,z,p,t)                  Forward
->quadratures Terminal conditions at t=tf  rx(tf)  = rx0  rq(tf)  = 0
->Backward integration from t=tf to t=t0  der(rx) = gx(rx,rz,rp,x,z,p,t)
->Backward ODE  0 = gz(rx,rz,rp,x,z,p,t)        Backward algebraic equations
->der(rq) = gq(rx,rz,rp,x,z,p,t)        Backward quadratures where we assume
->that both the forward and backwards integrations are index-1  (i.e. dfz/dz,
->dgz/drz are invertible) and furthermore that gx, gz and gq have a linear
->dependency on rx, rz and rp.
->
->Joel Andersson
->
->>Input scheme: CasADi::IntegratorInput (INTEGRATOR_NUM_IN = 7) [integratorIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::IntegratorOutput (INTEGRATOR_NUM_OUT = 7) [integratorOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_XF          | xf                     | Differential state at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_QF          | qf                     | Quadrature state at    |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_ZF          | zf                     | Algebraic variable at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RXF         | rxf                    | Backward differential  |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RQF         | rqf                    | Backward quadrature    |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZF         | rzf                    | Backward algebraic     |
->|                        |                        | variable at the        |
->|                        |                        | initial time .         |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| augmented_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::Inte |
->| tions        | Y            | )            | be passed    | gratorIntern |
->|              |              |              | down to the  | al           |
->|              |              |              | augmented    |              |
->|              |              |              | integrator,  |              |
->|              |              |              | if one is    |              |
->|              |              |              | constructed. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| collocation_ | OT_STRING    | "radau"      | Collocation  | CasADi::OldC |
->| scheme       |              |              | scheme (rada | ollocationIn |
->|              |              |              | u|legendre)  | tegratorInte |
->|              |              |              |              | rnal         |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_augme | OT_BOOLEAN   | true         | If DAE       | CasADi::Inte |
->| nted         |              |              | callback     | gratorIntern |
->|              |              |              | functions    | al           |
->|              |              |              | are          |              |
->|              |              |              | SXFunction , |              |
->|              |              |              | have         |              |
->|              |              |              | augmented    |              |
->|              |              |              | DAE callback |              |
->|              |              |              | function     |              |
->|              |              |              | also be      |              |
->|              |              |              | SXFunction . |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_f     | OT_BOOLEAN   | false        | Expand the   | CasADi::OldC |
->|              |              |              | ODE/DAE      | ollocationIn |
->|              |              |              | residual     | tegratorInte |
->|              |              |              | function in  | rnal         |
->|              |              |              | an SX graph  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_q     | OT_BOOLEAN   | false        | Expand the   | CasADi::OldC |
->|              |              |              | quadrature   | ollocationIn |
->|              |              |              | function in  | tegratorInte |
->|              |              |              | an SX graph  | rnal         |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| hotstart     | OT_BOOLEAN   | true         | Initialize   | CasADi::OldC |
->|              |              |              | the          | ollocationIn |
->|              |              |              | trajectory   | tegratorInte |
->|              |              |              | at the       | rnal         |
->|              |              |              | previous     |              |
->|              |              |              | solution     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_sol | OT_IMPLICITF | GenericType( | An implicit  | CasADi::OldC |
->| ver          | UNCTION      | )            | function     | ollocationIn |
->|              |              |              | solver       | tegratorInte |
->|              |              |              |              | rnal         |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_sol | OT_DICTIONAR | GenericType( | Options to   | CasADi::OldC |
->| ver_options  | Y            | )            | be passed to | ollocationIn |
->|              |              |              | the implicit | tegratorInte |
->|              |              |              | solver       | rnal         |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| interpolatio | OT_INTEGER   | 3            | Order of the | CasADi::OldC |
->| n_order      |              |              | interpolatin | ollocationIn |
->|              |              |              | g            | tegratorInte |
->|              |              |              | polynomials  | rnal         |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_fi | OT_INTEGER   | 20           | Number of    | CasADi::OldC |
->| nite_element |              |              | finite       | ollocationIn |
->| s            |              |              | elements     | tegratorInte |
->|              |              |              |              | rnal         |
->+--------------+--------------+--------------+--------------+--------------+
->| print_stats  | OT_BOOLEAN   | false        | Print out    | CasADi::Inte |
->|              |              |              | statistics   | gratorIntern |
->|              |              |              | after        | al           |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| quadrature_s | OT_LINEARSOL | GenericType( | An linear    | CasADi::OldC |
->| olver        | VER          | )            | solver to    | ollocationIn |
->|              |              |              | solver the   | tegratorInte |
->|              |              |              | quadrature   | rnal         |
->|              |              |              | equations    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| quadrature_s | OT_DICTIONAR | GenericType( | Options to   | CasADi::OldC |
->| olver_option | Y            | )            | be passed to | ollocationIn |
->| s            |              |              | the          | tegratorInte |
->|              |              |              | quadrature   | rnal         |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| startup_inte | OT_INTEGRATO | GenericType( | An ODE/DAE   | CasADi::OldC |
->| grator       | R            | )            | integrator   | ollocationIn |
->|              |              |              | that can be  | tegratorInte |
->|              |              |              | used to      | rnal         |
->|              |              |              | generate a   |              |
->|              |              |              | startup      |              |
->|              |              |              | trajectory   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| startup_inte | OT_DICTIONAR | GenericType( | Options to   | CasADi::OldC |
->| grator_optio | Y            | )            | be passed to | ollocationIn |
->| ns           |              |              | the startup  | tegratorInte |
->|              |              |              | integrator   | rnal         |
->+--------------+--------------+--------------+--------------+--------------+
->| t0           | OT_REAL      | 0            | Beginning of | CasADi::Inte |
->|              |              |              | the time     | gratorIntern |
->|              |              |              | horizon      | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| tf           | OT_REAL      | 1            | End of the   | CasADi::Inte |
->|              |              |              | time horizon | gratorIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: old_collocation_integrator.hpp 
--}
-newtype OldCollocationIntegrator = OldCollocationIntegrator (ForeignPtr OldCollocationIntegrator')
--- typeclass decl
-class OldCollocationIntegratorClass a where
-  castOldCollocationIntegrator :: a -> OldCollocationIntegrator
-instance OldCollocationIntegratorClass OldCollocationIntegrator where
-  castOldCollocationIntegrator = id
-
--- baseclass instances
-instance SharedObjectClass OldCollocationIntegrator where
-  castSharedObject (OldCollocationIntegrator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass OldCollocationIntegrator where
-  castPrintableObject (OldCollocationIntegrator x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass OldCollocationIntegrator where
-  castOptionsFunctionality (OldCollocationIntegrator x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass OldCollocationIntegrator where
-  castFunction (OldCollocationIntegrator x) = Function (castForeignPtr x)
-
-instance IntegratorClass OldCollocationIntegrator where
-  castIntegrator (OldCollocationIntegrator x) = Integrator (castForeignPtr x)
-
-instance IOInterfaceFunctionClass OldCollocationIntegrator where
-  castIOInterfaceFunction (OldCollocationIntegrator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal OldCollocationIntegrator (Ptr OldCollocationIntegrator') where
-  marshal (OldCollocationIntegrator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (OldCollocationIntegrator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__OldCollocationIntegrator" 
-  c_delete_CasADi__OldCollocationIntegrator :: FunPtr (Ptr OldCollocationIntegrator' -> IO ())
-instance WrapReturn (Ptr OldCollocationIntegrator') OldCollocationIntegrator where
-  wrapReturn = (fmap OldCollocationIntegrator) . (newForeignPtr c_delete_CasADi__OldCollocationIntegrator)
-
-
--- raw decl
-data FixedStepIntegrator'
--- data decl
-{-|
->[INTERNAL]  Base class
->for fixed step integrators.
->
->Joel Andersson
->
->>Input scheme: CasADi::IntegratorInput (INTEGRATOR_NUM_IN = 7) [integratorIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::IntegratorOutput (INTEGRATOR_NUM_OUT = 7) [integratorOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_XF          | xf                     | Differential state at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_QF          | qf                     | Quadrature state at    |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_ZF          | zf                     | Algebraic variable at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RXF         | rxf                    | Backward differential  |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RQF         | rqf                    | Backward quadrature    |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZF         | rzf                    | Backward algebraic     |
->|                        |                        | variable at the        |
->|                        |                        | initial time .         |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| augmented_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::Inte |
->| tions        | Y            | )            | be passed    | gratorIntern |
->|              |              |              | down to the  | al           |
->|              |              |              | augmented    |              |
->|              |              |              | integrator,  |              |
->|              |              |              | if one is    |              |
->|              |              |              | constructed. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_augme | OT_BOOLEAN   | true         | If DAE       | CasADi::Inte |
->| nted         |              |              | callback     | gratorIntern |
->|              |              |              | functions    | al           |
->|              |              |              | are          |              |
->|              |              |              | SXFunction , |              |
->|              |              |              | have         |              |
->|              |              |              | augmented    |              |
->|              |              |              | DAE callback |              |
->|              |              |              | function     |              |
->|              |              |              | also be      |              |
->|              |              |              | SXFunction . |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_fi | OT_INTEGER   | 20           | Number of    | CasADi::Fixe |
->| nite_element |              |              | finite       | dStepIntegra |
->| s            |              |              | elements     | torInternal  |
->+--------------+--------------+--------------+--------------+--------------+
->| print_stats  | OT_BOOLEAN   | false        | Print out    | CasADi::Inte |
->|              |              |              | statistics   | gratorIntern |
->|              |              |              | after        | al           |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| t0           | OT_REAL      | 0            | Beginning of | CasADi::Inte |
->|              |              |              | the time     | gratorIntern |
->|              |              |              | horizon      | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| tf           | OT_REAL      | 1            | End of the   | CasADi::Inte |
->|              |              |              | time horizon | gratorIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: fixed_step_integrator.hpp 
--}
-newtype FixedStepIntegrator = FixedStepIntegrator (ForeignPtr FixedStepIntegrator')
--- typeclass decl
-class FixedStepIntegratorClass a where
-  castFixedStepIntegrator :: a -> FixedStepIntegrator
-instance FixedStepIntegratorClass FixedStepIntegrator where
-  castFixedStepIntegrator = id
-
--- baseclass instances
-instance SharedObjectClass FixedStepIntegrator where
-  castSharedObject (FixedStepIntegrator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass FixedStepIntegrator where
-  castPrintableObject (FixedStepIntegrator x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass FixedStepIntegrator where
-  castOptionsFunctionality (FixedStepIntegrator x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass FixedStepIntegrator where
-  castFunction (FixedStepIntegrator x) = Function (castForeignPtr x)
-
-instance IntegratorClass FixedStepIntegrator where
-  castIntegrator (FixedStepIntegrator x) = Integrator (castForeignPtr x)
-
-instance IOInterfaceFunctionClass FixedStepIntegrator where
-  castIOInterfaceFunction (FixedStepIntegrator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal FixedStepIntegrator (Ptr FixedStepIntegrator') where
-  marshal (FixedStepIntegrator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (FixedStepIntegrator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__FixedStepIntegrator" 
-  c_delete_CasADi__FixedStepIntegrator :: FunPtr (Ptr FixedStepIntegrator' -> IO ())
-instance WrapReturn (Ptr FixedStepIntegrator') FixedStepIntegrator where
-  wrapReturn = (fmap FixedStepIntegrator) . (newForeignPtr c_delete_CasADi__FixedStepIntegrator)
-
-
--- raw decl
-data CollocationIntegrator'
--- data decl
-{-|
->[INTERNAL]  Fixed-step
->implicit Runge-Kutta integrator ODE/DAE integrator based on collocation
->schemes.
->
->The method is still under development
->
->Base class for integrators. Solves an initial value problem (IVP) coupled to
->a terminal value problem with differential equation given as an implicit ODE
->coupled to an algebraic equation and a set of quadratures: Initial
->conditions at t=t0  x(t0)  = x0  q(t0)  = 0   Forward integration from t=t0
->to t=tf  der(x) = function(x,z,p,t) Forward ODE  0 = fz(x,z,p,t)
->Forward algebraic equations  der(q) = fq(x,z,p,t)                  Forward
->quadratures Terminal conditions at t=tf  rx(tf)  = rx0  rq(tf)  = 0
->Backward integration from t=tf to t=t0  der(rx) = gx(rx,rz,rp,x,z,p,t)
->Backward ODE  0 = gz(rx,rz,rp,x,z,p,t)        Backward algebraic equations
->der(rq) = gq(rx,rz,rp,x,z,p,t)        Backward quadratures where we assume
->that both the forward and backwards integrations are index-1  (i.e. dfz/dz,
->dgz/drz are invertible) and furthermore that gx, gz and gq have a linear
->dependency on rx, rz and rp.
->
->Joel Andersson
->
->>Input scheme: CasADi::IntegratorInput (INTEGRATOR_NUM_IN = 7) [integratorIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::IntegratorOutput (INTEGRATOR_NUM_OUT = 7) [integratorOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_XF          | xf                     | Differential state at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_QF          | qf                     | Quadrature state at    |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_ZF          | zf                     | Algebraic variable at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RXF         | rxf                    | Backward differential  |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RQF         | rqf                    | Backward quadrature    |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZF         | rzf                    | Backward algebraic     |
->|                        |                        | variable at the        |
->|                        |                        | initial time .         |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| augmented_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::Inte |
->| tions        | Y            | )            | be passed    | gratorIntern |
->|              |              |              | down to the  | al           |
->|              |              |              | augmented    |              |
->|              |              |              | integrator,  |              |
->|              |              |              | if one is    |              |
->|              |              |              | constructed. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| collocation_ | OT_STRING    | "radau"      | Collocation  | CasADi::Coll |
->| scheme       |              |              | scheme (rada | ocationInteg |
->|              |              |              | u|legendre)  | ratorInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_augme | OT_BOOLEAN   | true         | If DAE       | CasADi::Inte |
->| nted         |              |              | callback     | gratorIntern |
->|              |              |              | functions    | al           |
->|              |              |              | are          |              |
->|              |              |              | SXFunction , |              |
->|              |              |              | have         |              |
->|              |              |              | augmented    |              |
->|              |              |              | DAE callback |              |
->|              |              |              | function     |              |
->|              |              |              | also be      |              |
->|              |              |              | SXFunction . |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_sol | OT_IMPLICITF | GenericType( | An implicit  | CasADi::Impl |
->| ver          | UNCTION      | )            | function     | icitFixedSte |
->|              |              |              | solver       | pIntegratorI |
->|              |              |              |              | nternal      |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_sol | OT_DICTIONAR | GenericType( | Options to   | CasADi::Impl |
->| ver_options  | Y            | )            | be passed to | icitFixedSte |
->|              |              |              | the NLP      | pIntegratorI |
->|              |              |              | Solver       | nternal      |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| interpolatio | OT_INTEGER   | 3            | Order of the | CasADi::Coll |
->| n_order      |              |              | interpolatin | ocationInteg |
->|              |              |              | g            | ratorInterna |
->|              |              |              | polynomials  | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_fi | OT_INTEGER   | 20           | Number of    | CasADi::Fixe |
->| nite_element |              |              | finite       | dStepIntegra |
->| s            |              |              | elements     | torInternal  |
->+--------------+--------------+--------------+--------------+--------------+
->| print_stats  | OT_BOOLEAN   | false        | Print out    | CasADi::Inte |
->|              |              |              | statistics   | gratorIntern |
->|              |              |              | after        | al           |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| t0           | OT_REAL      | 0            | Beginning of | CasADi::Inte |
->|              |              |              | the time     | gratorIntern |
->|              |              |              | horizon      | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| tf           | OT_REAL      | 1            | End of the   | CasADi::Inte |
->|              |              |              | time horizon | gratorIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: collocation_integrator.hpp 
--}
-newtype CollocationIntegrator = CollocationIntegrator (ForeignPtr CollocationIntegrator')
--- typeclass decl
-class CollocationIntegratorClass a where
-  castCollocationIntegrator :: a -> CollocationIntegrator
-instance CollocationIntegratorClass CollocationIntegrator where
-  castCollocationIntegrator = id
-
--- baseclass instances
-instance SharedObjectClass CollocationIntegrator where
-  castSharedObject (CollocationIntegrator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass CollocationIntegrator where
-  castPrintableObject (CollocationIntegrator x) = PrintableObject (castForeignPtr x)
-
-instance ImplicitFixedStepIntegratorClass CollocationIntegrator where
-  castImplicitFixedStepIntegrator (CollocationIntegrator x) = ImplicitFixedStepIntegrator (castForeignPtr x)
-
-instance FixedStepIntegratorClass CollocationIntegrator where
-  castFixedStepIntegrator (CollocationIntegrator x) = FixedStepIntegrator (castForeignPtr x)
-
-instance OptionsFunctionalityClass CollocationIntegrator where
-  castOptionsFunctionality (CollocationIntegrator x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass CollocationIntegrator where
-  castFunction (CollocationIntegrator x) = Function (castForeignPtr x)
-
-instance IntegratorClass CollocationIntegrator where
-  castIntegrator (CollocationIntegrator x) = Integrator (castForeignPtr x)
-
-instance IOInterfaceFunctionClass CollocationIntegrator where
-  castIOInterfaceFunction (CollocationIntegrator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal CollocationIntegrator (Ptr CollocationIntegrator') where
-  marshal (CollocationIntegrator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CollocationIntegrator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__CollocationIntegrator" 
-  c_delete_CasADi__CollocationIntegrator :: FunPtr (Ptr CollocationIntegrator' -> IO ())
-instance WrapReturn (Ptr CollocationIntegrator') CollocationIntegrator where
-  wrapReturn = (fmap CollocationIntegrator) . (newForeignPtr c_delete_CasADi__CollocationIntegrator)
-
-
--- raw decl
-data GenSX'
--- data decl
-{-|
->[INTERNAL]   Matrix base
->class.
->
->This is a common base class for MX and Matrix<>, introducing a uniform
->syntax and implementing common functionality using the curiously recurring
->template pattern (CRTP) idiom.  The class is designed with the idea that
->"everything is a matrix", that is, also scalars and vectors. This
->philosophy makes it easy to use and to interface in particularily with
->Python and Matlab/Octave.  The syntax tries to stay as close as possible to
->the ublas syntax when it comes to vector/matrix operations.  Index starts
->with 0. Index vec happens as follows: (rr,cc) -> k = rr+cc*size1() Vectors
->are column vectors.  The storage format is Compressed Column Storage (CCS),
->similar to that used for sparse matrices in Matlab, but unlike this format,
->we do allow for elements to be structurally non-zero but numerically zero.
->The sparsity pattern, which is reference counted and cached, can be accessed
->with Sparsity& sparsity() Joel Andersson
->
->C++ includes: generic_matrix.hpp 
--}
-newtype GenSX = GenSX (ForeignPtr GenSX')
--- typeclass decl
-class GenSXClass a where
-  castGenSX :: a -> GenSX
-instance GenSXClass GenSX where
-  castGenSX = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal GenSX (Ptr GenSX') where
-  marshal (GenSX x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (GenSX x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement__" 
-  c_delete_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement__ :: FunPtr (Ptr GenSX' -> IO ())
-instance WrapReturn (Ptr GenSX') GenSX where
-  wrapReturn = (fmap GenSX) . (newForeignPtr c_delete_CasADi__GenericMatrix_CasADi__Matrix_CasADi__SXElement__)
-
-
--- raw decl
-data IpoptSolver'
--- data decl
-{-|
->[INTERNAL]  interface to IPOPT
->NLP solver
->
->Solves the following parametric nonlinear program (NLP):min          F(x,p)
->x  subject to             LBX <=   x    <= UBX LBG <= G(x,p) <= UBG
->p  == P nx: number of decision variables     ng: number of constraints
->np: number of parameters
->
->When in warmstart mode, output NLP_SOLVER_LAM_X may be used as input
->
->NOTE: Even when max_iter == 0, it is not guaranteed that
->input(NLP_SOLVER_X0) == output(NLP_SOLVER_X). Indeed if bounds on X or
->constraints are unmet, they will differ.
->
->For a good tutorial on IPOPT,
->seehttp://drops.dagstuhl.de/volltexte/2009/2089/pdf/09061.WaechterAndreas.Paper.2089.pdf
->
->A good resource about the algorithms in IPOPT is: Wachter and L. T. Biegler,
->On the Implementation of an Interior-Point Filter Line-Search Algorithm for
->Large-Scale Nonlinear Programming, Mathematical Programming 106(1), pp.
->25-57, 2006 (As Research Report RC 23149, IBM T. J. Watson Research Center,
->Yorktown, USA
->
->Caveats: with default options, multipliers for the decision variables are
->wrong for equality constraints. Change the 'fixed_variable_treatment' to
->'make_constraint' or 'relax_bounds' to obtain correct results.
->
->>Input scheme: CasADi::NLPSolverInput (NLP_SOLVER_NUM_IN = 9) [nlpSolverIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X0          | x0                     | Decision variables,    |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_P           | p                      | Value of fixed         |
->|                        |                        | parameters (np x 1) .  |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBX         | lbx                    | Decision variables     |
->|                        |                        | lower bound (nx x 1),  |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBX         | ubx                    | Decision variables     |
->|                        |                        | upper bound (nx x 1),  |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBG         | lbg                    | Constraints lower      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBG         | ubg                    | Constraints upper      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X0      | lam_x0                 | Lagrange multipliers   |
->|                        |                        | for bounds on X,       |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G0      | lam_g0                 | Lagrange multipliers   |
->|                        |                        | for bounds on G,       |
->|                        |                        | initial guess (ng x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::NLPSolverOutput (NLP_SOLVER_NUM_OUT = 7) [nlpSolverOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X           | x                      | Decision variables at  |
->|                        |                        | the optimal solution   |
->|                        |                        | (nx x 1) .             |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_F           | f                      | Cost function value at |
->|                        |                        | the optimal solution   |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_G           | g                      | Constraints function   |
->|                        |                        | at the optimal         |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X       | lam_x                  | Lagrange multipliers   |
->|                        |                        | for bounds on X at the |
->|                        |                        | solution (nx x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G       | lam_g                  | Lagrange multipliers   |
->|                        |                        | for bounds on G at the |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_P       | lam_p                  | Lagrange multipliers   |
->|                        |                        | for bounds on P at the |
->|                        |                        | solution (np x 1) .    |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| accept_after | OT_INTEGER   | -1           | Accept a     | CasADi::Ipop |
->| _max_steps   |              |              | trial point  | tInternal    |
->|              |              |              | after        |              |
->|              |              |              | maximal this |              |
->|              |              |              | number of    |              |
->|              |              |              | steps. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| accept_every | OT_STRING    | no           | Always       | CasADi::Ipop |
->| _trial_step  |              |              | accept the   | tInternal    |
->|              |              |              | first trial  |              |
->|              |              |              | step. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| acceptable_c | OT_REAL      | 0.010        | "Acceptance" | CasADi::Ipop |
->| ompl_inf_tol |              |              | threshold    | tInternal    |
->|              |              |              | for the comp |              |
->|              |              |              | lementarity  |              |
->|              |              |              | conditions.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| acceptable_c | OT_REAL      | 0.010        | "Acceptance" | CasADi::Ipop |
->| onstr_viol_t |              |              | threshold    | tInternal    |
->| ol           |              |              | for the      |              |
->|              |              |              | constraint   |              |
->|              |              |              | violation.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| acceptable_d | OT_REAL      | 1.000e+10    | "Acceptance" | CasADi::Ipop |
->| ual_inf_tol  |              |              | threshold    | tInternal    |
->|              |              |              | for the dual |              |
->|              |              |              | infeasibilit |              |
->|              |              |              | y. (see      |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| acceptable_i | OT_INTEGER   | 15           | Number of    | CasADi::Ipop |
->| ter          |              |              | "acceptable" | tInternal    |
->|              |              |              | iterates     |              |
->|              |              |              | before       |              |
->|              |              |              | triggering   |              |
->|              |              |              | termination. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| acceptable_o | OT_REAL      | 1.000e+20    | "Acceptance" | CasADi::Ipop |
->| bj_change_to |              |              | stopping     | tInternal    |
->| l            |              |              | criterion    |              |
->|              |              |              | based on     |              |
->|              |              |              | objective    |              |
->|              |              |              | function     |              |
->|              |              |              | change. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| acceptable_t | OT_REAL      | 0.000        | "Acceptable" | CasADi::Ipop |
->| ol           |              |              | convergence  | tInternal    |
->|              |              |              | tolerance    |              |
->|              |              |              | (relative).  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| adaptive_mu_ | OT_STRING    | obj-constr-  | Globalizatio | CasADi::Ipop |
->| globalizatio |              | filter       | n strategy   | tInternal    |
->| n            |              |              | for the      |              |
->|              |              |              | adaptive mu  |              |
->|              |              |              | selection    |              |
->|              |              |              | mode. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| adaptive_mu_ | OT_STRING    | 2-norm-      | Norm used    | CasADi::Ipop |
->| kkt_norm_typ |              | squared      | for the KKT  | tInternal    |
->| e            |              |              | error in the |              |
->|              |              |              | adaptive mu  |              |
->|              |              |              | globalizatio |              |
->|              |              |              | n            |              |
->|              |              |              | strategies.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| adaptive_mu_ | OT_REAL      | 1.000        | Sufficient   | CasADi::Ipop |
->| kkterror_red |              |              | decrease     | tInternal    |
->| _fact        |              |              | factor for   |              |
->|              |              |              | "kkt-error"  |              |
->|              |              |              | globalizatio |              |
->|              |              |              | n strategy.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| adaptive_mu_ | OT_INTEGER   | 4            | Maximum      | CasADi::Ipop |
->| kkterror_red |              |              | number of    | tInternal    |
->| _iters       |              |              | iterations   |              |
->|              |              |              | requiring    |              |
->|              |              |              | sufficient   |              |
->|              |              |              | progress.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| adaptive_mu_ | OT_REAL      | 0.800        | Determines   | CasADi::Ipop |
->| monotone_ini |              |              | the initial  | tInternal    |
->| t_factor     |              |              | value of the |              |
->|              |              |              | barrier      |              |
->|              |              |              | parameter    |              |
->|              |              |              | when         |              |
->|              |              |              | switching to |              |
->|              |              |              | the monotone |              |
->|              |              |              | mode. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| adaptive_mu_ | OT_STRING    | no           | Indicates if | CasADi::Ipop |
->| restore_prev |              |              | the previous | tInternal    |
->| ious_iterate |              |              | iterate      |              |
->|              |              |              | should be    |              |
->|              |              |              | restored if  |              |
->|              |              |              | the monotone |              |
->|              |              |              | mode is      |              |
->|              |              |              | entered.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| adaptive_mu_ | OT_REAL      | 0            | (see IPOPT d | CasADi::Ipop |
->| safeguard_fa |              |              | ocumentation | tInternal    |
->| ctor         |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| alpha_for_y  | OT_STRING    | primal       | Method to    | CasADi::Ipop |
->|              |              |              | determine    | tInternal    |
->|              |              |              | the step     |              |
->|              |              |              | size for     |              |
->|              |              |              | constraint   |              |
->|              |              |              | multipliers. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| alpha_for_y_ | OT_REAL      | 10           | Tolerance    | CasADi::Ipop |
->| tol          |              |              | for          | tInternal    |
->|              |              |              | switching to |              |
->|              |              |              | full         |              |
->|              |              |              | equality     |              |
->|              |              |              | multiplier   |              |
->|              |              |              | steps. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| alpha_min_fr | OT_REAL      | 0.050        | Safety       | CasADi::Ipop |
->| ac           |              |              | factor for   | tInternal    |
->|              |              |              | the minimal  |              |
->|              |              |              | step size    |              |
->|              |              |              | (before      |              |
->|              |              |              | switching to |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase). (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| alpha_red_fa | OT_REAL      | 0.500        | Fractional   | CasADi::Ipop |
->| ctor         |              |              | reduction of | tInternal    |
->|              |              |              | the trial    |              |
->|              |              |              | step size in |              |
->|              |              |              | the          |              |
->|              |              |              | backtracking |              |
->|              |              |              | line search. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| barrier_tol_ | OT_REAL      | 10           | Factor for   | CasADi::Ipop |
->| factor       |              |              | mu in        | tInternal    |
->|              |              |              | barrier stop |              |
->|              |              |              | test. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| bound_frac   | OT_REAL      | 0.010        | Desired      | CasADi::Ipop |
->|              |              |              | minimum      | tInternal    |
->|              |              |              | relative     |              |
->|              |              |              | distance     |              |
->|              |              |              | from the     |              |
->|              |              |              | initial      |              |
->|              |              |              | point to     |              |
->|              |              |              | bound. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| bound_mult_i | OT_STRING    | constant     | Initializati | CasADi::Ipop |
->| nit_method   |              |              | on method    | tInternal    |
->|              |              |              | for bound    |              |
->|              |              |              | multipliers  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| bound_mult_i | OT_REAL      | 1            | Initial      | CasADi::Ipop |
->| nit_val      |              |              | value for    | tInternal    |
->|              |              |              | the bound    |              |
->|              |              |              | multipliers. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| bound_mult_r | OT_REAL      | 1000         | Threshold    | CasADi::Ipop |
->| eset_thresho |              |              | for          | tInternal    |
->| ld           |              |              | resetting    |              |
->|              |              |              | bound        |              |
->|              |              |              | multipliers  |              |
->|              |              |              | after the    |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| bound_push   | OT_REAL      | 0.010        | Desired      | CasADi::Ipop |
->|              |              |              | minimum      | tInternal    |
->|              |              |              | absolute     |              |
->|              |              |              | distance     |              |
->|              |              |              | from the     |              |
->|              |              |              | initial      |              |
->|              |              |              | point to     |              |
->|              |              |              | bound. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| bound_relax_ | OT_REAL      | 0.000        | Factor for   | CasADi::Ipop |
->| factor       |              |              | initial      | tInternal    |
->|              |              |              | relaxation   |              |
->|              |              |              | of the       |              |
->|              |              |              | bounds. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| check_deriva | OT_STRING    | no           | Indicates    | CasADi::Ipop |
->| tives_for_na |              |              | whether it   | tInternal    |
->| ninf         |              |              | is desired   |              |
->|              |              |              | to check for |              |
->|              |              |              | Nan/Inf in   |              |
->|              |              |              | derivative   |              |
->|              |              |              | matrices     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| chi_cup      | OT_REAL      | 1.500        | LIFENG       | CasADi::Ipop |
->|              |              |              | WRITES THIS. | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| chi_hat      | OT_REAL      | 2            | LIFENG       | CasADi::Ipop |
->|              |              |              | WRITES THIS. | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| chi_tilde    | OT_REAL      | 5            | LIFENG       | CasADi::Ipop |
->|              |              |              | WRITES THIS. | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| compl_inf_to | OT_REAL      | 0.000        | Desired      | CasADi::Ipop |
->| l            |              |              | threshold    | tInternal    |
->|              |              |              | for the comp |              |
->|              |              |              | lementarity  |              |
->|              |              |              | conditions.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| con_integer_ | OT_DICTIONAR | None         | Integer      | CasADi::Ipop |
->| md           | Y            |              | metadata (a  | tInternal    |
->|              |              |              | dictionary   |              |
->|              |              |              | with lists   |              |
->|              |              |              | of integers) |              |
->|              |              |              | about        |              |
->|              |              |              | constraints  |              |
->|              |              |              | to be passed |              |
->|              |              |              | to IPOPT     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| con_numeric_ | OT_DICTIONAR | None         | Numeric      | CasADi::Ipop |
->| md           | Y            |              | metadata (a  | tInternal    |
->|              |              |              | dictionary   |              |
->|              |              |              | with lists   |              |
->|              |              |              | of reals)    |              |
->|              |              |              | about        |              |
->|              |              |              | constraints  |              |
->|              |              |              | to be passed |              |
->|              |              |              | to IPOPT     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| con_string_m | OT_DICTIONAR | None         | String       | CasADi::Ipop |
->| d            | Y            |              | metadata (a  | tInternal    |
->|              |              |              | dictionary   |              |
->|              |              |              | with lists   |              |
->|              |              |              | of strings)  |              |
->|              |              |              | about        |              |
->|              |              |              | constraints  |              |
->|              |              |              | to be passed |              |
->|              |              |              | to IPOPT     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| constr_mult_ | OT_REAL      | 1000         | Maximum      | CasADi::Ipop |
->| init_max     |              |              | allowed      | tInternal    |
->|              |              |              | least-square |              |
->|              |              |              | guess of     |              |
->|              |              |              | constraint   |              |
->|              |              |              | multipliers. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| constr_mult_ | OT_REAL      | 0            | Threshold    | CasADi::Ipop |
->| reset_thresh |              |              | for          | tInternal    |
->| old          |              |              | resetting    |              |
->|              |              |              | equality and |              |
->|              |              |              | inequality   |              |
->|              |              |              | multipliers  |              |
->|              |              |              | after        |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| constr_viol_ | OT_REAL      | 0.000        | Desired      | CasADi::Ipop |
->| tol          |              |              | threshold    | tInternal    |
->|              |              |              | for the      |              |
->|              |              |              | constraint   |              |
->|              |              |              | violation.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| constraint_v | OT_STRING    | 1-norm       | Norm to be   | CasADi::Ipop |
->| iolation_nor |              |              | used for the | tInternal    |
->| m_type       |              |              | constraint   |              |
->|              |              |              | violation in |              |
->|              |              |              | the line     |              |
->|              |              |              | search. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| corrector_co | OT_REAL      | 1            | Complementar | CasADi::Ipop |
->| mpl_avrg_red |              |              | ity          | tInternal    |
->| _fact        |              |              | tolerance    |              |
->|              |              |              | factor for   |              |
->|              |              |              | accepting    |              |
->|              |              |              | corrector    |              |
->|              |              |              | step (unsupp |              |
->|              |              |              | orted!).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| corrector_ty | OT_STRING    | none         | The type of  | CasADi::Ipop |
->| pe           |              |              | corrector    | tInternal    |
->|              |              |              | steps that   |              |
->|              |              |              | should be    |              |
->|              |              |              | taken (unsup |              |
->|              |              |              | ported!).    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| delta        | OT_REAL      | 1            | Multiplier   | CasADi::Ipop |
->|              |              |              | for          | tInternal    |
->|              |              |              | constraint   |              |
->|              |              |              | violation in |              |
->|              |              |              | the          |              |
->|              |              |              | switching    |              |
->|              |              |              | rule. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| delta_y_max  | OT_REAL      | 1.000e+12    | a parameter  | CasADi::Ipop |
->|              |              |              | used to      | tInternal    |
->|              |              |              | check if the |              |
->|              |              |              | fast         |              |
->|              |              |              | direction    |              |
->|              |              |              | can be used  |              |
->|              |              |              | asthe line   |              |
->|              |              |              | search       |              |
->|              |              |              | direction    |              |
->|              |              |              | (for Chen-   |              |
->|              |              |              | Goldfarb     |              |
->|              |              |              | line         |              |
->|              |              |              | search).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| dependency_d | OT_STRING    | no           | Indicates if | CasADi::Ipop |
->| etection_wit |              |              | the right    | tInternal    |
->| h_rhs        |              |              | hand sides   |              |
->|              |              |              | of the       |              |
->|              |              |              | constraints  |              |
->|              |              |              | should be    |              |
->|              |              |              | considered   |              |
->|              |              |              | during       |              |
->|              |              |              | dependency   |              |
->|              |              |              | detection    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| dependency_d | OT_STRING    | none         | Indicates    | CasADi::Ipop |
->| etector      |              |              | which linear | tInternal    |
->|              |              |              | solver       |              |
->|              |              |              | should be    |              |
->|              |              |              | used to      |              |
->|              |              |              | detect       |              |
->|              |              |              | linearly     |              |
->|              |              |              | dependent    |              |
->|              |              |              | equality     |              |
->|              |              |              | constraints. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_t | OT_STRING    | none         | Enable       | CasADi::Ipop |
->| est          |              |              | derivative   | tInternal    |
->|              |              |              | checker (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_t | OT_INTEGER   | -2           | Index of     | CasADi::Ipop |
->| est_first_in |              |              | first        | tInternal    |
->| dex          |              |              | quantity to  |              |
->|              |              |              | be checked   |              |
->|              |              |              | by           |              |
->|              |              |              | derivative   |              |
->|              |              |              | checker (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_t | OT_REAL      | 0.000        | Size of the  | CasADi::Ipop |
->| est_perturba |              |              | finite       | tInternal    |
->| tion         |              |              | difference   |              |
->|              |              |              | perturbation |              |
->|              |              |              | in           |              |
->|              |              |              | derivative   |              |
->|              |              |              | test. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_t | OT_STRING    | no           | Indicates    | CasADi::Ipop |
->| est_print_al |              |              | whether      | tInternal    |
->| l            |              |              | information  |              |
->|              |              |              | for all      |              |
->|              |              |              | estimated    |              |
->|              |              |              | derivatives  |              |
->|              |              |              | should be    |              |
->|              |              |              | printed.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_t | OT_REAL      | 0.000        | Threshold    | CasADi::Ipop |
->| est_tol      |              |              | for          | tInternal    |
->|              |              |              | indicating   |              |
->|              |              |              | wrong        |              |
->|              |              |              | derivative.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| diverging_it | OT_REAL      | 1.000e+20    | Threshold    | CasADi::Ipop |
->| erates_tol   |              |              | for maximal  | tInternal    |
->|              |              |              | value of     |              |
->|              |              |              | primal       |              |
->|              |              |              | iterates.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| dual_inf_tol | OT_REAL      | 1            | Desired      | CasADi::Ipop |
->|              |              |              | threshold    | tInternal    |
->|              |              |              | for the dual |              |
->|              |              |              | infeasibilit |              |
->|              |              |              | y. (see      |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| epsilon_c    | OT_REAL      | 0.010        | LIFENG       | CasADi::Ipop |
->|              |              |              | WRITES THIS. | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eta_min      | OT_REAL      | 10           | LIFENG       | CasADi::Ipop |
->|              |              |              | WRITES THIS. | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eta_penalty  | OT_REAL      | 0.000        | Relaxation   | CasADi::Ipop |
->|              |              |              | factor in    | tInternal    |
->|              |              |              | the Armijo   |              |
->|              |              |              | condition    |              |
->|              |              |              | for the      |              |
->|              |              |              | penalty      |              |
->|              |              |              | function.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eta_phi      | OT_REAL      | 0.000        | Relaxation   | CasADi::Ipop |
->|              |              |              | factor in    | tInternal    |
->|              |              |              | the Armijo   |              |
->|              |              |              | condition.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| evaluate_ori | OT_STRING    | yes          | Determines   | CasADi::Ipop |
->| g_obj_at_res |              |              | if the       | tInternal    |
->| to_trial     |              |              | original     |              |
->|              |              |              | objective    |              |
->|              |              |              | function     |              |
->|              |              |              | should be    |              |
->|              |              |              | evaluated at |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase trial  |              |
->|              |              |              | points. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand       | OT_BOOLEAN   | false        | Expand the   | CasADi::NLPS |
->|              |              |              | NLP function | olverInterna |
->|              |              |              | in terms of  | l            |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_f     | OT_BOOLEAN   | GenericType( | Expand the   | CasADi::NLPS |
->|              |              | )            | objective    | olverInterna |
->|              |              |              | function in  | l            |
->|              |              |              | terms of     |              |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX. |              |
->|              |              |              | Deprecated,  |              |
->|              |              |              | use "expand" |              |
->|              |              |              | instead.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_g     | OT_BOOLEAN   | GenericType( | Expand the   | CasADi::NLPS |
->|              |              | )            | constraint   | olverInterna |
->|              |              |              | function in  | l            |
->|              |              |              | terms of     |              |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX. |              |
->|              |              |              | Deprecated,  |              |
->|              |              |              | use "expand" |              |
->|              |              |              | instead.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expect_infea | OT_STRING    | no           | Enable       | CasADi::Ipop |
->| sible_proble |              |              | heuristics   | tInternal    |
->| m            |              |              | to quickly   |              |
->|              |              |              | detect an    |              |
->|              |              |              | infeasible   |              |
->|              |              |              | problem.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expect_infea | OT_REAL      | 0.001        | Threshold    | CasADi::Ipop |
->| sible_proble |              |              | for          | tInternal    |
->| m_ctol       |              |              | disabling "e |              |
->|              |              |              | xpect_infeas |              |
->|              |              |              | ible_problem |              |
->|              |              |              | " option.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expect_infea | OT_REAL      | 100000000    | Multiplier   | CasADi::Ipop |
->| sible_proble |              |              | threshold    | tInternal    |
->| m_ytol       |              |              | for          |              |
->|              |              |              | activating " |              |
->|              |              |              | expect_infea |              |
->|              |              |              | sible_proble |              |
->|              |              |              | m" option.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fast_des_fac | OT_REAL      | 0.100        | a parameter  | CasADi::Ipop |
->| t            |              |              | used to      | tInternal    |
->|              |              |              | check if the |              |
->|              |              |              | fast         |              |
->|              |              |              | direction    |              |
->|              |              |              | can be used  |              |
->|              |              |              | asthe line   |              |
->|              |              |              | search       |              |
->|              |              |              | direction    |              |
->|              |              |              | (for Chen-   |              |
->|              |              |              | Goldfarb     |              |
->|              |              |              | line         |              |
->|              |              |              | search).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fast_step_co | OT_STRING    | no           | Indicates if | CasADi::Ipop |
->| mputation    |              |              | the linear   | tInternal    |
->|              |              |              | system       |              |
->|              |              |              | should be    |              |
->|              |              |              | solved       |              |
->|              |              |              | quickly.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| file_print_l | OT_INTEGER   | 5            | Verbosity    | CasADi::Ipop |
->| evel         |              |              | level for    | tInternal    |
->|              |              |              | output file. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| filter_margi | OT_REAL      | 0.000        | Factor       | CasADi::Ipop |
->| n_fact       |              |              | determining  | tInternal    |
->|              |              |              | width of     |              |
->|              |              |              | margin for   |              |
->|              |              |              | obj-constr-  |              |
->|              |              |              | filter       |              |
->|              |              |              | adaptive glo |              |
->|              |              |              | balization   |              |
->|              |              |              | strategy.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| filter_max_m | OT_REAL      | 1            | Maximum      | CasADi::Ipop |
->| argin        |              |              | width of     | tInternal    |
->|              |              |              | margin in    |              |
->|              |              |              | obj-constr-  |              |
->|              |              |              | filter       |              |
->|              |              |              | adaptive glo |              |
->|              |              |              | balization   |              |
->|              |              |              | strategy.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| filter_reset | OT_INTEGER   | 5            | Number of    | CasADi::Ipop |
->| _trigger     |              |              | iterations   | tInternal    |
->|              |              |              | that trigger |              |
->|              |              |              | the filter   |              |
->|              |              |              | reset. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| findiff_pert | OT_REAL      | 0.000        | Size of the  | CasADi::Ipop |
->| urbation     |              |              | finite       | tInternal    |
->|              |              |              | difference   |              |
->|              |              |              | perturbation |              |
->|              |              |              | for          |              |
->|              |              |              | derivative a |              |
->|              |              |              | pproximation |              |
->|              |              |              | . (see IPOPT |              |
->|              |              |              | documentatio |              |
->|              |              |              | n)           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| first_hessia | OT_REAL      | 0.000        | Size of      | CasADi::Ipop |
->| n_perturbati |              |              | first x-s    | tInternal    |
->| on           |              |              | perturbation |              |
->|              |              |              | tried. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fixed_mu_ora | OT_STRING    | average_comp | Oracle for   | CasADi::Ipop |
->| cle          |              | l            | the barrier  | tInternal    |
->|              |              |              | parameter    |              |
->|              |              |              | when         |              |
->|              |              |              | switching to |              |
->|              |              |              | fixed mode.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fixed_variab | OT_STRING    | make_paramet | Determines   | CasADi::Ipop |
->| le_treatment |              | er           | how fixed    | tInternal    |
->|              |              |              | variables    |              |
->|              |              |              | should be    |              |
->|              |              |              | handled.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gamma_hat    | OT_REAL      | 0.040        | LIFENG       | CasADi::Ipop |
->|              |              |              | WRITES THIS. | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gamma_phi    | OT_REAL      | 0.000        | Relaxation   | CasADi::Ipop |
->|              |              |              | factor in    | tInternal    |
->|              |              |              | the filter   |              |
->|              |              |              | margin for   |              |
->|              |              |              | the barrier  |              |
->|              |              |              | function.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gamma_theta  | OT_REAL      | 0.000        | Relaxation   | CasADi::Ipop |
->|              |              |              | factor in    | tInternal    |
->|              |              |              | the filter   |              |
->|              |              |              | margin for   |              |
->|              |              |              | the          |              |
->|              |              |              | constraint   |              |
->|              |              |              | violation.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gamma_tilde  | OT_REAL      | 4            | LIFENG       | CasADi::Ipop |
->|              |              |              | WRITES THIS. | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gauss_newton | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->|              |              | )            | option. Use  | olverInterna |
->|              |              |              | Gauss Newton | l            |
->|              |              |              | Hessian appr |              |
->|              |              |              | oximation    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_gra | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| dient        |              | )            | option.      | olverInterna |
->|              |              |              | Generate a   | l            |
->|              |              |              | function for |              |
->|              |              |              | calculating  |              |
->|              |              |              | the gradient |              |
->|              |              |              | of the       |              |
->|              |              |              | objective.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_hes | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| sian         |              | )            | option.      | olverInterna |
->|              |              |              | Generate an  | l            |
->|              |              |              | exact        |              |
->|              |              |              | Hessian of   |              |
->|              |              |              | the          |              |
->|              |              |              | Lagrangian   |              |
->|              |              |              | if not       |              |
->|              |              |              | supplied.    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_jac | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| obian        |              | )            | option.      | olverInterna |
->|              |              |              | Generate an  | l            |
->|              |              |              | exact        |              |
->|              |              |              | Jacobian of  |              |
->|              |              |              | the          |              |
->|              |              |              | constraints  |              |
->|              |              |              | if not       |              |
->|              |              |              | supplied.    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| grad_f       | OT_Function  | None         | Function for | CasADi::Ipop |
->|              |              |              | calculating  | tInternal    |
->|              |              |              | the gradient |              |
->|              |              |              | of the       |              |
->|              |              |              | objective    |              |
->|              |              |              | (column, aut |              |
->|              |              |              | ogenerated   |              |
->|              |              |              | by default)  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| grad_lag     | OT_Function  | None         | Function for | CasADi::Ipop |
->|              |              |              | calculating  | tInternal    |
->|              |              |              | the gradient |              |
->|              |              |              | of the       |              |
->|              |              |              | Lagrangian ( |              |
->|              |              |              | autogenerate |              |
->|              |              |              | d by         |              |
->|              |              |              | default)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| hess_lag     | OT_Function  | None         | Function for | CasADi::Ipop |
->|              |              |              | calculating  | tInternal    |
->|              |              |              | the Hessian  |              |
->|              |              |              | of the       |              |
->|              |              |              | Lagrangian ( |              |
->|              |              |              | autogenerate |              |
->|              |              |              | d by         |              |
->|              |              |              | default)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| hessian_appr | OT_STRING    | exact        | Indicates    | CasADi::Ipop |
->| oximation    |              |              | what Hessian | tInternal    |
->|              |              |              | information  |              |
->|              |              |              | is to be     |              |
->|              |              |              | used. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| hessian_appr | OT_STRING    | nonlinear-   | Indicates in | CasADi::Ipop |
->| oximation_sp |              | variables    | which        | tInternal    |
->| ace          |              |              | subspace the |              |
->|              |              |              | Hessian      |              |
->|              |              |              | information  |              |
->|              |              |              | is to be app |              |
->|              |              |              | roximated.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| hessian_cons | OT_STRING    | no           | Indicates    | CasADi::Ipop |
->| tant         |              |              | whether the  | tInternal    |
->|              |              |              | problem is a |              |
->|              |              |              | quadratic    |              |
->|              |              |              | problem (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| honor_origin | OT_STRING    | yes          | Indicates    | CasADi::Ipop |
->| al_bounds    |              |              | whether      | tInternal    |
->|              |              |              | final points |              |
->|              |              |              | should be    |              |
->|              |              |              | projected    |              |
->|              |              |              | into         |              |
->|              |              |              | original     |              |
->|              |              |              | bounds. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ignore_check | OT_BOOLEAN   | false        | If set to    | CasADi::NLPS |
->| _vec         |              |              | true, the    | olverInterna |
->|              |              |              | input shape  | l            |
->|              |              |              | of F will    |              |
->|              |              |              | not be       |              |
->|              |              |              | checked.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inf_pr_outpu | OT_STRING    | original     | Determines   | CasADi::Ipop |
->| t            |              |              | what value   | tInternal    |
->|              |              |              | is printed   |              |
->|              |              |              | in the       |              |
->|              |              |              | "inf_pr"     |              |
->|              |              |              | output       |              |
->|              |              |              | column. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_CALLBACK  | GenericType( | A function   | CasADi::NLPS |
->| llback       |              | )            | that will be | olverInterna |
->|              |              |              | called at    | l            |
->|              |              |              | each         |              |
->|              |              |              | iteration    |              |
->|              |              |              | with the     |              |
->|              |              |              | solver as    |              |
->|              |              |              | input. Check |              |
->|              |              |              | documentatio |              |
->|              |              |              | n of         |              |
->|              |              |              | Callback .   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_BOOLEAN   | false        | If set to    | CasADi::NLPS |
->| llback_ignor |              |              | true, errors | olverInterna |
->| e_errors     |              |              | thrown by it | l            |
->|              |              |              | eration_call |              |
->|              |              |              | back will be |              |
->|              |              |              | ignored.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_INTEGER   | 1            | Only call    | CasADi::NLPS |
->| llback_step  |              |              | the callback | olverInterna |
->|              |              |              | function     | l            |
->|              |              |              | every few    |              |
->|              |              |              | iterations.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| jac_c_consta | OT_STRING    | no           | Indicates    | CasADi::Ipop |
->| nt           |              |              | whether all  | tInternal    |
->|              |              |              | equality     |              |
->|              |              |              | constraints  |              |
->|              |              |              | are linear   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| jac_d_consta | OT_STRING    | no           | Indicates    | CasADi::Ipop |
->| nt           |              |              | whether all  | tInternal    |
->|              |              |              | inequality   |              |
->|              |              |              | constraints  |              |
->|              |              |              | are linear   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| jac_f        | OT_Function  | None         | Function for | CasADi::Ipop |
->|              |              |              | calculating  | tInternal    |
->|              |              |              | the jacobian |              |
->|              |              |              | of the       |              |
->|              |              |              | objective    |              |
->|              |              |              | (sparse row, |              |
->|              |              |              | autogenerate |              |
->|              |              |              | d by         |              |
->|              |              |              | default)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| jac_g        | OT_Function  | None         | Function for | CasADi::Ipop |
->|              |              |              | calculating  | tInternal    |
->|              |              |              | the Jacobian |              |
->|              |              |              | of the       |              |
->|              |              |              | constraints  |              |
->|              |              |              | (autogenerat |              |
->|              |              |              | ed by        |              |
->|              |              |              | default)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| jacobian_app | OT_STRING    | exact        | Specifies    | CasADi::Ipop |
->| roximation   |              |              | technique to | tInternal    |
->|              |              |              | compute      |              |
->|              |              |              | constraint   |              |
->|              |              |              | Jacobian     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| jacobian_reg | OT_REAL      | 0.250        | Exponent for | CasADi::Ipop |
->| ularization_ |              |              | mu in the re | tInternal    |
->| exponent     |              |              | gularization |              |
->|              |              |              | for rank-    |              |
->|              |              |              | deficient    |              |
->|              |              |              | constraint   |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| jacobian_reg | OT_REAL      | 0.000        | Size of the  | CasADi::Ipop |
->| ularization_ |              |              | regularizati | tInternal    |
->| value        |              |              | on for rank- |              |
->|              |              |              | deficient    |              |
->|              |              |              | constraint   |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| kappa_d      | OT_REAL      | 0.000        | Weight for   | CasADi::Ipop |
->|              |              |              | linear       | tInternal    |
->|              |              |              | damping term |              |
->|              |              |              | (to handle   |              |
->|              |              |              | one-sided    |              |
->|              |              |              | bounds).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| kappa_sigma  | OT_REAL      | 1.000e+10    | Factor       | CasADi::Ipop |
->|              |              |              | limiting the | tInternal    |
->|              |              |              | deviation of |              |
->|              |              |              | dual         |              |
->|              |              |              | variables    |              |
->|              |              |              | from primal  |              |
->|              |              |              | estimates.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| kappa_soc    | OT_REAL      | 0.990        | Factor in    | CasADi::Ipop |
->|              |              |              | the          | tInternal    |
->|              |              |              | sufficient   |              |
->|              |              |              | reduction    |              |
->|              |              |              | rule for     |              |
->|              |              |              | second order |              |
->|              |              |              | correction.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| kappa_x_dis  | OT_REAL      | 100          | a parameter  | CasADi::Ipop |
->|              |              |              | used to      | tInternal    |
->|              |              |              | check if the |              |
->|              |              |              | fast         |              |
->|              |              |              | direction    |              |
->|              |              |              | can be used  |              |
->|              |              |              | asthe line   |              |
->|              |              |              | search       |              |
->|              |              |              | direction    |              |
->|              |              |              | (for Chen-   |              |
->|              |              |              | Goldfarb     |              |
->|              |              |              | line         |              |
->|              |              |              | search).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| kappa_y_dis  | OT_REAL      | 10000        | a parameter  | CasADi::Ipop |
->|              |              |              | used to      | tInternal    |
->|              |              |              | check if the |              |
->|              |              |              | fast         |              |
->|              |              |              | direction    |              |
->|              |              |              | can be used  |              |
->|              |              |              | asthe line   |              |
->|              |              |              | search       |              |
->|              |              |              | direction    |              |
->|              |              |              | (for Chen-   |              |
->|              |              |              | Goldfarb     |              |
->|              |              |              | line         |              |
->|              |              |              | search).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| least_square | OT_STRING    | no           | Least square | CasADi::Ipop |
->| _init_duals  |              |              | initializati | tInternal    |
->|              |              |              | on of all    |              |
->|              |              |              | dual         |              |
->|              |              |              | variables    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| least_square | OT_STRING    | no           | Least square | CasADi::Ipop |
->| _init_primal |              |              | initializati | tInternal    |
->|              |              |              | on of the    |              |
->|              |              |              | primal       |              |
->|              |              |              | variables    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| limited_memo | OT_STRING    | sherman-     | Strategy for | CasADi::Ipop |
->| ry_aug_solve |              | morrison     | solving the  | tInternal    |
->| r            |              |              | augmented    |              |
->|              |              |              | system for   |              |
->|              |              |              | low-rank     |              |
->|              |              |              | Hessian.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| limited_memo | OT_REAL      | 1            | Value for B0 | CasADi::Ipop |
->| ry_init_val  |              |              | in low-rank  | tInternal    |
->|              |              |              | update. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| limited_memo | OT_REAL      | 100000000    | Upper bound  | CasADi::Ipop |
->| ry_init_val_ |              |              | on value for | tInternal    |
->| max          |              |              | B0 in low-   |              |
->|              |              |              | rank update. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| limited_memo | OT_REAL      | 0.000        | Lower bound  | CasADi::Ipop |
->| ry_init_val_ |              |              | on value for | tInternal    |
->| min          |              |              | B0 in low-   |              |
->|              |              |              | rank update. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| limited_memo | OT_STRING    | scalar1      | Initializati | CasADi::Ipop |
->| ry_initializ |              |              | on strategy  | tInternal    |
->| ation        |              |              | for the      |              |
->|              |              |              | limited      |              |
->|              |              |              | memory       |              |
->|              |              |              | quasi-Newton |              |
->|              |              |              | approximatio |              |
->|              |              |              | n. (see      |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| limited_memo | OT_INTEGER   | 6            | Maximum size | CasADi::Ipop |
->| ry_max_histo |              |              | of the       | tInternal    |
->| ry           |              |              | history for  |              |
->|              |              |              | the limited  |              |
->|              |              |              | quasi-Newton |              |
->|              |              |              | Hessian appr |              |
->|              |              |              | oximation.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| limited_memo | OT_INTEGER   | 2            | Threshold    | CasADi::Ipop |
->| ry_max_skipp |              |              | for          | tInternal    |
->| ing          |              |              | successive   |              |
->|              |              |              | iterations   |              |
->|              |              |              | where update |              |
->|              |              |              | is skipped.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| limited_memo | OT_STRING    | no           | Determines   | CasADi::Ipop |
->| ry_special_f |              |              | if the       | tInternal    |
->| or_resto     |              |              | quasi-Newton |              |
->|              |              |              | updates      |              |
->|              |              |              | should be    |              |
->|              |              |              | special      |              |
->|              |              |              | during the   |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| limited_memo | OT_STRING    | bfgs         | Quasi-Newton | CasADi::Ipop |
->| ry_update_ty |              |              | update       | tInternal    |
->| pe           |              |              | formula for  |              |
->|              |              |              | the limited  |              |
->|              |              |              | memory appro |              |
->|              |              |              | ximation.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| line_search_ | OT_STRING    | filter       | Globalizatio | CasADi::Ipop |
->| method       |              |              | n method     | tInternal    |
->|              |              |              | used in      |              |
->|              |              |              | backtracking |              |
->|              |              |              | line search  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_scali | OT_STRING    | yes          | Flag         | CasADi::Ipop |
->| ng_on_demand |              |              | indicating   | tInternal    |
->|              |              |              | that linear  |              |
->|              |              |              | scaling is   |              |
->|              |              |              | only done if |              |
->|              |              |              | it seems     |              |
->|              |              |              | required.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_STRING    | ma27         | Linear       | CasADi::Ipop |
->| r            |              |              | solver used  | tInternal    |
->|              |              |              | for step com |              |
->|              |              |              | putations.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_syste | OT_STRING    | mc19         | Method for   | CasADi::Ipop |
->| m_scaling    |              |              | scaling the  | tInternal    |
->|              |              |              | linear       |              |
->|              |              |              | system. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma27_ignore_ | OT_STRING    | no           | Enables      | CasADi::Ipop |
->| singularity  |              |              | MA27's       | tInternal    |
->|              |              |              | ability to   |              |
->|              |              |              | solve a      |              |
->|              |              |              | linear       |              |
->|              |              |              | system even  |              |
->|              |              |              | if the       |              |
->|              |              |              | matrix is    |              |
->|              |              |              | singular.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma27_la_init | OT_REAL      | 5            | Real         | CasADi::Ipop |
->| _factor      |              |              | workspace    | tInternal    |
->|              |              |              | memory for   |              |
->|              |              |              | MA27. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma27_liw_ini | OT_REAL      | 5            | Integer      | CasADi::Ipop |
->| t_factor     |              |              | workspace    | tInternal    |
->|              |              |              | memory for   |              |
->|              |              |              | MA27. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma27_meminc_ | OT_REAL      | 10           | Increment    | CasADi::Ipop |
->| factor       |              |              | factor for   | tInternal    |
->|              |              |              | workspace    |              |
->|              |              |              | size for     |              |
->|              |              |              | MA27. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma27_pivtol  | OT_REAL      | 0.000        | Pivot        | CasADi::Ipop |
->|              |              |              | tolerance    | tInternal    |
->|              |              |              | for the      |              |
->|              |              |              | linear       |              |
->|              |              |              | solver MA27. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma27_pivtolm | OT_REAL      | 0.000        | Maximum      | CasADi::Ipop |
->| ax           |              |              | pivot        | tInternal    |
->|              |              |              | tolerance    |              |
->|              |              |              | for the      |              |
->|              |              |              | linear       |              |
->|              |              |              | solver MA27. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma27_skip_in | OT_STRING    | no           | Always       | CasADi::Ipop |
->| ertia_check  |              |              | pretend      | tInternal    |
->|              |              |              | inertia is   |              |
->|              |              |              | correct.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma28_pivtol  | OT_REAL      | 0.010        | Pivot        | CasADi::Ipop |
->|              |              |              | tolerance    | tInternal    |
->|              |              |              | for linear   |              |
->|              |              |              | solver MA28. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma57_automat | OT_STRING    | yes          | Controls     | CasADi::Ipop |
->| ic_scaling   |              |              | MA57         | tInternal    |
->|              |              |              | automatic    |              |
->|              |              |              | scaling (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma57_block_s | OT_INTEGER   | 16           | Controls     | CasADi::Ipop |
->| ize          |              |              | block size   | tInternal    |
->|              |              |              | used by      |              |
->|              |              |              | Level 3 BLAS |              |
->|              |              |              | in MA57BD    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma57_node_am | OT_INTEGER   | 16           | Node         | CasADi::Ipop |
->| algamation   |              |              | amalgamation | tInternal    |
->|              |              |              | parameter    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma57_pivot_o | OT_INTEGER   | 5            | Controls     | CasADi::Ipop |
->| rder         |              |              | pivot order  | tInternal    |
->|              |              |              | in MA57 (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma57_pivtol  | OT_REAL      | 0.000        | Pivot        | CasADi::Ipop |
->|              |              |              | tolerance    | tInternal    |
->|              |              |              | for the      |              |
->|              |              |              | linear       |              |
->|              |              |              | solver MA57. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma57_pivtolm | OT_REAL      | 0.000        | Maximum      | CasADi::Ipop |
->| ax           |              |              | pivot        | tInternal    |
->|              |              |              | tolerance    |              |
->|              |              |              | for the      |              |
->|              |              |              | linear       |              |
->|              |              |              | solver MA57. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma57_pre_all | OT_REAL      | 1.050        | Safety       | CasADi::Ipop |
->| oc           |              |              | factor for   | tInternal    |
->|              |              |              | work space   |              |
->|              |              |              | memory       |              |
->|              |              |              | allocation   |              |
->|              |              |              | for the      |              |
->|              |              |              | linear       |              |
->|              |              |              | solver MA57. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma57_small_p | OT_INTEGER   | 0            | If set to 1, | CasADi::Ipop |
->| ivot_flag    |              |              | then when    | tInternal    |
->|              |              |              | small        |              |
->|              |              |              | entries      |              |
->|              |              |              | defined by   |              |
->|              |              |              | CNTL(2) are  |              |
->|              |              |              | detected     |              |
->|              |              |              | they are     |              |
->|              |              |              | removed and  |              |
->|              |              |              | the correspo |              |
->|              |              |              | nding pivots |              |
->|              |              |              | placed at    |              |
->|              |              |              | the end of   |              |
->|              |              |              | the factoriz |              |
->|              |              |              | ation. This  |              |
->|              |              |              | can be       |              |
->|              |              |              | particularly |              |
->|              |              |              | efficient if |              |
->|              |              |              | the matrix   |              |
->|              |              |              | is highly    |              |
->|              |              |              | rank         |              |
->|              |              |              | deficient.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma86_nemin   | OT_INTEGER   | 32           | Node         | CasADi::Ipop |
->|              |              |              | Amalgamation | tInternal    |
->|              |              |              | parameter    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma86_print_l | OT_INTEGER   | 0            | Debug        | CasADi::Ipop |
->| evel         |              |              | printing     | tInternal    |
->|              |              |              | level for    |              |
->|              |              |              | the linear   |              |
->|              |              |              | solver MA86  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma86_small   | OT_REAL      | 0.000        | Zero Pivot   | CasADi::Ipop |
->|              |              |              | Threshold    | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma86_static  | OT_REAL      | 0            | Static       | CasADi::Ipop |
->|              |              |              | Pivoting     | tInternal    |
->|              |              |              | Threshold    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma86_u       | OT_REAL      | 0.000        | Pivoting     | CasADi::Ipop |
->|              |              |              | Threshold    | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ma86_umax    | OT_REAL      | 0.000        | Maximum      | CasADi::Ipop |
->|              |              |              | Pivoting     | tInternal    |
->|              |              |              | Threshold    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| magic_steps  | OT_STRING    | no           | Enables      | CasADi::Ipop |
->|              |              |              | magic steps. | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_cpu_time | OT_REAL      | 1000000      | Maximum      | CasADi::Ipop |
->|              |              |              | number of    | tInternal    |
->|              |              |              | CPU seconds. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_filter_r | OT_INTEGER   | 5            | Maximal      | CasADi::Ipop |
->| esets        |              |              | allowed      | tInternal    |
->|              |              |              | number of    |              |
->|              |              |              | filter       |              |
->|              |              |              | resets (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_hessian_ | OT_REAL      | 1.000e+20    | Maximum      | CasADi::Ipop |
->| perturbation |              |              | value of reg | tInternal    |
->|              |              |              | ularization  |              |
->|              |              |              | parameter    |              |
->|              |              |              | for handling |              |
->|              |              |              | negative     |              |
->|              |              |              | curvature.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_iter     | OT_INTEGER   | 3000         | Maximum      | CasADi::Ipop |
->|              |              |              | number of    | tInternal    |
->|              |              |              | iterations.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_refineme | OT_INTEGER   | 10           | Maximum      | CasADi::Ipop |
->| nt_steps     |              |              | number of    | tInternal    |
->|              |              |              | iterative    |              |
->|              |              |              | refinement   |              |
->|              |              |              | steps per    |              |
->|              |              |              | linear       |              |
->|              |              |              | system       |              |
->|              |              |              | solve. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_resto_it | OT_INTEGER   | 3000000      | Maximum      | CasADi::Ipop |
->| er           |              |              | number of    | tInternal    |
->|              |              |              | successive   |              |
->|              |              |              | iterations   |              |
->|              |              |              | in           |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_soc      | OT_INTEGER   | 4            | Maximum      | CasADi::Ipop |
->|              |              |              | number of    | tInternal    |
->|              |              |              | second order |              |
->|              |              |              | correction   |              |
->|              |              |              | trial steps  |              |
->|              |              |              | at each      |              |
->|              |              |              | iteration.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_soft_res | OT_INTEGER   | 10           | Maximum      | CasADi::Ipop |
->| to_iters     |              |              | number of    | tInternal    |
->|              |              |              | iterations   |              |
->|              |              |              | performed    |              |
->|              |              |              | successively |              |
->|              |              |              | in soft      |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mehrotra_alg | OT_STRING    | no           | Indicates if | CasADi::Ipop |
->| orithm       |              |              | we want to   | tInternal    |
->|              |              |              | do           |              |
->|              |              |              | Mehrotra's   |              |
->|              |              |              | algorithm.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| min_alpha_pr | OT_REAL      | 0.000        | LIFENG       | CasADi::Ipop |
->| imal         |              |              | WRITES THIS. | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| min_hessian_ | OT_REAL      | 0.000        | Smallest     | CasADi::Ipop |
->| perturbation |              |              | perturbation | tInternal    |
->|              |              |              | of the       |              |
->|              |              |              | Hessian      |              |
->|              |              |              | block. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| min_refineme | OT_INTEGER   | 1            | Minimum      | CasADi::Ipop |
->| nt_steps     |              |              | number of    | tInternal    |
->|              |              |              | iterative    |              |
->|              |              |              | refinement   |              |
->|              |              |              | steps per    |              |
->|              |              |              | linear       |              |
->|              |              |              | system       |              |
->|              |              |              | solve. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp | CasADi::Ipop |
->|              |              |              | uts)  (eval_ | tInternal    |
->|              |              |              | f|eval_g|eva |              |
->|              |              |              | l_jac_g|eval |              |
->|              |              |              | _grad_f|eval |              |
->|              |              |              | _h)          |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mu_allow_fas | OT_STRING    | yes          | Allow        | CasADi::Ipop |
->| t_monotone_d |              |              | skipping of  | tInternal    |
->| ecrease      |              |              | barrier      |              |
->|              |              |              | problem if   |              |
->|              |              |              | barrier test |              |
->|              |              |              | is already   |              |
->|              |              |              | met. (see    |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mu_init      | OT_REAL      | 0.100        | Initial      | CasADi::Ipop |
->|              |              |              | value for    | tInternal    |
->|              |              |              | the barrier  |              |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mu_linear_de | OT_REAL      | 0.200        | Determines   | CasADi::Ipop |
->| crease_facto |              |              | linear       | tInternal    |
->| r            |              |              | decrease     |              |
->|              |              |              | rate of      |              |
->|              |              |              | barrier      |              |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mu_max       | OT_REAL      | 100000       | Maximum      | CasADi::Ipop |
->|              |              |              | value for    | tInternal    |
->|              |              |              | barrier      |              |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mu_max_fact  | OT_REAL      | 1000         | Factor for i | CasADi::Ipop |
->|              |              |              | nitializatio | tInternal    |
->|              |              |              | n of maximum |              |
->|              |              |              | value for    |              |
->|              |              |              | barrier      |              |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mu_min       | OT_REAL      | 0.000        | Minimum      | CasADi::Ipop |
->|              |              |              | value for    | tInternal    |
->|              |              |              | barrier      |              |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mu_oracle    | OT_STRING    | quality-     | Oracle for a | CasADi::Ipop |
->|              |              | function     | new barrier  | tInternal    |
->|              |              |              | parameter in |              |
->|              |              |              | the adaptive |              |
->|              |              |              | strategy.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mu_strategy  | OT_STRING    | monotone     | Update       | CasADi::Ipop |
->|              |              |              | strategy for | tInternal    |
->|              |              |              | barrier      |              |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mu_superline | OT_REAL      | 1.500        | Determines   | CasADi::Ipop |
->| ar_decrease_ |              |              | superlinear  | tInternal    |
->| power        |              |              | decrease     |              |
->|              |              |              | rate of      |              |
->|              |              |              | barrier      |              |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mu_target    | OT_REAL      | 0            | Desired      | CasADi::Ipop |
->|              |              |              | value of com | tInternal    |
->|              |              |              | plementarity |              |
->|              |              |              | . (see IPOPT |              |
->|              |              |              | documentatio |              |
->|              |              |              | n)           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mult_diverg_ | OT_REAL      | 0.000        | tolerance    | CasADi::Ipop |
->| feasibility_ |              |              | for deciding | tInternal    |
->| tol          |              |              | if the       |              |
->|              |              |              | multipliers  |              |
->|              |              |              | are          |              |
->|              |              |              | diverging    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mult_diverg_ | OT_REAL      | 100000000    | tolerance    | CasADi::Ipop |
->| y_tol        |              |              | for deciding | tInternal    |
->|              |              |              | if the       |              |
->|              |              |              | multipliers  |              |
->|              |              |              | are          |              |
->|              |              |              | diverging    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mumps_dep_to | OT_REAL      | -1           | Pivot        | CasADi::Ipop |
->| l            |              |              | threshold    | tInternal    |
->|              |              |              | for          |              |
->|              |              |              | detection of |              |
->|              |              |              | linearly     |              |
->|              |              |              | dependent    |              |
->|              |              |              | constraints  |              |
->|              |              |              | in MUMPS.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mumps_mem_pe | OT_INTEGER   | 1000         | Percentage   | CasADi::Ipop |
->| rcent        |              |              | increase in  | tInternal    |
->|              |              |              | the          |              |
->|              |              |              | estimated    |              |
->|              |              |              | working      |              |
->|              |              |              | space for    |              |
->|              |              |              | MUMPS. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mumps_permut | OT_INTEGER   | 7            | Controls     | CasADi::Ipop |
->| ing_scaling  |              |              | permuting    | tInternal    |
->|              |              |              | and scaling  |              |
->|              |              |              | in MUMPS     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mumps_pivot_ | OT_INTEGER   | 7            | Controls     | CasADi::Ipop |
->| order        |              |              | pivot order  | tInternal    |
->|              |              |              | in MUMPS     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mumps_pivtol | OT_REAL      | 0.000        | Pivot        | CasADi::Ipop |
->|              |              |              | tolerance    | tInternal    |
->|              |              |              | for the      |              |
->|              |              |              | linear       |              |
->|              |              |              | solver       |              |
->|              |              |              | MUMPS. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mumps_pivtol | OT_REAL      | 0.100        | Maximum      | CasADi::Ipop |
->| max          |              |              | pivot        | tInternal    |
->|              |              |              | tolerance    |              |
->|              |              |              | for the      |              |
->|              |              |              | linear       |              |
->|              |              |              | solver       |              |
->|              |              |              | MUMPS. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| mumps_scalin | OT_INTEGER   | 77           | Controls     | CasADi::Ipop |
->| g            |              |              | scaling in   | tInternal    |
->|              |              |              | MUMPS (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| neg_curv_tes | OT_REAL      | 0            | Tolerance    | CasADi::Ipop |
->| t_tol        |              |              | for          | tInternal    |
->|              |              |              | heuristic to |              |
->|              |              |              | ignore wrong |              |
->|              |              |              | inertia.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| never_use_fa | OT_STRING    | no           | Toggle to    | CasADi::Ipop |
->| ct_cgpen_dir |              |              | switch off   | tInternal    |
->| ection       |              |              | the fast     |              |
->|              |              |              | Chen-        |              |
->|              |              |              | Goldfarb     |              |
->|              |              |              | direction    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| never_use_pi | OT_STRING    | no           | Toggle to    | CasADi::Ipop |
->| ecewise_pena |              |              | switch off   | tInternal    |
->| lty_ls       |              |              | the          |              |
->|              |              |              | piecewise    |              |
->|              |              |              | penalty      |              |
->|              |              |              | method (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_lower_bo | OT_REAL      | -1.000e+19   | any bound    | CasADi::Ipop |
->| und_inf      |              |              | less or      | tInternal    |
->|              |              |              | equal this   |              |
->|              |              |              | value will   |              |
->|              |              |              | be           |              |
->|              |              |              | considered   |              |
->|              |              |              | -inf (i.e.   |              |
->|              |              |              | not lower    |              |
->|              |              |              | bounded).    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_scaling_ | OT_REAL      | 0            | Target value | CasADi::Ipop |
->| constr_targe |              |              | for          | tInternal    |
->| t_gradient   |              |              | constraint   |              |
->|              |              |              | function     |              |
->|              |              |              | gradient     |              |
->|              |              |              | size. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_scaling_ | OT_REAL      | 100          | Maximum      | CasADi::Ipop |
->| max_gradient |              |              | gradient     | tInternal    |
->|              |              |              | after NLP    |              |
->|              |              |              | scaling.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_scaling_ | OT_STRING    | gradient-    | Select the   | CasADi::Ipop |
->| method       |              | based        | technique    | tInternal    |
->|              |              |              | used for     |              |
->|              |              |              | scaling the  |              |
->|              |              |              | NLP. (see    |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_scaling_ | OT_REAL      | 0.000        | Minimum      | CasADi::Ipop |
->| min_value    |              |              | value of     | tInternal    |
->|              |              |              | gradient-    |              |
->|              |              |              | based        |              |
->|              |              |              | scaling      |              |
->|              |              |              | values. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_scaling_ | OT_REAL      | 0            | Target value | CasADi::Ipop |
->| obj_target_g |              |              | for          | tInternal    |
->| radient      |              |              | objective    |              |
->|              |              |              | function     |              |
->|              |              |              | gradient     |              |
->|              |              |              | size. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_upper_bo | OT_REAL      | 1.000e+19    | any bound    | CasADi::Ipop |
->| und_inf      |              |              | greater or   | tInternal    |
->|              |              |              | this value   |              |
->|              |              |              | will be      |              |
->|              |              |              | considered   |              |
->|              |              |              | +inf (i.e.   |              |
->|              |              |              | not upper    |              |
->|              |              |              | bounded).    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nu_inc       | OT_REAL      | 0.000        | Increment of | CasADi::Ipop |
->|              |              |              | the penalty  | tInternal    |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nu_init      | OT_REAL      | 0.000        | Initial      | CasADi::Ipop |
->|              |              |              | value of the | tInternal    |
->|              |              |              | penalty      |              |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| num_linear_v | OT_INTEGER   | 0            | Number of    | CasADi::Ipop |
->| ariables     |              |              | linear       | tInternal    |
->|              |              |              | variables    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| obj_max_inc  | OT_REAL      | 5            | Determines   | CasADi::Ipop |
->|              |              |              | the upper    | tInternal    |
->|              |              |              | bound on the |              |
->|              |              |              | acceptable   |              |
->|              |              |              | increase of  |              |
->|              |              |              | barrier      |              |
->|              |              |              | objective    |              |
->|              |              |              | function.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| obj_scaling_ | OT_REAL      | 1            | Scaling      | CasADi::Ipop |
->| factor       |              |              | factor for   | tInternal    |
->|              |              |              | the          |              |
->|              |              |              | objective    |              |
->|              |              |              | function.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| option_file_ | OT_STRING    |              | File name of | CasADi::Ipop |
->| name         |              |              | options file | tInternal    |
->|              |              |              | (to          |              |
->|              |              |              | overwrite    |              |
->|              |              |              | default).    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| output_file  | OT_STRING    |              | File name of | CasADi::Ipop |
->|              |              |              | desired      | tInternal    |
->|              |              |              | output file  |              |
->|              |              |              | (leave unset |              |
->|              |              |              | for no file  |              |
->|              |              |              | output).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| parametric   | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->|              |              | )            | option.      | olverInterna |
->|              |              |              | Expect F, G, | l            |
->|              |              |              | H, J to have |              |
->|              |              |              | an           |              |
->|              |              |              | additional   |              |
->|              |              |              | input        |              |
->|              |              |              | argument     |              |
->|              |              |              | appended at  |              |
->|              |              |              | the end,     |              |
->|              |              |              | denoting     |              |
->|              |              |              | fixed        |              |
->|              |              |              | parameters.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_iter | OT_INTEGER   | 5000         | Maximum Size | CasADi::Ipop |
->| _coarse_size |              |              | of Coarse    | tInternal    |
->|              |              |              | Grid Matrix  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_iter | OT_REAL      | 0.500        | dropping     | CasADi::Ipop |
->| _dropping_fa |              |              | value for    | tInternal    |
->| ctor         |              |              | incomplete   |              |
->|              |              |              | factor (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_iter | OT_REAL      | 0.100        | dropping     | CasADi::Ipop |
->| _dropping_sc |              |              | value for    | tInternal    |
->| hur          |              |              | sparsify     |              |
->|              |              |              | schur        |              |
->|              |              |              | complement   |              |
->|              |              |              | factor (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_iter | OT_REAL      | 5000000      | (see IPOPT d | CasADi::Ipop |
->| _inverse_nor |              |              | ocumentation | tInternal    |
->| m_factor     |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_iter | OT_INTEGER   | 10           | Maximum Size | CasADi::Ipop |
->| _max_levels  |              |              | of Grid      | tInternal    |
->|              |              |              | Levels (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_iter | OT_INTEGER   | 10000000     | max fill for | CasADi::Ipop |
->| _max_row_fil |              |              | each row     | tInternal    |
->| l            |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_iter | OT_REAL      | 0.000        | Relative     | CasADi::Ipop |
->| _relative_to |              |              | Residual     | tInternal    |
->| l            |              |              | Convergence  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_iter | OT_STRING    | no           | Switch on    | CasADi::Ipop |
->| ative        |              |              | iterative    | tInternal    |
->|              |              |              | solver in    |              |
->|              |              |              | Pardiso      |              |
->|              |              |              | library (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_matc | OT_STRING    | complete+2x2 | Matching     | CasADi::Ipop |
->| hing_strateg |              |              | strategy to  | tInternal    |
->| y            |              |              | be used by   |              |
->|              |              |              | Pardiso (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_max_ | OT_INTEGER   | 4            | Maximal      | CasADi::Ipop |
->| droptol_corr |              |              | number of    | tInternal    |
->| ections      |              |              | decreases of |              |
->|              |              |              | drop         |              |
->|              |              |              | tolerance    |              |
->|              |              |              | during one   |              |
->|              |              |              | solve. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_max_ | OT_INTEGER   | 500          | Maximum      | CasADi::Ipop |
->| iter         |              |              | number of    | tInternal    |
->|              |              |              | Krylov-      |              |
->|              |              |              | Subspace     |              |
->|              |              |              | Iteration    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_msgl | OT_INTEGER   | 0            | Pardiso      | CasADi::Ipop |
->| vl           |              |              | message      | tInternal    |
->|              |              |              | level (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_out_ | OT_INTEGER   | 0            | Enables out- | CasADi::Ipop |
->| of_core_powe |              |              | of-core      | tInternal    |
->| r            |              |              | variant of   |              |
->|              |              |              | Pardiso (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_redo | OT_STRING    | no           | Toggle for   | CasADi::Ipop |
->| _symbolic_fa |              |              | handling     | tInternal    |
->| ct_only_if_i |              |              | case when    |              |
->| nertia_wrong |              |              | elements     |              |
->|              |              |              | were         |              |
->|              |              |              | perturbed by |              |
->|              |              |              | Pardiso.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_repe | OT_STRING    | no           | Interpretati | CasADi::Ipop |
->| ated_perturb |              |              | on of        | tInternal    |
->| ation_means_ |              |              | perturbed    |              |
->| singular     |              |              | elements.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pardiso_skip | OT_STRING    | no           | Always       | CasADi::Ipop |
->| _inertia_che |              |              | pretend      | tInternal    |
->| ck           |              |              | inertia is   |              |
->|              |              |              | correct.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pass_nonline | OT_BOOLEAN   | False        | n/a          | CasADi::Ipop |
->| ar_variables |              |              |              | tInternal    |
->+--------------+--------------+--------------+--------------+--------------+
->| pen_des_fact | OT_REAL      | 0.200        | a parameter  | CasADi::Ipop |
->|              |              |              | used in      | tInternal    |
->|              |              |              | penalty      |              |
->|              |              |              | parameter    |              |
->|              |              |              | computation  |              |
->|              |              |              | (for Chen-   |              |
->|              |              |              | Goldfarb     |              |
->|              |              |              | line         |              |
->|              |              |              | search).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pen_init_fac | OT_REAL      | 50           | a parameter  | CasADi::Ipop |
->|              |              |              | used to      | tInternal    |
->|              |              |              | choose       |              |
->|              |              |              | initial      |              |
->|              |              |              | penalty para |              |
->|              |              |              | meterswhen   |              |
->|              |              |              | the          |              |
->|              |              |              | regularized  |              |
->|              |              |              | Newton       |              |
->|              |              |              | method is    |              |
->|              |              |              | used. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pen_theta_ma | OT_REAL      | 10000        | Determines   | CasADi::Ipop |
->| x_fact       |              |              | upper bound  | tInternal    |
->|              |              |              | for          |              |
->|              |              |              | constraint   |              |
->|              |              |              | violation in |              |
->|              |              |              | the filter.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| penalty_init | OT_REAL      | 100000       | Maximal      | CasADi::Ipop |
->| _max         |              |              | value for    | tInternal    |
->|              |              |              | the intial   |              |
->|              |              |              | penalty      |              |
->|              |              |              | parameter    |              |
->|              |              |              | (for Chen-   |              |
->|              |              |              | Goldfarb     |              |
->|              |              |              | line         |              |
->|              |              |              | search).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| penalty_init | OT_REAL      | 1            | Minimal      | CasADi::Ipop |
->| _min         |              |              | value for    | tInternal    |
->|              |              |              | the intial   |              |
->|              |              |              | penalty      |              |
->|              |              |              | parameter    |              |
->|              |              |              | for line     |              |
->|              |              |              | search(for   |              |
->|              |              |              | Chen-        |              |
->|              |              |              | Goldfarb     |              |
->|              |              |              | line         |              |
->|              |              |              | search).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| penalty_max  | OT_REAL      | 1.000e+30    | Maximal      | CasADi::Ipop |
->|              |              |              | value for    | tInternal    |
->|              |              |              | the penalty  |              |
->|              |              |              | parameter    |              |
->|              |              |              | (for Chen-   |              |
->|              |              |              | Goldfarb     |              |
->|              |              |              | line         |              |
->|              |              |              | search).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| penalty_upda | OT_REAL      | 10           | LIFENG       | CasADi::Ipop |
->| te_compl_tol |              |              | WRITES THIS. | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| penalty_upda | OT_REAL      | 0.000        | Threshold    | CasADi::Ipop |
->| te_infeasibi |              |              | for infeasib | tInternal    |
->| lity_tol     |              |              | ility in     |              |
->|              |              |              | penalty      |              |
->|              |              |              | parameter    |              |
->|              |              |              | update test. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| perturb_alwa | OT_STRING    | no           | Active       | CasADi::Ipop |
->| ys_cd        |              |              | permanent    | tInternal    |
->|              |              |              | perturbation |              |
->|              |              |              | of           |              |
->|              |              |              | constraint l |              |
->|              |              |              | inearization |              |
->|              |              |              | . (see IPOPT |              |
->|              |              |              | documentatio |              |
->|              |              |              | n)           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| perturb_dec_ | OT_REAL      | 0.333        | Decrease     | CasADi::Ipop |
->| fact         |              |              | factor for   | tInternal    |
->|              |              |              | x-s perturba |              |
->|              |              |              | tion. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| perturb_inc_ | OT_REAL      | 8            | Increase     | CasADi::Ipop |
->| fact         |              |              | factor for   | tInternal    |
->|              |              |              | x-s perturba |              |
->|              |              |              | tion. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| perturb_inc_ | OT_REAL      | 100          | Increase     | CasADi::Ipop |
->| fact_first   |              |              | factor for   | tInternal    |
->|              |              |              | x-s          |              |
->|              |              |              | perturbation |              |
->|              |              |              | for very     |              |
->|              |              |              | first pertur |              |
->|              |              |              | bation. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| piecewisepen | OT_REAL      | 0.000        | LIFENG       | CasADi::Ipop |
->| alty_gamma_i |              |              | WRITES THIS. | tInternal    |
->| nfeasi       |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| piecewisepen | OT_REAL      | 0.000        | LIFENG       | CasADi::Ipop |
->| alty_gamma_o |              |              | WRITES THIS. | tInternal    |
->| bj           |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| point_pertur | OT_REAL      | 10           | Maximal      | CasADi::Ipop |
->| bation_radiu |              |              | perturbation | tInternal    |
->| s            |              |              | of an        |              |
->|              |              |              | evaluation   |              |
->|              |              |              | point. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_info_s | OT_STRING    | no           | Enables      | CasADi::Ipop |
->| tring        |              |              | printing of  | tInternal    |
->|              |              |              | additional   |              |
->|              |              |              | info string  |              |
->|              |              |              | at end of    |              |
->|              |              |              | iteration    |              |
->|              |              |              | output. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_level  | OT_INTEGER   | 5            | Output       | CasADi::Ipop |
->|              |              |              | verbosity    | tInternal    |
->|              |              |              | level. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_option | OT_STRING    | no           | Switch to    | CasADi::Ipop |
->| s_documentat |              |              | print all    | tInternal    |
->| ion          |              |              | algorithmic  |              |
->|              |              |              | options.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_option | OT_STRING    | no           | Undocumented | CasADi::Ipop |
->| s_latex_mode |              |              | (see IPOPT d | tInternal    |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_time   | OT_BOOLEAN   | True         | print        | CasADi::Ipop |
->|              |              |              | information  | tInternal    |
->|              |              |              | about        |              |
->|              |              |              | execution    |              |
->|              |              |              | time         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_timing | OT_STRING    | no           | Switch to    | CasADi::Ipop |
->| _statistics  |              |              | print timing | tInternal    |
->|              |              |              | statistics.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_user_o | OT_STRING    | no           | Print all    | CasADi::Ipop |
->| ptions       |              |              | options set  | tInternal    |
->|              |              |              | by the user. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| quality_func | OT_STRING    | none         | The          | CasADi::Ipop |
->| tion_balanci |              |              | balancing    | tInternal    |
->| ng_term      |              |              | term         |              |
->|              |              |              | included in  |              |
->|              |              |              | the quality  |              |
->|              |              |              | function for |              |
->|              |              |              | centrality.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| quality_func | OT_STRING    | none         | The penalty  | CasADi::Ipop |
->| tion_central |              |              | term for     | tInternal    |
->| ity          |              |              | centrality   |              |
->|              |              |              | that is      |              |
->|              |              |              | included in  |              |
->|              |              |              | quality      |              |
->|              |              |              | function.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| quality_func | OT_INTEGER   | 8            | Maximum      | CasADi::Ipop |
->| tion_max_sec |              |              | number of    | tInternal    |
->| tion_steps   |              |              | search steps |              |
->|              |              |              | during       |              |
->|              |              |              | direct       |              |
->|              |              |              | search       |              |
->|              |              |              | procedure    |              |
->|              |              |              | determining  |              |
->|              |              |              | the optimal  |              |
->|              |              |              | centering    |              |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| quality_func | OT_STRING    | 2-norm-      | Norm used    | CasADi::Ipop |
->| tion_norm_ty |              | squared      | for          | tInternal    |
->| pe           |              |              | components   |              |
->|              |              |              | of the       |              |
->|              |              |              | quality      |              |
->|              |              |              | function.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| quality_func | OT_REAL      | 0            | Tolerance    | CasADi::Ipop |
->| tion_section |              |              | for the      | tInternal    |
->| _qf_tol      |              |              | golden       |              |
->|              |              |              | section      |              |
->|              |              |              | search       |              |
->|              |              |              | procedure    |              |
->|              |              |              | determining  |              |
->|              |              |              | the optimal  |              |
->|              |              |              | centering    |              |
->|              |              |              | parameter    |              |
->|              |              |              | (in the      |              |
->|              |              |              | function     |              |
->|              |              |              | value        |              |
->|              |              |              | space). (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| quality_func | OT_REAL      | 0.010        | Tolerance    | CasADi::Ipop |
->| tion_section |              |              | for the      | tInternal    |
->| _sigma_tol   |              |              | section      |              |
->|              |              |              | search       |              |
->|              |              |              | procedure    |              |
->|              |              |              | determining  |              |
->|              |              |              | the optimal  |              |
->|              |              |              | centering    |              |
->|              |              |              | parameter    |              |
->|              |              |              | (in sigma    |              |
->|              |              |              | space). (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| recalc_y     | OT_STRING    | no           | Tells the    | CasADi::Ipop |
->|              |              |              | algorithm to | tInternal    |
->|              |              |              | recalculate  |              |
->|              |              |              | the equality |              |
->|              |              |              | and          |              |
->|              |              |              | inequality   |              |
->|              |              |              | multipliers  |              |
->|              |              |              | as least     |              |
->|              |              |              | square       |              |
->|              |              |              | estimates.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| recalc_y_fea | OT_REAL      | 0.000        | Feasibility  | CasADi::Ipop |
->| s_tol        |              |              | threshold    | tInternal    |
->|              |              |              | for recomput |              |
->|              |              |              | ation of     |              |
->|              |              |              | multipliers. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| replace_boun | OT_STRING    | no           | Indicates if | CasADi::Ipop |
->| ds           |              |              | all variable | tInternal    |
->|              |              |              | bounds       |              |
->|              |              |              | should be    |              |
->|              |              |              | replaced by  |              |
->|              |              |              | inequality   |              |
->|              |              |              | constraints  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| required_inf | OT_REAL      | 0.900        | Required     | CasADi::Ipop |
->| easibility_r |              |              | reduction of | tInternal    |
->| eduction     |              |              | infeasibilit |              |
->|              |              |              | y before     |              |
->|              |              |              | leaving      |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| residual_imp | OT_REAL      | 1.000        | Minimal      | CasADi::Ipop |
->| rovement_fac |              |              | required     | tInternal    |
->| tor          |              |              | reduction of |              |
->|              |              |              | residual     |              |
->|              |              |              | test ratio   |              |
->|              |              |              | in iterative |              |
->|              |              |              | refinement.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| residual_rat | OT_REAL      | 0.000        | Iterative    | CasADi::Ipop |
->| io_max       |              |              | refinement   | tInternal    |
->|              |              |              | tolerance    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| residual_rat | OT_REAL      | 0.000        | Threshold    | CasADi::Ipop |
->| io_singular  |              |              | for          | tInternal    |
->|              |              |              | declaring    |              |
->|              |              |              | linear       |              |
->|              |              |              | system       |              |
->|              |              |              | singular     |              |
->|              |              |              | after failed |              |
->|              |              |              | iterative    |              |
->|              |              |              | refinement.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| resto_failur | OT_REAL      | 0            | Threshold    | CasADi::Ipop |
->| e_feasibilit |              |              | for primal i | tInternal    |
->| y_threshold  |              |              | nfeasibility |              |
->|              |              |              | to declare   |              |
->|              |              |              | failure of   |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| resto_penalt | OT_REAL      | 1000         | Penalty      | CasADi::Ipop |
->| y_parameter  |              |              | parameter in | tInternal    |
->|              |              |              | the          |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase        |              |
->|              |              |              | objective    |              |
->|              |              |              | function.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| resto_proxim | OT_REAL      | 1            | Weighting    | CasADi::Ipop |
->| ity_weight   |              |              | factor for   | tInternal    |
->|              |              |              | the          |              |
->|              |              |              | proximity    |              |
->|              |              |              | term in      |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase        |              |
->|              |              |              | objective.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| rho          | OT_REAL      | 0.100        | Value in     | CasADi::Ipop |
->|              |              |              | penalty      | tInternal    |
->|              |              |              | parameter    |              |
->|              |              |              | update       |              |
->|              |              |              | formula.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| s_max        | OT_REAL      | 100          | Scaling      | CasADi::Ipop |
->|              |              |              | threshold    | tInternal    |
->|              |              |              | for the NLP  |              |
->|              |              |              | error. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| s_phi        | OT_REAL      | 2.300        | Exponent for | CasADi::Ipop |
->|              |              |              | linear       | tInternal    |
->|              |              |              | barrier      |              |
->|              |              |              | function     |              |
->|              |              |              | model in the |              |
->|              |              |              | switching    |              |
->|              |              |              | rule. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| s_theta      | OT_REAL      | 1.100        | Exponent for | CasADi::Ipop |
->|              |              |              | current      | tInternal    |
->|              |              |              | constraint   |              |
->|              |              |              | violation in |              |
->|              |              |              | the          |              |
->|              |              |              | switching    |              |
->|              |              |              | rule. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sb           | OT_STRING    | no           | (see IPOPT d | CasADi::Ipop |
->|              |              |              | ocumentation | tInternal    |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sigma_max    | OT_REAL      | 100          | Maximum      | CasADi::Ipop |
->|              |              |              | value of the | tInternal    |
->|              |              |              | centering    |              |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sigma_min    | OT_REAL      | 0.000        | Minimum      | CasADi::Ipop |
->|              |              |              | value of the | tInternal    |
->|              |              |              | centering    |              |
->|              |              |              | parameter.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| skip_corr_if | OT_STRING    | yes          | Skip the     | CasADi::Ipop |
->| _neg_curv    |              |              | corrector    | tInternal    |
->|              |              |              | step in      |              |
->|              |              |              | negative     |              |
->|              |              |              | curvature    |              |
->|              |              |              | iteration (u |              |
->|              |              |              | nsupported!) |              |
->|              |              |              | . (see IPOPT |              |
->|              |              |              | documentatio |              |
->|              |              |              | n)           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| skip_corr_in | OT_STRING    | yes          | Skip the     | CasADi::Ipop |
->| _monotone_mo |              |              | corrector    | tInternal    |
->| de           |              |              | step during  |              |
->|              |              |              | monotone     |              |
->|              |              |              | barrier      |              |
->|              |              |              | parameter    |              |
->|              |              |              | mode (unsupp |              |
->|              |              |              | orted!).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| skip_finaliz | OT_STRING    | no           | Indicates if | CasADi::Ipop |
->| e_solution_c |              |              | call to NLP: | tInternal    |
->| all          |              |              | :FinalizeSol |              |
->|              |              |              | ution after  |              |
->|              |              |              | optimization |              |
->|              |              |              | should be    |              |
->|              |              |              | suppressed   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| slack_bound_ | OT_REAL      | 0.010        | Desired      | CasADi::Ipop |
->| frac         |              |              | minimum      | tInternal    |
->|              |              |              | relative     |              |
->|              |              |              | distance     |              |
->|              |              |              | from the     |              |
->|              |              |              | initial      |              |
->|              |              |              | slack to     |              |
->|              |              |              | bound. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| slack_bound_ | OT_REAL      | 0.010        | Desired      | CasADi::Ipop |
->| push         |              |              | minimum      | tInternal    |
->|              |              |              | absolute     |              |
->|              |              |              | distance     |              |
->|              |              |              | from the     |              |
->|              |              |              | initial      |              |
->|              |              |              | slack to     |              |
->|              |              |              | bound. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| slack_move   | OT_REAL      | 0.000        | Correction   | CasADi::Ipop |
->|              |              |              | size for     | tInternal    |
->|              |              |              | very small   |              |
->|              |              |              | slacks. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| soft_resto_p | OT_REAL      | 1.000        | Required     | CasADi::Ipop |
->| derror_reduc |              |              | reduction in | tInternal    |
->| tion_factor  |              |              | primal-dual  |              |
->|              |              |              | error in the |              |
->|              |              |              | soft         |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| start_with_r | OT_STRING    | no           | Tells        | CasADi::Ipop |
->| esto         |              |              | algorithm to | tInternal    |
->|              |              |              | switch to    |              |
->|              |              |              | restoration  |              |
->|              |              |              | phase in     |              |
->|              |              |              | first        |              |
->|              |              |              | iteration.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| suppress_all | OT_STRING    | no           | Undocumented | CasADi::Ipop |
->| _output      |              |              | (see IPOPT d | tInternal    |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tau_min      | OT_REAL      | 0.990        | Lower bound  | CasADi::Ipop |
->|              |              |              | on fraction- | tInternal    |
->|              |              |              | to-the-      |              |
->|              |              |              | boundary     |              |
->|              |              |              | parameter    |              |
->|              |              |              | tau. (see    |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| theta_max_fa | OT_REAL      | 10000        | Determines   | CasADi::Ipop |
->| ct           |              |              | upper bound  | tInternal    |
->|              |              |              | for          |              |
->|              |              |              | constraint   |              |
->|              |              |              | violation in |              |
->|              |              |              | the filter.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| theta_min    | OT_REAL      | 0.000        | LIFENG       | CasADi::Ipop |
->|              |              |              | WRITES THIS. | tInternal    |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| theta_min_fa | OT_REAL      | 0.000        | Determines   | CasADi::Ipop |
->| ct           |              |              | constraint   | tInternal    |
->|              |              |              | violation    |              |
->|              |              |              | threshold in |              |
->|              |              |              | the          |              |
->|              |              |              | switching    |              |
->|              |              |              | rule. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tiny_step_to | OT_REAL      | 0.000        | Tolerance    | CasADi::Ipop |
->| l            |              |              | for          | tInternal    |
->|              |              |              | detecting    |              |
->|              |              |              | numerically  |              |
->|              |              |              | insignifican |              |
->|              |              |              | t steps.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tiny_step_y_ | OT_REAL      | 0.010        | Tolerance    | CasADi::Ipop |
->| tol          |              |              | for quitting | tInternal    |
->|              |              |              | because of   |              |
->|              |              |              | numerically  |              |
->|              |              |              | insignifican |              |
->|              |              |              | t steps.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tol          | OT_REAL      | 0.000        | Desired      | CasADi::Ipop |
->|              |              |              | convergence  | tInternal    |
->|              |              |              | tolerance    |              |
->|              |              |              | (relative).  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| var_integer_ | OT_DICTIONAR | None         | Integer      | CasADi::Ipop |
->| md           | Y            |              | metadata (a  | tInternal    |
->|              |              |              | dictionary   |              |
->|              |              |              | with lists   |              |
->|              |              |              | of integers) |              |
->|              |              |              | about        |              |
->|              |              |              | variables to |              |
->|              |              |              | be passed to |              |
->|              |              |              | IPOPT        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| var_numeric_ | OT_DICTIONAR | None         | Numeric      | CasADi::Ipop |
->| md           | Y            |              | metadata (a  | tInternal    |
->|              |              |              | dictionary   |              |
->|              |              |              | with lists   |              |
->|              |              |              | of reals)    |              |
->|              |              |              | about        |              |
->|              |              |              | variables to |              |
->|              |              |              | be passed to |              |
->|              |              |              | IPOPT        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| var_string_m | OT_DICTIONAR | None         | String       | CasADi::Ipop |
->| d            | Y            |              | metadata (a  | tInternal    |
->|              |              |              | dictionary   |              |
->|              |              |              | with lists   |              |
->|              |              |              | of strings)  |              |
->|              |              |              | about        |              |
->|              |              |              | variables to |              |
->|              |              |              | be passed to |              |
->|              |              |              | IPOPT        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| vartheta     | OT_REAL      | 0.500        | a parameter  | CasADi::Ipop |
->|              |              |              | used to      | tInternal    |
->|              |              |              | check if the |              |
->|              |              |              | fast         |              |
->|              |              |              | direction    |              |
->|              |              |              | can be used  |              |
->|              |              |              | asthe line   |              |
->|              |              |              | search       |              |
->|              |              |              | direction    |              |
->|              |              |              | (for Chen-   |              |
->|              |              |              | Goldfarb     |              |
->|              |              |              | line         |              |
->|              |              |              | search).     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warm_start_b | OT_REAL      | 0.001        | same as      | CasADi::Ipop |
->| ound_frac    |              |              | bound_frac   | tInternal    |
->|              |              |              | for the      |              |
->|              |              |              | regular      |              |
->|              |              |              | initializer. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warm_start_b | OT_REAL      | 0.001        | same as      | CasADi::Ipop |
->| ound_push    |              |              | bound_push   | tInternal    |
->|              |              |              | for the      |              |
->|              |              |              | regular      |              |
->|              |              |              | initializer. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warm_start_e | OT_STRING    | no           | Tells        | CasADi::Ipop |
->| ntire_iterat |              |              | algorithm    | tInternal    |
->| e            |              |              | whether to   |              |
->|              |              |              | use the GetW |              |
->|              |              |              | armStartIter |              |
->|              |              |              | ate method   |              |
->|              |              |              | in the NLP.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warm_start_i | OT_STRING    | no           | Warm-start   | CasADi::Ipop |
->| nit_point    |              |              | for initial  | tInternal    |
->|              |              |              | point (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warm_start_m | OT_REAL      | 0.001        | same as mult | CasADi::Ipop |
->| ult_bound_pu |              |              | _bound_push  | tInternal    |
->| sh           |              |              | for the      |              |
->|              |              |              | regular      |              |
->|              |              |              | initializer. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warm_start_m | OT_REAL      | 1000000      | Maximum      | CasADi::Ipop |
->| ult_init_max |              |              | initial      | tInternal    |
->|              |              |              | value for    |              |
->|              |              |              | the equality |              |
->|              |              |              | multipliers. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warm_start_s | OT_STRING    | no           | Indicates    | CasADi::Ipop |
->| ame_structur |              |              | whether a    | tInternal    |
->| e            |              |              | problem with |              |
->|              |              |              | a structure  |              |
->|              |              |              | identical to |              |
->|              |              |              | the previous |              |
->|              |              |              | one is to be |              |
->|              |              |              | solved. (see |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warm_start_s | OT_REAL      | 0.001        | same as slac | CasADi::Ipop |
->| lack_bound_f |              |              | k_bound_frac | tInternal    |
->| rac          |              |              | for the      |              |
->|              |              |              | regular      |              |
->|              |              |              | initializer. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warm_start_s | OT_REAL      | 0.001        | same as slac | CasADi::Ipop |
->| lack_bound_p |              |              | k_bound_push | tInternal    |
->| ush          |              |              | for the      |              |
->|              |              |              | regular      |              |
->|              |              |              | initializer. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warm_start_t | OT_REAL      | 0            | Unsupported! | CasADi::Ipop |
->| arget_mu     |              |              | (see IPOPT d | tInternal    |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warn_initial | OT_BOOLEAN   | false        | Warn if the  | CasADi::NLPS |
->| _bounds      |              |              | initial      | olverInterna |
->|              |              |              | guess does   | l            |
->|              |              |              | not satisfy  |              |
->|              |              |              | LBX and UBX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| watchdog_sho | OT_INTEGER   | 10           | Number of    | CasADi::Ipop |
->| rtened_iter_ |              |              | shortened    | tInternal    |
->| trigger      |              |              | iterations   |              |
->|              |              |              | that trigger |              |
->|              |              |              | the          |              |
->|              |              |              | watchdog.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| watchdog_tri | OT_INTEGER   | 3            | Maximum      | CasADi::Ipop |
->| al_iter_max  |              |              | number of    | tInternal    |
->|              |              |              | watchdog     |              |
->|              |              |              | iterations.  |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_inexact | OT_REAL      | 0            | Drop         | CasADi::Ipop |
->| _droptol     |              |              | tolerance    | tInternal    |
->|              |              |              | for inexact  |              |
->|              |              |              | factorizatio |              |
->|              |              |              | n preconditi |              |
->|              |              |              | oner in      |              |
->|              |              |              | WISMP. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_inexact | OT_REAL      | 0            | Fill-in      | CasADi::Ipop |
->| _fillin_limi |              |              | limit for    | tInternal    |
->| t            |              |              | inexact fact |              |
->|              |              |              | orization pr |              |
->|              |              |              | econditioner |              |
->|              |              |              | in WISMP.    |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_iterati | OT_STRING    | no           | Switches to  | CasADi::Ipop |
->| ve           |              |              | iterative    | tInternal    |
->|              |              |              | solver in    |              |
->|              |              |              | WSMP. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_max_ite | OT_INTEGER   | 1000         | Maximal      | CasADi::Ipop |
->| r            |              |              | number of    | tInternal    |
->|              |              |              | iterations   |              |
->|              |              |              | in iterative |              |
->|              |              |              | WISMP (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_no_pivo | OT_STRING    | no           | Use the      | CasADi::Ipop |
->| ting         |              |              | static       | tInternal    |
->|              |              |              | pivoting     |              |
->|              |              |              | option of    |              |
->|              |              |              | WSMP. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_num_thr | OT_INTEGER   | 1            | Number of    | CasADi::Ipop |
->| eads         |              |              | threads to   | tInternal    |
->|              |              |              | be used in   |              |
->|              |              |              | WSMP (see    |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_orderin | OT_INTEGER   | 1            | Determines   | CasADi::Ipop |
->| g_option     |              |              | how ordering | tInternal    |
->|              |              |              | is done in   |              |
->|              |              |              | WSMP         |              |
->|              |              |              | (IPARM(16)   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_orderin | OT_INTEGER   | 1            | Determines   | CasADi::Ipop |
->| g_option2    |              |              | how ordering | tInternal    |
->|              |              |              | is done in   |              |
->|              |              |              | WSMP         |              |
->|              |              |              | (IPARM(20)   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_pivtol  | OT_REAL      | 0.000        | Pivot        | CasADi::Ipop |
->|              |              |              | tolerance    | tInternal    |
->|              |              |              | for the      |              |
->|              |              |              | linear       |              |
->|              |              |              | solver WSMP. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_pivtolm | OT_REAL      | 0.100        | Maximum      | CasADi::Ipop |
->| ax           |              |              | pivot        | tInternal    |
->|              |              |              | tolerance    |              |
->|              |              |              | for the      |              |
->|              |              |              | linear       |              |
->|              |              |              | solver WSMP. |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_scaling | OT_INTEGER   | 0            | Determines   | CasADi::Ipop |
->|              |              |              | how the      | tInternal    |
->|              |              |              | matrix is    |              |
->|              |              |              | scaled by    |              |
->|              |              |              | WSMP. (see   |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_singula | OT_REAL      | 0.000        | WSMP's       | CasADi::Ipop |
->| rity_thresho |              |              | singularity  | tInternal    |
->| ld           |              |              | threshold.   |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_skip_in | OT_STRING    | no           | Always       | CasADi::Ipop |
->| ertia_check  |              |              | pretent      | tInternal    |
->|              |              |              | inertia is   |              |
->|              |              |              | correct.     |              |
->|              |              |              | (see IPOPT d |              |
->|              |              |              | ocumentation |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| wsmp_write_m | OT_INTEGER   | -1           | Iteration in | CasADi::Ipop |
->| atrix_iterat |              |              | which the    | tInternal    |
->| ion          |              |              | matrices are |              |
->|              |              |              | written to   |              |
->|              |              |              | files. (see  |              |
->|              |              |              | IPOPT docume |              |
->|              |              |              | ntation)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->+-------------+--------------------------+
->|     Id      |         Used in          |
->+=============+==========================+
->| eval_f      | CasADi::IpoptInternal    |
->+-------------+--------------------------+
->| eval_g      | CasADi::IpoptInternal    |
->+-------------+--------------------------+
->| eval_grad_f | CasADi::IpoptInternal    |
->+-------------+--------------------------+
->| eval_h      | CasADi::IpoptInternal    |
->+-------------+--------------------------+
->| eval_jac_g  | CasADi::IpoptInternal    |
->+-------------+--------------------------+
->| inputs      | CasADi::FunctionInternal |
->+-------------+--------------------------+
->| outputs     | CasADi::FunctionInternal |
->+-------------+--------------------------+
->
->>List of available stats
->+--------------------+-----------------------+
->|         Id         |        Used in        |
->+====================+=======================+
->| con_integer_md     | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| con_numeric_md     | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| con_string_md      | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| iter_count         | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| iteration          | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| iterations         | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| n_eval_f           | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| n_eval_g           | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| n_eval_grad_f      | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| n_eval_h           | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| n_eval_jac_g       | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| return_status      | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| t_callback_fun     | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| t_callback_prepare | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| t_eval_f           | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| t_eval_g           | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| t_eval_grad_f      | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| t_eval_h           | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| t_eval_jac_g       | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| t_mainloop         | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| var_integer_md     | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| var_numeric_md     | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->| var_string_md      | CasADi::IpoptInternal |
->+--------------------+-----------------------+
->
->Diagrams
->
->C++ includes: ipopt_solver.hpp 
--}
-newtype IpoptSolver = IpoptSolver (ForeignPtr IpoptSolver')
--- typeclass decl
-class IpoptSolverClass a where
-  castIpoptSolver :: a -> IpoptSolver
-instance IpoptSolverClass IpoptSolver where
-  castIpoptSolver = id
-
--- baseclass instances
-instance SharedObjectClass IpoptSolver where
-  castSharedObject (IpoptSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass IpoptSolver where
-  castPrintableObject (IpoptSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass IpoptSolver where
-  castOptionsFunctionality (IpoptSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass IpoptSolver where
-  castFunction (IpoptSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass IpoptSolver where
-  castIOInterfaceFunction (IpoptSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-instance NLPSolverClass IpoptSolver where
-  castNLPSolver (IpoptSolver x) = NLPSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal IpoptSolver (Ptr IpoptSolver') where
-  marshal (IpoptSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (IpoptSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__IpoptSolver" 
-  c_delete_CasADi__IpoptSolver :: FunPtr (Ptr IpoptSolver' -> IO ())
-instance WrapReturn (Ptr IpoptSolver') IpoptSolver where
-  wrapReturn = (fmap IpoptSolver) . (newForeignPtr c_delete_CasADi__IpoptSolver)
-
-
--- raw decl
-data DMatrix'
--- data decl
-{-|
->[INTERNAL]  Sparse matrix class. SX
->and DMatrix are specializations.
->
->General sparse matrix class that is designed with the idea that "everything
->is a matrix", that is, also scalars and vectors. This philosophy makes it
->easy to use and to interface in particularily with Python and Matlab/Octave.
->Index starts with 0. Index vec happens as follows: (rr,cc) -> k =
->rr+cc*size1() Vectors are column vectors.  The storage format is Compressed
->Column Storage (CCS), similar to that used for sparse matrices in Matlab,
->but unlike this format, we do allow for elements to be structurally non-zero
->but numerically zero. Matrix<DataType> is polymorphic with a
->std::vector<DataType> that contain all non- identical-zero elements. The
->sparsity can be accessed with Sparsity& sparsity() Joel Andersson
->
->C++ includes: casadi_types.hpp 
--}
-newtype DMatrix = DMatrix (ForeignPtr DMatrix')
--- typeclass decl
-class DMatrixClass a where
-  castDMatrix :: a -> DMatrix
-instance DMatrixClass DMatrix where
-  castDMatrix = id
-
--- baseclass instances
-instance PrintableObjectClass DMatrix where
-  castPrintableObject (DMatrix x) = PrintableObject (castForeignPtr x)
-
-instance ExpDMatrixClass DMatrix where
-  castExpDMatrix (DMatrix x) = ExpDMatrix (castForeignPtr x)
-
-instance GenDMatrixClass DMatrix where
-  castGenDMatrix (DMatrix x) = GenDMatrix (castForeignPtr x)
-
-
--- helper instances
-instance Marshal DMatrix (Ptr DMatrix') where
-  marshal (DMatrix x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (DMatrix x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Matrix_double_" 
-  c_delete_CasADi__Matrix_double_ :: FunPtr (Ptr DMatrix' -> IO ())
-instance WrapReturn (Ptr DMatrix') DMatrix where
-  wrapReturn = (fmap DMatrix) . (newForeignPtr c_delete_CasADi__Matrix_double_)
-
-
-
--- raw decl
-data Sparsity'
--- data decl
-{-|
->[INTERNAL]  General sparsity class.
->
->The storage format is a compressed column storage (CCS) format.  In this
->format, the structural non-zero elements are stored in column-major order,
->starting from the upper left corner of the matrix and ending in the lower
->right corner.
->
->In addition to the dimension ( size1(), size2()), (i.e. the number of rows
->and the number of columns respectively), there are also two vectors of
->integers:
->
->"colind" [length size2()+1], which contains the index to the first non-
->zero element on or after the corresponding column. All the non-zero elements
->of a particular i are thus the elements with index el that fulfils:
->colind[i] <= el < colind[i+1].
->
->"row" [same length as the number of non-zero elements, size()] The rows
->for each of the structural non-zeros.
->
->Note that with this format, it is cheap to loop over all the non-zero
->elements of a particular column, at constant time per element, but expensive
->to jump to access a location (i,j).
->
->If the matrix is dense, i.e. length(row) == size1()*size2(), the format
->reduces to standard dense column major format, which allows access to an
->arbitrary element in constant time.
->
->Since the object is reference counted (it inherits from SharedObject),
->several matrices are allowed to share the same sparsity pattern.
->
->The implementations of some methods of this class has been taken from the
->CSparse package and modified to use C++ standard library and CasADi data
->structures.
->
->See:   Matrix
->
->Joel Andersson
->
->C++ includes: sparsity.hpp 
--}
-newtype Sparsity = Sparsity (ForeignPtr Sparsity')
--- typeclass decl
-class SparsityClass a where
-  castSparsity :: a -> Sparsity
-instance SparsityClass Sparsity where
-  castSparsity = id
-
--- baseclass instances
-instance SharedObjectClass Sparsity where
-  castSharedObject (Sparsity x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass Sparsity where
-  castPrintableObject (Sparsity x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Sparsity (Ptr Sparsity') where
-  marshal (Sparsity x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Sparsity x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Sparsity" 
-  c_delete_CasADi__Sparsity :: FunPtr (Ptr Sparsity' -> IO ())
-instance WrapReturn (Ptr Sparsity') Sparsity where
-  wrapReturn = (fmap Sparsity) . (newForeignPtr c_delete_CasADi__Sparsity)
-
-
--- raw decl
-data ExpMX'
--- data decl
-{-|
->[INTERNAL]  Expression
->interface.
->
->This is a common base class for SX, MX and Matrix<>, introducing a uniform
->syntax and implementing common functionality using the curiously recurring
->template pattern (CRTP) idiom. Joel Andersson
->
->C++ includes: generic_expression.hpp 
--}
-newtype ExpMX = ExpMX (ForeignPtr ExpMX')
--- typeclass decl
-class ExpMXClass a where
-  castExpMX :: a -> ExpMX
-instance ExpMXClass ExpMX where
-  castExpMX = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal ExpMX (Ptr ExpMX') where
-  marshal (ExpMX x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ExpMX x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__GenericExpression_CasADi__MX_" 
-  c_delete_CasADi__GenericExpression_CasADi__MX_ :: FunPtr (Ptr ExpMX' -> IO ())
-instance WrapReturn (Ptr ExpMX') ExpMX where
-  wrapReturn = (fmap ExpMX) . (newForeignPtr c_delete_CasADi__GenericExpression_CasADi__MX_)
-
-
--- raw decl
-data MX'
--- data decl
-{-|
->[INTERNAL]   MX - Matrix expression.
->
->The MX class is used to build up trees made up from MXNodes. It is a more
->general graph representation than the scalar expression, SX, and much less
->efficient for small objects. On the other hand, the class allows much more
->general operations than does SX, in particular matrix valued operations and
->calls to arbitrary differentiable functions.
->
->The MX class is designed to have identical syntax with the Matrix<> template
->class, and uses Matrix<double> as its internal representation of the values
->at a node. By keeping the syntaxes identical, it is possible to switch from
->one class to the other, as well as inlining MX functions to SXElement
->functions.
->
->Note that an operation is always "lazy", making a matrix multiplication
->will create a matrix multiplication node, not perform the actual
->multiplication.
->
->Joel Andersson
->
->C++ includes: mx.hpp 
--}
-newtype MX = MX (ForeignPtr MX')
--- typeclass decl
-class MXClass a where
-  castMX :: a -> MX
-instance MXClass MX where
-  castMX = id
-
--- baseclass instances
-instance SharedObjectClass MX where
-  castSharedObject (MX x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass MX where
-  castPrintableObject (MX x) = PrintableObject (castForeignPtr x)
-
-instance ExpMXClass MX where
-  castExpMX (MX x) = ExpMX (castForeignPtr x)
-
-instance GenMXClass MX where
-  castGenMX (MX x) = GenMX (castForeignPtr x)
-
-
--- helper instances
-instance Marshal MX (Ptr MX') where
-  marshal (MX x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (MX x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__MX" 
-  c_delete_CasADi__MX :: FunPtr (Ptr MX' -> IO ())
-instance WrapReturn (Ptr MX') MX where
-  wrapReturn = (fmap MX) . (newForeignPtr c_delete_CasADi__MX)
-
-
--- raw decl
-data QCQPStructure'
--- data decl
-{-|
->[INTERNAL]  Helper
->function for 'QCQPStruct'
->
->C++ includes: casadi_types.hpp 
--}
-newtype QCQPStructure = QCQPStructure (ForeignPtr QCQPStructure')
--- typeclass decl
-class QCQPStructureClass a where
-  castQCQPStructure :: a -> QCQPStructure
-instance QCQPStructureClass QCQPStructure where
-  castQCQPStructure = id
-
--- baseclass instances
-instance PrintableObjectClass QCQPStructure where
-  castPrintableObject (QCQPStructure x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal QCQPStructure (Ptr QCQPStructure') where
-  marshal (QCQPStructure x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (QCQPStructure x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__QCQPStructIOSchemeVector_CasADi__Sparsity_" 
-  c_delete_CasADi__QCQPStructIOSchemeVector_CasADi__Sparsity_ :: FunPtr (Ptr QCQPStructure' -> IO ())
-instance WrapReturn (Ptr QCQPStructure') QCQPStructure where
-  wrapReturn = (fmap QCQPStructure) . (newForeignPtr c_delete_CasADi__QCQPStructIOSchemeVector_CasADi__Sparsity_)
-
-
--- raw decl
-data DpleSolver'
--- data decl
-{-|
->[INTERNAL]  Base class for
->Discrete Periodic Lyapunov Equation Solvers.
->
->Given matrices A_k and symmetric V_k, k = 0..K-1
->
->A_k in R^(n x n) V_k in R^n
->
->provides all of P_k that satisfy:
->
->P_0 = A_(K-1)*P_(K-1)*A_(K-1)' + V_k P_k+1 = A_k*P_k*A_k' + V_k for k =
->1..K-1 Joris gillis
->
->>Input scheme: CasADi::DPLEInput (DPLE_NUM_IN = 3) [dpleIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| DPLE_A                 | a                      | A matrices (horzcat    |
->|                        |                        | when const_dim,        |
->|                        |                        | blkdiag otherwise) .   |
->+------------------------+------------------------+------------------------+
->| DPLE_V                 | v                      | V matrices (horzcat    |
->|                        |                        | when const_dim,        |
->|                        |                        | blkdiag otherwise) .   |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::DPLEOutput (DPLE_NUM_OUT = 2) [dpleOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| DPLE_P                 | p                      | Lyapunov matrix        |
->|                        |                        | (horzcat when          |
->|                        |                        | const_dim, blkdiag     |
->|                        |                        | otherwise) (cholesky   |
->|                        |                        | of P if pos_def) .     |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| const_dim    | OT_BOOLEAN   | true         | Assume       | CasADi::Dple |
->|              |              |              | constant     | Internal     |
->|              |              |              | dimension of |              |
->|              |              |              | P            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eps_unstable | OT_REAL      | 0.000        | A margin for | CasADi::Dple |
->|              |              |              | unstability  | Internal     |
->|              |              |              | detection    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| error_unstab | OT_BOOLEAN   | false        | Throw an     | CasADi::Dple |
->| le           |              |              | exception    | Internal     |
->|              |              |              | when it is   |              |
->|              |              |              | detected     |              |
->|              |              |              | that Product |              |
->|              |              |              | (A_i,i=N..1) |              |
->|              |              |              | has          |              |
->|              |              |              | eigenvalues  |              |
->|              |              |              | greater than |              |
->|              |              |              | 1-eps_unstab |              |
->|              |              |              | le           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| pos_def      | OT_BOOLEAN   | false        | Assume P     | CasADi::Dple |
->|              |              |              | positive     | Internal     |
->|              |              |              | definite     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: dple_solver.hpp 
--}
-newtype DpleSolver = DpleSolver (ForeignPtr DpleSolver')
--- typeclass decl
-class DpleSolverClass a where
-  castDpleSolver :: a -> DpleSolver
-instance DpleSolverClass DpleSolver where
-  castDpleSolver = id
-
--- baseclass instances
-instance SharedObjectClass DpleSolver where
-  castSharedObject (DpleSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass DpleSolver where
-  castPrintableObject (DpleSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass DpleSolver where
-  castOptionsFunctionality (DpleSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass DpleSolver where
-  castFunction (DpleSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass DpleSolver where
-  castIOInterfaceFunction (DpleSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal DpleSolver (Ptr DpleSolver') where
-  marshal (DpleSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (DpleSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__DpleSolver" 
-  c_delete_CasADi__DpleSolver :: FunPtr (Ptr DpleSolver' -> IO ())
-instance WrapReturn (Ptr DpleSolver') DpleSolver where
-  wrapReturn = (fmap DpleSolver) . (newForeignPtr c_delete_CasADi__DpleSolver)
-
-
--- raw decl
-data SDQPSolver'
--- data decl
-{-|
->[INTERNAL]   SDQPSolver.
->
->Same as an SDPSolver, but with a quadratic objective 1/2 x' H x
->
->Joel Andersson
->
->>Input scheme: CasADi::SDQPInput (SDQP_SOLVER_NUM_IN = 10) [sdqpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SDQP_SOLVER_H          | h                      | The matrix H: sparse ( |
->|                        |                        | n x n) .               |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_C          | c                      | The vector c: ( n x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_F          | f                      | The horizontal stack   |
->|                        |                        | of all matrices F_i: ( |
->|                        |                        | m x nm) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_G          | g                      | The matrix G: ( m x m) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_A          | a                      | The matrix A: ( nc x   |
->|                        |                        | n) .                   |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LBA        | lba                    | Lower bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_UBA        | uba                    | Upper bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LBX        | lbx                    | Lower bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_UBX        | ubx                    | Upper bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::SDQPOutput (SDQP_SOLVER_NUM_OUT = 8) [sdqpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SDQP_SOLVER_X          | x                      | The primal solution (n |
->|                        |                        | x 1) - may be used as  |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_P          | p                      | The solution P (m x m) |
->|                        |                        | - may be used as       |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_DUAL       | dual                   | The dual solution (m x |
->|                        |                        | m) - may be used as    |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_COST       | cost                   | The primal optimal     |
->|                        |                        | cost (1 x 1) .         |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_DUAL_COST  | dual_cost              | The dual optimal cost  |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LAM_A      | lam_a                  | The dual solution      |
->|                        |                        | corresponding to the   |
->|                        |                        | linear constraints (nc |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LAM_X      | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds (n x 1)  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sdp_solver   | OT_SDPSOLVER | GenericType( | The          | CasADi::SDQP |
->|              |              | )            | SDQPSolver   | SolverIntern |
->|              |              |              | used to      | al           |
->|              |              |              | solve the    |              |
->|              |              |              | SDPs.        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sdp_solver_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::SDQP |
->| ptions       | Y            | )            | be passed to | SolverIntern |
->|              |              |              | the          | al           |
->|              |              |              | SDPSOlver    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: sdqp_solver.hpp 
--}
-newtype SDQPSolver = SDQPSolver (ForeignPtr SDQPSolver')
--- typeclass decl
-class SDQPSolverClass a where
-  castSDQPSolver :: a -> SDQPSolver
-instance SDQPSolverClass SDQPSolver where
-  castSDQPSolver = id
-
--- baseclass instances
-instance SharedObjectClass SDQPSolver where
-  castSharedObject (SDQPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SDQPSolver where
-  castPrintableObject (SDQPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SDQPSolver where
-  castOptionsFunctionality (SDQPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SDQPSolver where
-  castFunction (SDQPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SDQPSolver where
-  castIOInterfaceFunction (SDQPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SDQPSolver (Ptr SDQPSolver') where
-  marshal (SDQPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SDQPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SDQPSolver" 
-  c_delete_CasADi__SDQPSolver :: FunPtr (Ptr SDQPSolver' -> IO ())
-instance WrapReturn (Ptr SDQPSolver') SDQPSolver where
-  wrapReturn = (fmap SDQPSolver) . (newForeignPtr c_delete_CasADi__SDQPSolver)
-
-
--- raw decl
-data QPLPSolver'
--- data decl
-{-|
->[INTERNAL]  IPOPT QP Solver for
->quadratic programming.
->
->Solves the following linear problem:
->
->min          c' x   x  subject to             LBA <= A x <= UBA LBX <= x
-><= UBX                  with x ( n x 1)          c ( n x 1 )          A
->sparse matrix ( nc x n)          LBA, UBA dense vector (nc x 1)
->LBX, UBX dense vector (n x 1)                  n: number of decision
->variables (x)     nc: number of constraints (A)
->
->Joris Gillis
->
->>Input scheme: CasADi::LPSolverInput (LP_SOLVER_NUM_IN = 7) [lpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| LP_SOLVER_C            | c                      | The vector c: dense (n |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_A            | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LBA          | lba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_UBA          | uba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LBX          | lbx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_UBX          | ubx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::LPSolverOutput (LP_SOLVER_NUM_OUT = 5) [lpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| LP_SOLVER_X            | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_COST         | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LAM_A        | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LAM_X        | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| qp_solver    | OT_QPSOLVER  | GenericType( | The QPSOlver | CasADi::QPLP |
->|              |              | )            | used to      | Internal     |
->|              |              |              | solve the    |              |
->|              |              |              | LPs.         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| qp_solver_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::QPLP |
->| tions        | Y            | )            | be passed to | Internal     |
->|              |              |              | the QPSOlver |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available stats
->+-----------------+----------------------+
->|       Id        |       Used in        |
->+=================+======================+
->| qp_solver_stats | CasADi::QPLPInternal |
->+-----------------+----------------------+
->
->Diagrams
->
->C++ includes: qp_lp_solver.hpp 
--}
-newtype QPLPSolver = QPLPSolver (ForeignPtr QPLPSolver')
--- typeclass decl
-class QPLPSolverClass a where
-  castQPLPSolver :: a -> QPLPSolver
-instance QPLPSolverClass QPLPSolver where
-  castQPLPSolver = id
-
--- baseclass instances
-instance SharedObjectClass QPLPSolver where
-  castSharedObject (QPLPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass QPLPSolver where
-  castPrintableObject (QPLPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass QPLPSolver where
-  castOptionsFunctionality (QPLPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass QPLPSolver where
-  castFunction (QPLPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass QPLPSolver where
-  castIOInterfaceFunction (QPLPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-instance LPSolverClass QPLPSolver where
-  castLPSolver (QPLPSolver x) = LPSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal QPLPSolver (Ptr QPLPSolver') where
-  marshal (QPLPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (QPLPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__QPLPSolver" 
-  c_delete_CasADi__QPLPSolver :: FunPtr (Ptr QPLPSolver' -> IO ())
-instance WrapReturn (Ptr QPLPSolver') QPLPSolver where
-  wrapReturn = (fmap QPLPSolver) . (newForeignPtr c_delete_CasADi__QPLPSolver)
-
-
--- raw decl
-data SDPSDQPSolver'
--- data decl
-{-|
->[INTERNAL]  SDP SDQP Solver
->for quadratic programming.
->
->Note: this implementation relies on Cholesky decomposition: Chol(H) = L -> H
->= LL' with L lower triangular This requires Pi, H to be positive definite.
->Positive semi-definite is not sufficient. Notably, H==0 will not work.
->
->A better implementation would rely on matrix square root, but we need
->singular value decomposition to implement that.
->
->Same as an SDPSolver, but with a quadratic objective 1/2 x' H x
->
->Joris Gillis
->
->>Input scheme: CasADi::SDQPInput (SDQP_SOLVER_NUM_IN = 10) [sdqpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SDQP_SOLVER_H          | h                      | The matrix H: sparse ( |
->|                        |                        | n x n) .               |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_C          | c                      | The vector c: ( n x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_F          | f                      | The horizontal stack   |
->|                        |                        | of all matrices F_i: ( |
->|                        |                        | m x nm) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_G          | g                      | The matrix G: ( m x m) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_A          | a                      | The matrix A: ( nc x   |
->|                        |                        | n) .                   |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LBA        | lba                    | Lower bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_UBA        | uba                    | Upper bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LBX        | lbx                    | Lower bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_UBX        | ubx                    | Upper bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::SDQPOutput (SDQP_SOLVER_NUM_OUT = 8) [sdqpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SDQP_SOLVER_X          | x                      | The primal solution (n |
->|                        |                        | x 1) - may be used as  |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_P          | p                      | The solution P (m x m) |
->|                        |                        | - may be used as       |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_DUAL       | dual                   | The dual solution (m x |
->|                        |                        | m) - may be used as    |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_COST       | cost                   | The primal optimal     |
->|                        |                        | cost (1 x 1) .         |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_DUAL_COST  | dual_cost              | The dual optimal cost  |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LAM_A      | lam_a                  | The dual solution      |
->|                        |                        | corresponding to the   |
->|                        |                        | linear constraints (nc |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| SDQP_SOLVER_LAM_X      | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds (n x 1)  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sdp_solver   | OT_SDPSOLVER | GenericType( | The          | CasADi::SDPS |
->|              |              | )            | SDPSolver    | DQPInternal  |
->|              |              |              | used to      |              |
->|              |              |              | solve the    |              |
->|              |              |              | SDQPs.       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sdp_solver_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::SDPS |
->| ptions       | Y            | )            | be passed to | DQPInternal  |
->|              |              |              | the          |              |
->|              |              |              | SDPSOlver    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available stats
->+------------------+-------------------------+
->|        Id        |         Used in         |
->+==================+=========================+
->| sdp_solver_stats | CasADi::SDPSDQPInternal |
->+------------------+-------------------------+
->
->Diagrams
->
->C++ includes: sdp_sdqp_solver.hpp 
--}
-newtype SDPSDQPSolver = SDPSDQPSolver (ForeignPtr SDPSDQPSolver')
--- typeclass decl
-class SDPSDQPSolverClass a where
-  castSDPSDQPSolver :: a -> SDPSDQPSolver
-instance SDPSDQPSolverClass SDPSDQPSolver where
-  castSDPSDQPSolver = id
-
--- baseclass instances
-instance SharedObjectClass SDPSDQPSolver where
-  castSharedObject (SDPSDQPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SDPSDQPSolver where
-  castPrintableObject (SDPSDQPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SDPSDQPSolver where
-  castOptionsFunctionality (SDPSDQPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SDPSDQPSolver where
-  castFunction (SDPSDQPSolver x) = Function (castForeignPtr x)
-
-instance SDQPSolverClass SDPSDQPSolver where
-  castSDQPSolver (SDPSDQPSolver x) = SDQPSolver (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SDPSDQPSolver where
-  castIOInterfaceFunction (SDPSDQPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SDPSDQPSolver (Ptr SDPSDQPSolver') where
-  marshal (SDPSDQPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SDPSDQPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SDPSDQPSolver" 
-  c_delete_CasADi__SDPSDQPSolver :: FunPtr (Ptr SDPSDQPSolver' -> IO ())
-instance WrapReturn (Ptr SDPSDQPSolver') SDPSDQPSolver where
-  wrapReturn = (fmap SDPSDQPSolver) . (newForeignPtr c_delete_CasADi__SDPSDQPSolver)
-
-
--- raw decl
-data SDPSolver'
--- data decl
-{-|
->[INTERNAL]   SDPSolver.
->
->Solves an SDP problem in standard form.
->Seehttp://sdpa.indsys.chuo-u.ac.jp/sdpa/files/sdpa-c.6.2.0.manual.pdf
->
->Primal:
->
->min          c' x   x  subject to               P = Sum_i^m F_i x_i - G
->P negative semidefinite LBA <= A x <= UBA             LBX <= x   <= UBX
->with x ( n x 1)          c ( n x 1 )          G, F_i  sparse symmetric (m x
->m)          X dense symmetric ( m x m )          A sparse matrix ( nc x n)
->LBA, UBA dense vector (nc x 1)          LBX, UBX dense vector (n x 1)
->
->This formulation is chosen as primal, because it does not call for a large
->decision variable space.
->
->Dual:
->
->max          trace(G Y)  Y   subject to             trace(F_i Y) = c_i Y
->positive semidefinite                  with Y dense symmetric ( m x m)
->
->On generality: you might have formulation with block partitioning:
->
->Primal:
->
->min          c' x   x  subject to               Pj = Sum_i^m F_ij x_i - gj
->for all j               Pj negative semidefinite   for all j with x ( n x 1)
->c ( n x 1 )          G, F_i  sparse symmetric (m x m)          X dense
->symmetric ( m x m )
->
->Dual:max          Sum_j trace(Gj Yj)  Yj   subject to             Sum_j
->trace(F_ij Yj) = c_i   for all j             Yj positive semidefinite for
->all j                  with Y dense symmetric ( m x m)
->
->You can cast this into the standard form with: G = blkdiag(Gj for all j) Fi
->= blkdiag(F_ij for all j)
->
->Implementations of SDPSolver are encouraged to exploit this block structure.
->
->Joel Andersson
->
->>Input scheme: CasADi::SDPInput (SDP_SOLVER_NUM_IN = 9) [sdpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SDP_SOLVER_F           | f                      | The horizontal stack   |
->|                        |                        | of all matrices F_i: ( |
->|                        |                        | m x nm) .              |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_C           | c                      | The vector c: ( n x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_G           | g                      | The matrix G: ( m x m) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_A           | a                      | The matrix A: ( nc x   |
->|                        |                        | n) .                   |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_LBA         | lba                    | Lower bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_UBA         | uba                    | Upper bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_LBX         | lbx                    | Lower bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_UBX         | ubx                    | Upper bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::SDPOutput (SDP_SOLVER_NUM_OUT = 8) [sdpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SDP_SOLVER_X           | x                      | The primal solution (n |
->|                        |                        | x 1) - may be used as  |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_P           | p                      | The solution P (m x m) |
->|                        |                        | - may be used as       |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_DUAL        | dual                   | The dual solution (m x |
->|                        |                        | m) - may be used as    |
->|                        |                        | initial guess .        |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_COST        | cost                   | The primal optimal     |
->|                        |                        | cost (1 x 1) .         |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_DUAL_COST   | dual_cost              | The dual optimal cost  |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_LAM_A       | lam_a                  | The dual solution      |
->|                        |                        | corresponding to the   |
->|                        |                        | linear constraints (nc |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| SDP_SOLVER_LAM_X       | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds (n x 1)  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| calc_dual    | OT_BOOLEAN   | true         | Indicate if  | CasADi::SDPS |
->|              |              |              | dual should  | olverInterna |
->|              |              |              | be allocated | l            |
->|              |              |              | and          |              |
->|              |              |              | calculated.  |              |
->|              |              |              | You may want |              |
->|              |              |              | to avoid     |              |
->|              |              |              | calculating  |              |
->|              |              |              | this         |              |
->|              |              |              | variable for |              |
->|              |              |              | problems     |              |
->|              |              |              | with n       |              |
->|              |              |              | large, as is |              |
->|              |              |              | always dense |              |
->|              |              |              | (m x m).     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| calc_p       | OT_BOOLEAN   | true         | Indicate if  | CasADi::SDPS |
->|              |              |              | the P-part   | olverInterna |
->|              |              |              | of primal    | l            |
->|              |              |              | solution     |              |
->|              |              |              | should be    |              |
->|              |              |              | allocated    |              |
->|              |              |              | and          |              |
->|              |              |              | calculated.  |              |
->|              |              |              | You may want |              |
->|              |              |              | to avoid     |              |
->|              |              |              | calculating  |              |
->|              |              |              | this         |              |
->|              |              |              | variable for |              |
->|              |              |              | problems     |              |
->|              |              |              | with n       |              |
->|              |              |              | large, as is |              |
->|              |              |              | always dense |              |
->|              |              |              | (m x m).     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| print_proble | OT_BOOLEAN   | false        | Print out    | CasADi::SDPS |
->| m            |              |              | problem      | olverInterna |
->|              |              |              | statement    | l            |
->|              |              |              | for          |              |
->|              |              |              | debugging.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: sdp_solver.hpp 
--}
-newtype SDPSolver = SDPSolver (ForeignPtr SDPSolver')
--- typeclass decl
-class SDPSolverClass a where
-  castSDPSolver :: a -> SDPSolver
-instance SDPSolverClass SDPSolver where
-  castSDPSolver = id
-
--- baseclass instances
-instance SharedObjectClass SDPSolver where
-  castSharedObject (SDPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SDPSolver where
-  castPrintableObject (SDPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SDPSolver where
-  castOptionsFunctionality (SDPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SDPSolver where
-  castFunction (SDPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SDPSolver where
-  castIOInterfaceFunction (SDPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SDPSolver (Ptr SDPSolver') where
-  marshal (SDPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SDPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SDPSolver" 
-  c_delete_CasADi__SDPSolver :: FunPtr (Ptr SDPSolver' -> IO ())
-instance WrapReturn (Ptr SDPSolver') SDPSolver where
-  wrapReturn = (fmap SDPSolver) . (newForeignPtr c_delete_CasADi__SDPSolver)
-
-
--- raw decl
-data CasadiOptions'
--- data decl
-{-|
->[INTERNAL]  Collects global
->CasADi options.
->
->Note to developers: use sparingly. Global options are - in general - a
->rather bad idea
->
->this class must never be instantiated. Access its static members directly
->
->Joris Gillis
->
->C++ includes: casadi_options.hpp 
--}
-newtype CasadiOptions = CasadiOptions (ForeignPtr CasadiOptions')
--- typeclass decl
-class CasadiOptionsClass a where
-  castCasadiOptions :: a -> CasadiOptions
-instance CasadiOptionsClass CasadiOptions where
-  castCasadiOptions = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal CasadiOptions (Ptr CasadiOptions') where
-  marshal (CasadiOptions x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CasadiOptions x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__CasadiOptions" 
-  c_delete_CasADi__CasadiOptions :: FunPtr (Ptr CasadiOptions' -> IO ())
-instance WrapReturn (Ptr CasadiOptions') CasadiOptions where
-  wrapReturn = (fmap CasadiOptions) . (newForeignPtr c_delete_CasADi__CasadiOptions)
-
-
--- raw decl
-data Slice'
--- data decl
-{-|
->[INTERNAL]  Class representing a
->Slice.
->
->Note that Python or Octave do not need to use this class. They can just use
->slicing utility from the host language ( M[0:6] in Python, M(1:7) )
->
->C++ includes: slice.hpp 
--}
-newtype Slice = Slice (ForeignPtr Slice')
--- typeclass decl
-class SliceClass a where
-  castSlice :: a -> Slice
-instance SliceClass Slice where
-  castSlice = id
-
--- baseclass instances
-instance PrintableObjectClass Slice where
-  castPrintableObject (Slice x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Slice (Ptr Slice') where
-  marshal (Slice x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Slice x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Slice" 
-  c_delete_CasADi__Slice :: FunPtr (Ptr Slice' -> IO ())
-instance WrapReturn (Ptr Slice') Slice where
-  wrapReturn = (fmap Slice) . (newForeignPtr c_delete_CasADi__Slice)
-
-
--- raw decl
-data CustomEvaluate'
--- data decl
-{-|
->[INTERNAL]   CustomEvaluate.
->
->In C++, supply a CustomEvaluateCPtr function pointer
->
->In python, supply a callable, annotated with pyevaluate decorator
->
->C++ includes: functor.hpp 
--}
-newtype CustomEvaluate = CustomEvaluate (ForeignPtr CustomEvaluate')
--- typeclass decl
-class CustomEvaluateClass a where
-  castCustomEvaluate :: a -> CustomEvaluate
-instance CustomEvaluateClass CustomEvaluate where
-  castCustomEvaluate = id
-
--- baseclass instances
-instance SharedObjectClass CustomEvaluate where
-  castSharedObject (CustomEvaluate x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass CustomEvaluate where
-  castPrintableObject (CustomEvaluate x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal CustomEvaluate (Ptr CustomEvaluate') where
-  marshal (CustomEvaluate x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CustomEvaluate x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__CustomEvaluate" 
-  c_delete_CasADi__CustomEvaluate :: FunPtr (Ptr CustomEvaluate' -> IO ())
-instance WrapReturn (Ptr CustomEvaluate') CustomEvaluate where
-  wrapReturn = (fmap CustomEvaluate) . (newForeignPtr c_delete_CasADi__CustomEvaluate)
-
-
--- raw decl
-data GenMX'
--- data decl
-{-|
->[INTERNAL]   Matrix base
->class.
->
->This is a common base class for MX and Matrix<>, introducing a uniform
->syntax and implementing common functionality using the curiously recurring
->template pattern (CRTP) idiom.  The class is designed with the idea that
->"everything is a matrix", that is, also scalars and vectors. This
->philosophy makes it easy to use and to interface in particularily with
->Python and Matlab/Octave.  The syntax tries to stay as close as possible to
->the ublas syntax when it comes to vector/matrix operations.  Index starts
->with 0. Index vec happens as follows: (rr,cc) -> k = rr+cc*size1() Vectors
->are column vectors.  The storage format is Compressed Column Storage (CCS),
->similar to that used for sparse matrices in Matlab, but unlike this format,
->we do allow for elements to be structurally non-zero but numerically zero.
->The sparsity pattern, which is reference counted and cached, can be accessed
->with Sparsity& sparsity() Joel Andersson
->
->C++ includes: generic_matrix.hpp 
--}
-newtype GenMX = GenMX (ForeignPtr GenMX')
--- typeclass decl
-class GenMXClass a where
-  castGenMX :: a -> GenMX
-instance GenMXClass GenMX where
-  castGenMX = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal GenMX (Ptr GenMX') where
-  marshal (GenMX x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (GenMX x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__GenericMatrix_CasADi__MX_" 
-  c_delete_CasADi__GenericMatrix_CasADi__MX_ :: FunPtr (Ptr GenMX' -> IO ())
-instance WrapReturn (Ptr GenMX') GenMX where
-  wrapReturn = (fmap GenMX) . (newForeignPtr c_delete_CasADi__GenericMatrix_CasADi__MX_)
-
-
--- raw decl
-data ControlSimulator'
--- data decl
-{-|
->[INTERNAL]  Piecewise
->Simulation class.
->
->A ControlSimulator can be seen as a chain of Simulators whereby some
->parameters change from one Simulator to the next.
->
->These changing parameters can typically be interpreted as "controls" in
->the context of dynamic optimization.
->
->We discriminate between the following time steps: Major time-steps. These
->are the time steps provided by the supplied grid. Controls are constant
->inbetween major time-steps  Minor time-steps. These are time steps linearly
->interpolated from one major time-step to the next. The option 'nf' regulates
->how many minor time-steps are taken.  Integration time-steps. Time steps
->that the supplied integrator might choose to integrate the continous
->dynamics. They are not important what ControlSimulator is concerned.  np
->Number of parameters nu Number of controls ns The number of major grid
->points, as supplied in the constructor nf The number of minor grid points
->per major interval
->
->Joris Gillis
->
->>Input scheme: CasADi::ControlSimulatorInput (CONTROLSIMULATOR_NUM_IN = 4) [controlsimulatorIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| CONTROLSIMULATOR_X0    | x0                     | Differential or        |
->|                        |                        | algebraic state at t0  |
->|                        |                        | (dimension nx-by-1) .  |
->+------------------------+------------------------+------------------------+
->| CONTROLSIMULATOR_P     | p                      | Parameters that are    |
->|                        |                        | fixed over the entire  |
->|                        |                        | horizon (dimension np- |
->|                        |                        | by-1) .                |
->+------------------------+------------------------+------------------------+
->| CONTROLSIMULATOR_U     | u                      | Parameters that change |
->|                        |                        | over the integration   |
->|                        |                        | intervals (dimension   |
->|                        |                        | nu-by-(ns-1)) .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| control_endp | OT_BOOLEAN   | false        | Include a    | CasADi::Cont |
->| oint         |              |              | control      | rolSimulator |
->|              |              |              | value at the | Internal     |
->|              |              |              | end of the   |              |
->|              |              |              | simulation   |              |
->|              |              |              | domain. Used |              |
->|              |              |              | for interpol |              |
->|              |              |              | ation.       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| control_inte | OT_STRING    | "none"       | none|nearest | CasADi::Cont |
->| rpolation    |              |              | |linear      | rolSimulator |
->|              |              |              |              | Internal     |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| integrator   | OT_INTEGRATO | GenericType( | An           | CasADi::Cont |
->|              | R            | )            | integrator   | rolSimulator |
->|              |              |              | creator      | Internal     |
->|              |              |              | function     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| integrator_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::Cont |
->| ptions       | Y            | )            | be passed to | rolSimulator |
->|              |              |              | the          | Internal     |
->|              |              |              | integrator   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| minor_grid   | OT_INTEGERVE | GenericType( | The local    | CasADi::Cont |
->|              | CTOR         | )            | grid used on | rolSimulator |
->|              |              |              | each major   | Internal     |
->|              |              |              | interval,    |              |
->|              |              |              | with time    |              |
->|              |              |              | normalized   |              |
->|              |              |              | to 1. By     |              |
->|              |              |              | default,     |              |
->|              |              |              | option 'nf'  |              |
->|              |              |              | is used to   |              |
->|              |              |              | construct a  |              |
->|              |              |              | linearly     |              |
->|              |              |              | spaced grid. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| nf           | OT_INTEGER   | 1            | Number of    | CasADi::Cont |
->|              |              |              | minor        | rolSimulator |
->|              |              |              | grained      | Internal     |
->|              |              |              | integration  |              |
->|              |              |              | steps per    |              |
->|              |              |              | major        |              |
->|              |              |              | interval.    |              |
->|              |              |              | nf>0 must    |              |
->|              |              |              | hold. This   |              |
->|              |              |              | option is    |              |
->|              |              |              | not used     |              |
->|              |              |              | when         |              |
->|              |              |              | 'minor_grid' |              |
->|              |              |              | is provided. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| simulator_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::Cont |
->| tions        | Y            | )            | be passed to | rolSimulator |
->|              |              |              | the          | Internal     |
->|              |              |              | simulator    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: control_simulator.hpp 
--}
-newtype ControlSimulator = ControlSimulator (ForeignPtr ControlSimulator')
--- typeclass decl
-class ControlSimulatorClass a where
-  castControlSimulator :: a -> ControlSimulator
-instance ControlSimulatorClass ControlSimulator where
-  castControlSimulator = id
-
--- baseclass instances
-instance SharedObjectClass ControlSimulator where
-  castSharedObject (ControlSimulator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass ControlSimulator where
-  castPrintableObject (ControlSimulator x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass ControlSimulator where
-  castOptionsFunctionality (ControlSimulator x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass ControlSimulator where
-  castFunction (ControlSimulator x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass ControlSimulator where
-  castIOInterfaceFunction (ControlSimulator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal ControlSimulator (Ptr ControlSimulator') where
-  marshal (ControlSimulator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ControlSimulator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__ControlSimulator" 
-  c_delete_CasADi__ControlSimulator :: FunPtr (Ptr ControlSimulator' -> IO ())
-instance WrapReturn (Ptr ControlSimulator') ControlSimulator where
-  wrapReturn = (fmap ControlSimulator) . (newForeignPtr c_delete_CasADi__ControlSimulator)
-
-
-
-
--- raw decl
-data IMatrix'
--- data decl
-{-|
->[INTERNAL]  Sparse matrix class. SX
->and DMatrix are specializations.
->
->General sparse matrix class that is designed with the idea that "everything
->is a matrix", that is, also scalars and vectors. This philosophy makes it
->easy to use and to interface in particularily with Python and Matlab/Octave.
->Index starts with 0. Index vec happens as follows: (rr,cc) -> k =
->rr+cc*size1() Vectors are column vectors.  The storage format is Compressed
->Column Storage (CCS), similar to that used for sparse matrices in Matlab,
->but unlike this format, we do allow for elements to be structurally non-zero
->but numerically zero. Matrix<DataType> is polymorphic with a
->std::vector<DataType> that contain all non- identical-zero elements. The
->sparsity can be accessed with Sparsity& sparsity() Joel Andersson
->
->C++ includes: casadi_types.hpp 
--}
-newtype IMatrix = IMatrix (ForeignPtr IMatrix')
--- typeclass decl
-class IMatrixClass a where
-  castIMatrix :: a -> IMatrix
-instance IMatrixClass IMatrix where
-  castIMatrix = id
-
--- baseclass instances
-instance PrintableObjectClass IMatrix where
-  castPrintableObject (IMatrix x) = PrintableObject (castForeignPtr x)
-
-instance GenIMatrixClass IMatrix where
-  castGenIMatrix (IMatrix x) = GenIMatrix (castForeignPtr x)
-
-instance ExpIMatrixClass IMatrix where
-  castExpIMatrix (IMatrix x) = ExpIMatrix (castForeignPtr x)
-
-
--- helper instances
-instance Marshal IMatrix (Ptr IMatrix') where
-  marshal (IMatrix x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (IMatrix x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Matrix_int_" 
-  c_delete_CasADi__Matrix_int_ :: FunPtr (Ptr IMatrix' -> IO ())
-instance WrapReturn (Ptr IMatrix') IMatrix where
-  wrapReturn = (fmap IMatrix) . (newForeignPtr c_delete_CasADi__Matrix_int_)
-
-
--- raw decl
-data SXElement'
--- data decl
-{-|
->[INTERNAL]  The basic scalar
->symbolic class of CasADi.
->
->Joel Andersson
->
->C++ includes: sx_element.hpp 
--}
-newtype SXElement = SXElement (ForeignPtr SXElement')
--- typeclass decl
-class SXElementClass a where
-  castSXElement :: a -> SXElement
-instance SXElementClass SXElement where
-  castSXElement = id
-
--- baseclass instances
-instance ExpSXElementClass SXElement where
-  castExpSXElement (SXElement x) = ExpSXElement (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SXElement (Ptr SXElement') where
-  marshal (SXElement x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SXElement x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SXElement" 
-  c_delete_CasADi__SXElement :: FunPtr (Ptr SXElement' -> IO ())
-instance WrapReturn (Ptr SXElement') SXElement where
-  wrapReturn = (fmap SXElement) . (newForeignPtr c_delete_CasADi__SXElement)
-
-
--- raw decl
-data SCPgen'
--- data decl
-{-|
->[INTERNAL]  A structure-exploiting
->sequential quadratic programming (to be come sequential convex programming)
->method for nonlinear programming.
->
->Joel Andersson, Attila Kozma and Joris Gillis
->
->>Input scheme: CasADi::NLPSolverInput (NLP_SOLVER_NUM_IN = 9) [nlpSolverIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X0          | x0                     | Decision variables,    |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_P           | p                      | Value of fixed         |
->|                        |                        | parameters (np x 1) .  |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBX         | lbx                    | Decision variables     |
->|                        |                        | lower bound (nx x 1),  |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBX         | ubx                    | Decision variables     |
->|                        |                        | upper bound (nx x 1),  |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBG         | lbg                    | Constraints lower      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBG         | ubg                    | Constraints upper      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X0      | lam_x0                 | Lagrange multipliers   |
->|                        |                        | for bounds on X,       |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G0      | lam_g0                 | Lagrange multipliers   |
->|                        |                        | for bounds on G,       |
->|                        |                        | initial guess (ng x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::NLPSolverOutput (NLP_SOLVER_NUM_OUT = 7) [nlpSolverOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X           | x                      | Decision variables at  |
->|                        |                        | the optimal solution   |
->|                        |                        | (nx x 1) .             |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_F           | f                      | Cost function value at |
->|                        |                        | the optimal solution   |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_G           | g                      | Constraints function   |
->|                        |                        | at the optimal         |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X       | lam_x                  | Lagrange multipliers   |
->|                        |                        | for bounds on X at the |
->|                        |                        | solution (nx x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G       | lam_g                  | Lagrange multipliers   |
->|                        |                        | for bounds on G at the |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_P       | lam_p                  | Lagrange multipliers   |
->|                        |                        | for bounds on P at the |
->|                        |                        | solution (np x 1) .    |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| beta         | OT_REAL      | 0.800        | Line-search  | CasADi::SCPg |
->|              |              |              | parameter,   | enInternal   |
->|              |              |              | restoration  |              |
->|              |              |              | factor of    |              |
->|              |              |              | stepsize     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| c1           | OT_REAL      | 0.000        | Armijo       | CasADi::SCPg |
->|              |              |              | condition,   | enInternal   |
->|              |              |              | coefficient  |              |
->|              |              |              | of decrease  |              |
->|              |              |              | in merit     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| codegen      | OT_BOOLEAN   | false        | C-code       | CasADi::SCPg |
->|              |              |              | generation   | enInternal   |
->+--------------+--------------+--------------+--------------+--------------+
->| compiler     | OT_STRING    | "gcc -fPIC   | Compiler     | CasADi::SCPg |
->|              |              | -O2"         | command to   | enInternal   |
->|              |              |              | be used for  |              |
->|              |              |              | compiling    |              |
->|              |              |              | generated    |              |
->|              |              |              | code         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand       | OT_BOOLEAN   | false        | Expand the   | CasADi::NLPS |
->|              |              |              | NLP function | olverInterna |
->|              |              |              | in terms of  | l            |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_f     | OT_BOOLEAN   | GenericType( | Expand the   | CasADi::NLPS |
->|              |              | )            | objective    | olverInterna |
->|              |              |              | function in  | l            |
->|              |              |              | terms of     |              |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX. |              |
->|              |              |              | Deprecated,  |              |
->|              |              |              | use "expand" |              |
->|              |              |              | instead.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_g     | OT_BOOLEAN   | GenericType( | Expand the   | CasADi::NLPS |
->|              |              | )            | constraint   | olverInterna |
->|              |              |              | function in  | l            |
->|              |              |              | terms of     |              |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX. |              |
->|              |              |              | Deprecated,  |              |
->|              |              |              | use "expand" |              |
->|              |              |              | instead.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gauss_newton | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->|              |              | )            | option. Use  | olverInterna |
->|              |              |              | Gauss Newton | l            |
->|              |              |              | Hessian appr |              |
->|              |              |              | oximation    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_gra | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| dient        |              | )            | option.      | olverInterna |
->|              |              |              | Generate a   | l            |
->|              |              |              | function for |              |
->|              |              |              | calculating  |              |
->|              |              |              | the gradient |              |
->|              |              |              | of the       |              |
->|              |              |              | objective.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_hes | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| sian         |              | )            | option.      | olverInterna |
->|              |              |              | Generate an  | l            |
->|              |              |              | exact        |              |
->|              |              |              | Hessian of   |              |
->|              |              |              | the          |              |
->|              |              |              | Lagrangian   |              |
->|              |              |              | if not       |              |
->|              |              |              | supplied.    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_jac | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| obian        |              | )            | option.      | olverInterna |
->|              |              |              | Generate an  | l            |
->|              |              |              | exact        |              |
->|              |              |              | Jacobian of  |              |
->|              |              |              | the          |              |
->|              |              |              | constraints  |              |
->|              |              |              | if not       |              |
->|              |              |              | supplied.    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| hessian_appr | OT_STRING    | "exact"      | gauss-       | CasADi::SCPg |
->| oximation    |              |              | newton|exact | enInternal   |
->+--------------+--------------+--------------+--------------+--------------+
->| ignore_check | OT_BOOLEAN   | false        | If set to    | CasADi::NLPS |
->| _vec         |              |              | true, the    | olverInterna |
->|              |              |              | input shape  | l            |
->|              |              |              | of F will    |              |
->|              |              |              | not be       |              |
->|              |              |              | checked.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_CALLBACK  | GenericType( | A function   | CasADi::NLPS |
->| llback       |              | )            | that will be | olverInterna |
->|              |              |              | called at    | l            |
->|              |              |              | each         |              |
->|              |              |              | iteration    |              |
->|              |              |              | with the     |              |
->|              |              |              | solver as    |              |
->|              |              |              | input. Check |              |
->|              |              |              | documentatio |              |
->|              |              |              | n of         |              |
->|              |              |              | Callback .   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_BOOLEAN   | false        | If set to    | CasADi::NLPS |
->| llback_ignor |              |              | true, errors | olverInterna |
->| e_errors     |              |              | thrown by it | l            |
->|              |              |              | eration_call |              |
->|              |              |              | back will be |              |
->|              |              |              | ignored.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_INTEGER   | 1            | Only call    | CasADi::NLPS |
->| llback_step  |              |              | the callback | olverInterna |
->|              |              |              | function     | l            |
->|              |              |              | every few    |              |
->|              |              |              | iterations.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| lbfgs_memory | OT_INTEGER   | 10           | Size of      | CasADi::SCPg |
->|              |              |              | L-BFGS       | enInternal   |
->|              |              |              | memory.      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_iter     | OT_INTEGER   | 50           | Maximum      | CasADi::SCPg |
->|              |              |              | number of    | enInternal   |
->|              |              |              | SQP          |              |
->|              |              |              | iterations   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_iter_ls  | OT_INTEGER   | 1            | Maximum      | CasADi::SCPg |
->|              |              |              | number of    | enInternal   |
->|              |              |              | linesearch   |              |
->|              |              |              | iterations   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| merit_memsiz | OT_INTEGER   | 4            | Size of      | CasADi::SCPg |
->| e            |              |              | memory to    | enInternal   |
->|              |              |              | store        |              |
->|              |              |              | history of   |              |
->|              |              |              | merit        |              |
->|              |              |              | function     |              |
->|              |              |              | values       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| merit_start  | OT_REAL      | 0.000        | Lower bound  | CasADi::SCPg |
->|              |              |              | for the      | enInternal   |
->|              |              |              | merit        |              |
->|              |              |              | function     |              |
->|              |              |              | parameter    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp | CasADi::SCPg |
->|              |              |              | uts)  (eval_ | enInternal   |
->|              |              |              | f|eval_g|eva |              |
->|              |              |              | l_jac_g|eval |              |
->|              |              |              | _grad_f|eval |              |
->|              |              |              | _h|qp|dx)    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| name_x       | OT_STRINGVEC | GenericType( | Names of the | CasADi::SCPg |
->|              | TOR          | )            | variables.   | enInternal   |
->+--------------+--------------+--------------+--------------+--------------+
->| parametric   | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->|              |              | )            | option.      | olverInterna |
->|              |              |              | Expect F, G, | l            |
->|              |              |              | H, J to have |              |
->|              |              |              | an           |              |
->|              |              |              | additional   |              |
->|              |              |              | input        |              |
->|              |              |              | argument     |              |
->|              |              |              | appended at  |              |
->|              |              |              | the end,     |              |
->|              |              |              | denoting     |              |
->|              |              |              | fixed        |              |
->|              |              |              | parameters.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_header | OT_BOOLEAN   | true         | Print the    | CasADi::SCPg |
->|              |              |              | header with  | enInternal   |
->|              |              |              | problem      |              |
->|              |              |              | statistics   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_time   | OT_BOOLEAN   | true         | Print        | CasADi::SCPg |
->|              |              |              | information  | enInternal   |
->|              |              |              | about        |              |
->|              |              |              | execution    |              |
->|              |              |              | time         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_x      | OT_INTEGERVE | GenericType( | Which        | CasADi::SCPg |
->|              | CTOR         | )            | variables to | enInternal   |
->|              |              |              | print.       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| qp_solver    | OT_QPSOLVER  | GenericType( | The QP       | CasADi::SCPg |
->|              |              | )            | solver to be | enInternal   |
->|              |              |              | used by the  |              |
->|              |              |              | SQP method   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| qp_solver_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::SCPg |
->| tions        | Y            | )            | be passed to | enInternal   |
->|              |              |              | the QP       |              |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| reg_threshol | OT_REAL      | 0.000        | Threshold    | CasADi::SCPg |
->| d            |              |              | for the regu | enInternal   |
->|              |              |              | larization.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularize   | OT_BOOLEAN   | false        | Automatic re | CasADi::SCPg |
->|              |              |              | gularization | enInternal   |
->|              |              |              | of Lagrange  |              |
->|              |              |              | Hessian.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tol_du       | OT_REAL      | 0.000        | Stopping     | CasADi::SCPg |
->|              |              |              | criterion    | enInternal   |
->|              |              |              | for dual inf |              |
->|              |              |              | easability   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tol_pr       | OT_REAL      | 0.000        | Stopping     | CasADi::SCPg |
->|              |              |              | criterion    | enInternal   |
->|              |              |              | for primal i |              |
->|              |              |              | nfeasibility |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tol_pr_step  | OT_REAL      | 0.000        | Stopping     | CasADi::SCPg |
->|              |              |              | criterion    | enInternal   |
->|              |              |              | for the step |              |
->|              |              |              | size         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tol_reg      | OT_REAL      | 0.000        | Stopping     | CasADi::SCPg |
->|              |              |              | criterion    | enInternal   |
->|              |              |              | for regulari |              |
->|              |              |              | zation       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warn_initial | OT_BOOLEAN   | false        | Warn if the  | CasADi::NLPS |
->| _bounds      |              |              | initial      | olverInterna |
->|              |              |              | guess does   | l            |
->|              |              |              | not satisfy  |              |
->|              |              |              | LBX and UBX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->+-------------+--------------------------+
->|     Id      |         Used in          |
->+=============+==========================+
->| dx          | CasADi::SCPgenInternal   |
->+-------------+--------------------------+
->| eval_f      | CasADi::SCPgenInternal   |
->+-------------+--------------------------+
->| eval_g      | CasADi::SCPgenInternal   |
->+-------------+--------------------------+
->| eval_grad_f | CasADi::SCPgenInternal   |
->+-------------+--------------------------+
->| eval_h      | CasADi::SCPgenInternal   |
->+-------------+--------------------------+
->| eval_jac_g  | CasADi::SCPgenInternal   |
->+-------------+--------------------------+
->| inputs      | CasADi::FunctionInternal |
->+-------------+--------------------------+
->| outputs     | CasADi::FunctionInternal |
->+-------------+--------------------------+
->| qp          | CasADi::SCPgenInternal   |
->+-------------+--------------------------+
->
->>List of available stats
->+------------+------------------------+
->|     Id     |        Used in         |
->+============+========================+
->| iter_count | CasADi::SCPgenInternal |
->+------------+------------------------+
->
->Diagrams
->
->C++ includes: scpgen.hpp 
--}
-newtype SCPgen = SCPgen (ForeignPtr SCPgen')
--- typeclass decl
-class SCPgenClass a where
-  castSCPgen :: a -> SCPgen
-instance SCPgenClass SCPgen where
-  castSCPgen = id
-
--- baseclass instances
-instance SharedObjectClass SCPgen where
-  castSharedObject (SCPgen x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SCPgen where
-  castPrintableObject (SCPgen x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SCPgen where
-  castOptionsFunctionality (SCPgen x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SCPgen where
-  castFunction (SCPgen x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SCPgen where
-  castIOInterfaceFunction (SCPgen x) = IOInterfaceFunction (castForeignPtr x)
-
-instance NLPSolverClass SCPgen where
-  castNLPSolver (SCPgen x) = NLPSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SCPgen (Ptr SCPgen') where
-  marshal (SCPgen x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SCPgen x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SCPgen" 
-  c_delete_CasADi__SCPgen :: FunPtr (Ptr SCPgen' -> IO ())
-instance WrapReturn (Ptr SCPgen') SCPgen where
-  wrapReturn = (fmap SCPgen) . (newForeignPtr c_delete_CasADi__SCPgen)
-
-
--- raw decl
-data NLPImplicitSolver'
--- data decl
-{-|
->[INTERNAL]  Use an
->NLPSolver as ImplicitFunction solver.
->
->The equation:
->
->F(z, x1, x2, ..., xn) == 0
->
->where d_F/dz is invertable, implicitly defines the equation:
->
->z := G(x1, x2, ..., xn)
->
->F should be an Function mapping from (n+1) inputs to m outputs. The first
->output is the residual that should be zero.
->
->ImplicitFunction (G) is an Function mapping from n inputs to m outputs. n
->may be zero. The first output is the solved for z.
->
->You can provide an initial guess for z by setting output(0) of
->ImplicitFunction.
->
->Joris Gillis
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| constraints  | OT_INTEGERVE | GenericType( | Constrain    | CasADi::Impl |
->|              | CTOR         | )            | the          | icitFunction |
->|              |              |              | unknowns. 0  | Internal     |
->|              |              |              | (default):   |              |
->|              |              |              | no           |              |
->|              |              |              | constraint   |              |
->|              |              |              | on ui, 1: ui |              |
->|              |              |              | >= 0.0, -1:  |              |
->|              |              |              | ui <= 0.0,   |              |
->|              |              |              | 2: ui > 0.0, |              |
->|              |              |              | -2: ui <     |              |
->|              |              |              | 0.0.         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_inp | OT_INTEGER   | 0            | Index of the | CasADi::Impl |
->| ut           |              |              | input that   | icitFunction |
->|              |              |              | corresponds  | Internal     |
->|              |              |              | to the       |              |
->|              |              |              | actual root- |              |
->|              |              |              | finding      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_out | OT_INTEGER   | 0            | Index of the | CasADi::Impl |
->| put          |              |              | output that  | icitFunction |
->|              |              |              | corresponds  | Internal     |
->|              |              |              | to the       |              |
->|              |              |              | actual root- |              |
->|              |              |              | finding      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_LINEARSOL | GenericType( | User-defined | CasADi::Impl |
->| r            | VER          | )            | linear       | icitFunction |
->|              |              |              | solver       | Internal     |
->|              |              |              | class.       |              |
->|              |              |              | Needed for s |              |
->|              |              |              | ensitivities |              |
->|              |              |              | .            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | CasADi::Impl |
->| r_options    | Y            | )            | be passed to | icitFunction |
->|              |              |              | the linear   | Internal     |
->|              |              |              | solver.      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver   | OT_NLPSOLVER | GenericType( | The          | CasADi::NLPI |
->|              |              | )            | NLPSolver    | mplicitInter |
->|              |              |              | used to      | nal          |
->|              |              |              | solve the    |              |
->|              |              |              | implicit     |              |
->|              |              |              | system.      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::NLPI |
->| ptions       | Y            | )            | be passed to | mplicitInter |
->|              |              |              | the          | nal          |
->|              |              |              | NLPSolver    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available stats
->+------------------+-----------------------------+
->|        Id        |           Used in           |
->+==================+=============================+
->| nlp_solver_stats | CasADi::NLPImplicitInternal |
->+------------------+-----------------------------+
->
->Diagrams
->
->C++ includes: nlp_implicit_solver.hpp 
--}
-newtype NLPImplicitSolver = NLPImplicitSolver (ForeignPtr NLPImplicitSolver')
--- typeclass decl
-class NLPImplicitSolverClass a where
-  castNLPImplicitSolver :: a -> NLPImplicitSolver
-instance NLPImplicitSolverClass NLPImplicitSolver where
-  castNLPImplicitSolver = id
-
--- baseclass instances
-instance SharedObjectClass NLPImplicitSolver where
-  castSharedObject (NLPImplicitSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass NLPImplicitSolver where
-  castPrintableObject (NLPImplicitSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass NLPImplicitSolver where
-  castOptionsFunctionality (NLPImplicitSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass NLPImplicitSolver where
-  castFunction (NLPImplicitSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass NLPImplicitSolver where
-  castIOInterfaceFunction (NLPImplicitSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-instance ImplicitFunctionClass NLPImplicitSolver where
-  castImplicitFunction (NLPImplicitSolver x) = ImplicitFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal NLPImplicitSolver (Ptr NLPImplicitSolver') where
-  marshal (NLPImplicitSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (NLPImplicitSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__NLPImplicitSolver" 
-  c_delete_CasADi__NLPImplicitSolver :: FunPtr (Ptr NLPImplicitSolver' -> IO ())
-instance WrapReturn (Ptr NLPImplicitSolver') NLPImplicitSolver where
-  wrapReturn = (fmap NLPImplicitSolver) . (newForeignPtr c_delete_CasADi__NLPImplicitSolver)
-
-
--- raw decl
-data ExternalFunction'
--- data decl
-{-|
->[INTERNAL]  Interface for a
->function that is not implemented by CasADi symbolics.
->
->Joel Andersson
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: external_function.hpp 
--}
-newtype ExternalFunction = ExternalFunction (ForeignPtr ExternalFunction')
--- typeclass decl
-class ExternalFunctionClass a where
-  castExternalFunction :: a -> ExternalFunction
-instance ExternalFunctionClass ExternalFunction where
-  castExternalFunction = id
-
--- baseclass instances
-instance SharedObjectClass ExternalFunction where
-  castSharedObject (ExternalFunction x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass ExternalFunction where
-  castPrintableObject (ExternalFunction x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass ExternalFunction where
-  castOptionsFunctionality (ExternalFunction x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass ExternalFunction where
-  castFunction (ExternalFunction x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass ExternalFunction where
-  castIOInterfaceFunction (ExternalFunction x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal ExternalFunction (Ptr ExternalFunction') where
-  marshal (ExternalFunction x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ExternalFunction x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__ExternalFunction" 
-  c_delete_CasADi__ExternalFunction :: FunPtr (Ptr ExternalFunction' -> IO ())
-instance WrapReturn (Ptr ExternalFunction') ExternalFunction where
-  wrapReturn = (fmap ExternalFunction) . (newForeignPtr c_delete_CasADi__ExternalFunction)
-
-
--- raw decl
-data SimpleIndefDpleSolver'
--- data decl
-{-|
->[INTERNAL]  Solving
->the Discrete Periodic Lyapunov Equations with regular Linear Solvers.
->
->Given matrices A_k and symmetric V_k, k = 0..K-1
->
->A_k in R^(n x n) V_k in R^n
->
->provides all of P_k that satisfy:
->
->P_0 = A_(K-1)*P_(K-1)*A_(K-1)' + V_k P_k+1 = A_k*P_k*A_k' + V_k for k =
->1..K-1
->
->Uses Periodic Schur Decomposition (simple) and does not assume positive
->definiteness. Based on Periodic Lyapunov equations: some applications and
->new algorithms. Int. J. Control, vol. 67, pp. 69-87, 1997.
->
->Joris gillis
->
->>Input scheme: CasADi::DPLEInput (DPLE_NUM_IN = 3) [dpleIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| DPLE_A                 | a                      | A matrices (horzcat    |
->|                        |                        | when const_dim,        |
->|                        |                        | blkdiag otherwise) .   |
->+------------------------+------------------------+------------------------+
->| DPLE_V                 | v                      | V matrices (horzcat    |
->|                        |                        | when const_dim,        |
->|                        |                        | blkdiag otherwise) .   |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::DPLEOutput (DPLE_NUM_OUT = 2) [dpleOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| DPLE_P                 | p                      | Lyapunov matrix        |
->|                        |                        | (horzcat when          |
->|                        |                        | const_dim, blkdiag     |
->|                        |                        | otherwise) (cholesky   |
->|                        |                        | of P if pos_def) .     |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| const_dim    | OT_BOOLEAN   | true         | Assume       | CasADi::Dple |
->|              |              |              | constant     | Internal     |
->|              |              |              | dimension of |              |
->|              |              |              | P            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eps_unstable | OT_REAL      | 0.000        | A margin for | CasADi::Dple |
->|              |              |              | unstability  | Internal     |
->|              |              |              | detection    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| error_unstab | OT_BOOLEAN   | false        | Throw an     | CasADi::Dple |
->| le           |              |              | exception    | Internal     |
->|              |              |              | when it is   |              |
->|              |              |              | detected     |              |
->|              |              |              | that Product |              |
->|              |              |              | (A_i,i=N..1) |              |
->|              |              |              | has          |              |
->|              |              |              | eigenvalues  |              |
->|              |              |              | greater than |              |
->|              |              |              | 1-eps_unstab |              |
->|              |              |              | le           |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_LINEARSOL | GenericType( | User-defined | CasADi::Simp |
->| r            | VER          | )            | linear       | leIndefDpleI |
->|              |              |              | solver       | nternal      |
->|              |              |              | class.       |              |
->|              |              |              | Needed for s |              |
->|              |              |              | ensitivities |              |
->|              |              |              | .            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | CasADi::Simp |
->| r_options    | Y            | )            | be passed to | leIndefDpleI |
->|              |              |              | the linear   | nternal      |
->|              |              |              | solver.      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| pos_def      | OT_BOOLEAN   | false        | Assume P     | CasADi::Dple |
->|              |              |              | positive     | Internal     |
->|              |              |              | definite     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: simple_indef_dple_solver.hpp 
--}
-newtype SimpleIndefDpleSolver = SimpleIndefDpleSolver (ForeignPtr SimpleIndefDpleSolver')
--- typeclass decl
-class SimpleIndefDpleSolverClass a where
-  castSimpleIndefDpleSolver :: a -> SimpleIndefDpleSolver
-instance SimpleIndefDpleSolverClass SimpleIndefDpleSolver where
-  castSimpleIndefDpleSolver = id
-
--- baseclass instances
-instance SharedObjectClass SimpleIndefDpleSolver where
-  castSharedObject (SimpleIndefDpleSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SimpleIndefDpleSolver where
-  castPrintableObject (SimpleIndefDpleSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SimpleIndefDpleSolver where
-  castOptionsFunctionality (SimpleIndefDpleSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SimpleIndefDpleSolver where
-  castFunction (SimpleIndefDpleSolver x) = Function (castForeignPtr x)
-
-instance DpleSolverClass SimpleIndefDpleSolver where
-  castDpleSolver (SimpleIndefDpleSolver x) = DpleSolver (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SimpleIndefDpleSolver where
-  castIOInterfaceFunction (SimpleIndefDpleSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SimpleIndefDpleSolver (Ptr SimpleIndefDpleSolver') where
-  marshal (SimpleIndefDpleSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SimpleIndefDpleSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SimpleIndefDpleSolver" 
-  c_delete_CasADi__SimpleIndefDpleSolver :: FunPtr (Ptr SimpleIndefDpleSolver' -> IO ())
-instance WrapReturn (Ptr SimpleIndefDpleSolver') SimpleIndefDpleSolver where
-  wrapReturn = (fmap SimpleIndefDpleSolver) . (newForeignPtr c_delete_CasADi__SimpleIndefDpleSolver)
-
-
--- raw decl
-data DirectCollocation'
--- data decl
-{-|
->[INTERNAL]  Direct
->collocation.
->
->Joel Andersson
->
->>Input scheme: CasADi::OCPInput (OCP_NUM_IN = 14) [ocpIn]
->+------------+--------+----------------------------------------------+
->| Full name  | Short  |                 Description                  |
->+============+========+==============================================+
->| OCP_LBX    | lbx    | States lower bounds (nx x (ns+1)) .          |
->+------------+--------+----------------------------------------------+
->| OCP_UBX    | ubx    | States upper bounds (nx x (ns+1)) .          |
->+------------+--------+----------------------------------------------+
->| OCP_X_INIT | x_init | States initial guess (nx x (ns+1)) .         |
->+------------+--------+----------------------------------------------+
->| OCP_LBU    | lbu    | Controls lower bounds (nu x ns) .            |
->+------------+--------+----------------------------------------------+
->| OCP_UBU    | ubu    | Controls upper bounds (nu x ns) .            |
->+------------+--------+----------------------------------------------+
->| OCP_U_INIT | u_init | Controls initial guess (nu x ns) .           |
->+------------+--------+----------------------------------------------+
->| OCP_LBP    | lbp    | Parameters lower bounds (np x 1) .           |
->+------------+--------+----------------------------------------------+
->| OCP_UBP    | ubp    | Parameters upper bounds (np x 1) .           |
->+------------+--------+----------------------------------------------+
->| OCP_P_INIT | p_init | Parameters initial guess (np x 1) .          |
->+------------+--------+----------------------------------------------+
->| OCP_LBH    | lbh    | Point constraint lower bound (nh x (ns+1)) . |
->+------------+--------+----------------------------------------------+
->| OCP_UBH    | ubh    | Point constraint upper bound (nh x (ns+1)) . |
->+------------+--------+----------------------------------------------+
->| OCP_LBG    | lbg    | Lower bound for the coupling constraints .   |
->+------------+--------+----------------------------------------------+
->| OCP_UBG    | ubg    | Upper bound for the coupling constraints .   |
->+------------+--------+----------------------------------------------+
->
->>Output scheme: CasADi::OCPOutput (OCP_NUM_OUT = 5) [ocpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| OCP_X_OPT              | x_opt                  | Optimal state          |
->|                        |                        | trajectory .           |
->+------------------------+------------------------+------------------------+
->| OCP_U_OPT              | u_opt                  | Optimal control        |
->|                        |                        | trajectory .           |
->+------------------------+------------------------+------------------------+
->| OCP_P_OPT              | p_opt                  | Optimal parameters .   |
->+------------------------+------------------------+------------------------+
->| OCP_COST               | cost                   | Objective/cost         |
->|                        |                        | function for optimal   |
->|                        |                        | solution (1 x 1) .     |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| collocation_ | OT_STRING    | "radau"      | Collocation  | CasADi::Dire |
->| scheme       |              |              | scheme (rada | ctCollocatio |
->|              |              |              | u|legendre)  | nInternal    |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| final_time   | OT_REAL      | 1            |              | CasADi::OCPS |
->|              |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| interpolatio | OT_INTEGER   | 3            | Order of the | CasADi::Dire |
->| n_order      |              |              | interpolatin | ctCollocatio |
->|              |              |              | g            | nInternal    |
->|              |              |              | polynomials  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver   | OT_NLPSOLVER | GenericType( | An NLPSolver | CasADi::Dire |
->|              |              | )            | creator      | ctCollocatio |
->|              |              |              | function     | nInternal    |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::Dire |
->| ptions       | Y            | )            | be passed to | ctCollocatio |
->|              |              |              | the NLP      | nInternal    |
->|              |              |              | Solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_gr | OT_INTEGER   | 20           |              | CasADi::OCPS |
->| id_points    |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_pa | OT_INTEGER   | 0            |              | CasADi::OCPS |
->| rameters     |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: direct_collocation.hpp 
--}
-newtype DirectCollocation = DirectCollocation (ForeignPtr DirectCollocation')
--- typeclass decl
-class DirectCollocationClass a where
-  castDirectCollocation :: a -> DirectCollocation
-instance DirectCollocationClass DirectCollocation where
-  castDirectCollocation = id
-
--- baseclass instances
-instance SharedObjectClass DirectCollocation where
-  castSharedObject (DirectCollocation x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass DirectCollocation where
-  castPrintableObject (DirectCollocation x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass DirectCollocation where
-  castOptionsFunctionality (DirectCollocation x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass DirectCollocation where
-  castFunction (DirectCollocation x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass DirectCollocation where
-  castIOInterfaceFunction (DirectCollocation x) = IOInterfaceFunction (castForeignPtr x)
-
-instance OCPSolverClass DirectCollocation where
-  castOCPSolver (DirectCollocation x) = OCPSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal DirectCollocation (Ptr DirectCollocation') where
-  marshal (DirectCollocation x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (DirectCollocation x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__DirectCollocation" 
-  c_delete_CasADi__DirectCollocation :: FunPtr (Ptr DirectCollocation' -> IO ())
-instance WrapReturn (Ptr DirectCollocation') DirectCollocation where
-  wrapReturn = (fmap DirectCollocation) . (newForeignPtr c_delete_CasADi__DirectCollocation)
-
-
--- raw decl
-data QPStabilizer'
--- data decl
-{-|
->[INTERNAL]  IPOPT QP Solver for
->quadratic programming.
->
->Solves the following strictly convex problem:
->
->min          1/2 x' H x + g' x   x  subject to             LBA <= A x <= UBA
->LBX <= x   <= UBX                  with :       H sparse (n x n) positive
->definite       g dense  (n x 1) n: number of decision variables (x)     nc:
->number of constraints (A)
->
->If H is not positive-definite, the solver should throw an error.
->
->Joris Gillis
->
->>Input scheme: CasADi::StabilizedQPSolverInput (STABILIZED_QP_SOLVER_NUM_IN = 13) [stabilizedQpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| STABILIZED_QP_SOLVER_H | h                      | The square matrix H:   |
->|                        |                        | sparse, (n x n). Only  |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical. .   |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_G | g                      | The vector g: dense,   |
->|                        |                        | (n x 1) .              |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_A | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_L | lba                    | dense, (nc x 1)        |
->| BA                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_U | uba                    | dense, (nc x 1)        |
->| BA                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_L | lbx                    | dense, (n x 1)         |
->| BX                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_U | ubx                    | dense, (n x 1)         |
->| BX                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_X | x0                     | dense, (n x 1)         |
->| 0                      |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_L | lam_x0                 | dense                  |
->| AM_X0                  |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_M | muR                    | dense (1 x 1)          |
->| UR                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_M | muE                    | dense (nc x 1)         |
->| UE                     |                        |                        |
->+------------------------+------------------------+------------------------+
->| STABILIZED_QP_SOLVER_M | mu                     | dense (nc x 1)         |
->| U                      |                        |                        |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::QPSolverOutput (QP_SOLVER_NUM_OUT = 5) [qpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QP_SOLVER_X            | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_COST         | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_A        | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_X        | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| qp_solver    | OT_QPSOLVER  | GenericType( | The QP       | CasADi::QPSt |
->|              |              | )            | solver used  | abilizerInte |
->|              |              |              | to solve the | rnal         |
->|              |              |              | stabilized   |              |
->|              |              |              | QPs.         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| qp_solver_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::QPSt |
->| tions        | Y            | )            | be passed to | abilizerInte |
->|              |              |              | the QP       | rnal         |
->|              |              |              | solver       |              |
->|              |              |              | instance     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available stats
->+-----------------+------------------------------+
->|       Id        |           Used in            |
->+=================+==============================+
->| qp_solver_stats | CasADi::QPStabilizerInternal |
->+-----------------+------------------------------+
->
->Diagrams
->
->C++ includes: qp_stabilizer.hpp 
--}
-newtype QPStabilizer = QPStabilizer (ForeignPtr QPStabilizer')
--- typeclass decl
-class QPStabilizerClass a where
-  castQPStabilizer :: a -> QPStabilizer
-instance QPStabilizerClass QPStabilizer where
-  castQPStabilizer = id
-
--- baseclass instances
-instance SharedObjectClass QPStabilizer where
-  castSharedObject (QPStabilizer x) = SharedObject (castForeignPtr x)
-
-instance StabilizedQPSolverClass QPStabilizer where
-  castStabilizedQPSolver (QPStabilizer x) = StabilizedQPSolver (castForeignPtr x)
-
-instance PrintableObjectClass QPStabilizer where
-  castPrintableObject (QPStabilizer x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass QPStabilizer where
-  castOptionsFunctionality (QPStabilizer x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass QPStabilizer where
-  castFunction (QPStabilizer x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass QPStabilizer where
-  castIOInterfaceFunction (QPStabilizer x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal QPStabilizer (Ptr QPStabilizer') where
-  marshal (QPStabilizer x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (QPStabilizer x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__QPStabilizer" 
-  c_delete_CasADi__QPStabilizer :: FunPtr (Ptr QPStabilizer' -> IO ())
-instance WrapReturn (Ptr QPStabilizer') QPStabilizer where
-  wrapReturn = (fmap QPStabilizer) . (newForeignPtr c_delete_CasADi__QPStabilizer)
-
-
--- raw decl
-data GenIMatrix'
--- data decl
-{-|
->[INTERNAL]   Matrix base
->class.
->
->This is a common base class for MX and Matrix<>, introducing a uniform
->syntax and implementing common functionality using the curiously recurring
->template pattern (CRTP) idiom.  The class is designed with the idea that
->"everything is a matrix", that is, also scalars and vectors. This
->philosophy makes it easy to use and to interface in particularily with
->Python and Matlab/Octave.  The syntax tries to stay as close as possible to
->the ublas syntax when it comes to vector/matrix operations.  Index starts
->with 0. Index vec happens as follows: (rr,cc) -> k = rr+cc*size1() Vectors
->are column vectors.  The storage format is Compressed Column Storage (CCS),
->similar to that used for sparse matrices in Matlab, but unlike this format,
->we do allow for elements to be structurally non-zero but numerically zero.
->The sparsity pattern, which is reference counted and cached, can be accessed
->with Sparsity& sparsity() Joel Andersson
->
->C++ includes: generic_matrix.hpp 
--}
-newtype GenIMatrix = GenIMatrix (ForeignPtr GenIMatrix')
--- typeclass decl
-class GenIMatrixClass a where
-  castGenIMatrix :: a -> GenIMatrix
-instance GenIMatrixClass GenIMatrix where
-  castGenIMatrix = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal GenIMatrix (Ptr GenIMatrix') where
-  marshal (GenIMatrix x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (GenIMatrix x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__GenericMatrix_CasADi__Matrix_int__" 
-  c_delete_CasADi__GenericMatrix_CasADi__Matrix_int__ :: FunPtr (Ptr GenIMatrix' -> IO ())
-instance WrapReturn (Ptr GenIMatrix') GenIMatrix where
-  wrapReturn = (fmap GenIMatrix) . (newForeignPtr c_delete_CasADi__GenericMatrix_CasADi__Matrix_int__)
-
-
--- raw decl
-data Callback'
--- data decl
-{-|
->[INTERNAL]   Callback.
->
->In C++, supply a CallbackCPtr function pointer When the callback function
->returns a non-zero integer, the host is signalled of a problem. E.g. an
->NLPSolver may halt iterations if the Callback is something else than 0
->
->In python, supply a callable, annotated with pycallback decorator
->
->C++ includes: functor.hpp 
--}
-newtype Callback = Callback (ForeignPtr Callback')
--- typeclass decl
-class CallbackClass a where
-  castCallback :: a -> Callback
-instance CallbackClass Callback where
-  castCallback = id
-
--- baseclass instances
-instance SharedObjectClass Callback where
-  castSharedObject (Callback x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass Callback where
-  castPrintableObject (Callback x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Callback (Ptr Callback') where
-  marshal (Callback x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Callback x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Callback" 
-  c_delete_CasADi__Callback :: FunPtr (Ptr Callback' -> IO ())
-instance WrapReturn (Ptr Callback') Callback where
-  wrapReturn = (fmap Callback) . (newForeignPtr c_delete_CasADi__Callback)
-
-
--- raw decl
-data SOCPQCQPSolver'
--- data decl
-{-|
->[INTERNAL]  SOCP QCQP Solver
->for quadratic programming.
->
->Note: this implementation relies on Cholesky decomposition: Chol(H) = L -> H
->= LL' with L lower triangular This requires Pi, H to be positive definite.
->Positive semi-definite is not sufficient. Notably, H==0 will not work.
->
->A better implementation would rely on matrix square root, but we need
->singular value decomposition to implement that.
->
->This implementation makes use of the epigraph reformulation: min f(x) x
->
->min t x,t f(x) <= t
->
->This implementation makes use of the following identity:
->
->|| Gx+h||_2 <= e'x + f
->
->x'(G'G - ee')x + (2 h'G - 2 f e') x + h'h - f <= 0
->
->where we put e = [0 0 ... 1] for the qadratic constraint arising from the
->epigraph reformulation and e==0 for all other qc.
->
->Solves the following strictly convex problem:
->
->min          1/2 x' H x + g' x   x  subject to             1/2 x' Pi x +
->qi' x + ri  <= 0   for i=0..nq-1                          LBA <= A x <= UBA
->LBX <= x   <= UBX                  with : H, Pi sparse (n x n) positive
->definite       g, qi dense  (n x 1) ri scalar                  n: number of
->decision variables (x)     nc: number of linear constraints (A)     nq:
->number of quadratic constraints
->
->If H, Pi is not positive-definite, the solver should throw an error.
->
->Joris Gillis
->
->>Input scheme: CasADi::QCQPSolverInput (QCQP_SOLVER_NUM_IN = 13) [qcqpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QCQP_SOLVER_H          | h                      | The square matrix H:   |
->|                        |                        | sparse, (n x n). Only  |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical. .   |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_G          | g                      | The vector g: dense,   |
->|                        |                        | (n x 1) .              |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_P          | p                      | The horizontal stack   |
->|                        |                        | of all Pi. Each Pi is  |
->|                        |                        | sparse (n x n). Only   |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical. .   |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_Q          | q                      | The vertical stack of  |
->|                        |                        | all qi: dense, (nq n x |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_R          | r                      | The vertical stack of  |
->|                        |                        | all scalars ri (nq x   |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_A          | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LBA        | lba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_UBA        | uba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LBX        | lbx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_UBX        | ubx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_X0         | x0                     | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LAM_X0     | lam_x0                 | dense                  |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::QCQPSolverOutput (QCQP_SOLVER_NUM_OUT = 5) [qcqpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QCQP_SOLVER_X          | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_COST       | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LAM_A      | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| QCQP_SOLVER_LAM_X      | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| socp_solver  | OT_SOCPSOLVE | GenericType( | The          | CasADi::SOCP |
->|              | R            | )            | SOCPSolver   | QCQPInternal |
->|              |              |              | used to      |              |
->|              |              |              | solve the    |              |
->|              |              |              | QCQPs.       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| socp_solver_ | OT_DICTIONAR | GenericType( | Options to   | CasADi::SOCP |
->| options      | Y            | )            | be passed to | QCQPInternal |
->|              |              |              | the          |              |
->|              |              |              | SOCPSOlver   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available stats
->+-------------------+--------------------------+
->|        Id         |         Used in          |
->+===================+==========================+
->| socp_solver_stats | CasADi::SOCPQCQPInternal |
->+-------------------+--------------------------+
->
->Diagrams
->
->C++ includes: socp_qcqp_solver.hpp 
--}
-newtype SOCPQCQPSolver = SOCPQCQPSolver (ForeignPtr SOCPQCQPSolver')
--- typeclass decl
-class SOCPQCQPSolverClass a where
-  castSOCPQCQPSolver :: a -> SOCPQCQPSolver
-instance SOCPQCQPSolverClass SOCPQCQPSolver where
-  castSOCPQCQPSolver = id
-
--- baseclass instances
-instance SharedObjectClass SOCPQCQPSolver where
-  castSharedObject (SOCPQCQPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SOCPQCQPSolver where
-  castPrintableObject (SOCPQCQPSolver x) = PrintableObject (castForeignPtr x)
-
-instance QCQPSolverClass SOCPQCQPSolver where
-  castQCQPSolver (SOCPQCQPSolver x) = QCQPSolver (castForeignPtr x)
-
-instance OptionsFunctionalityClass SOCPQCQPSolver where
-  castOptionsFunctionality (SOCPQCQPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SOCPQCQPSolver where
-  castFunction (SOCPQCQPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SOCPQCQPSolver where
-  castIOInterfaceFunction (SOCPQCQPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SOCPQCQPSolver (Ptr SOCPQCQPSolver') where
-  marshal (SOCPQCQPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SOCPQCQPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SOCPQCQPSolver" 
-  c_delete_CasADi__SOCPQCQPSolver :: FunPtr (Ptr SOCPQCQPSolver' -> IO ())
-instance WrapReturn (Ptr SOCPQCQPSolver') SOCPQCQPSolver where
-  wrapReturn = (fmap SOCPQCQPSolver) . (newForeignPtr c_delete_CasADi__SOCPQCQPSolver)
-
-
--- raw decl
-data QCQPQPSolver'
--- data decl
-{-|
->[INTERNAL]  Use a QCQP solver
->to solve q QP.
->
->Solves the following strictly convex problem:
->
->min          1/2 x' H x + g' x   x  subject to             LBA <= A x <= UBA
->LBX <= x   <= UBX                  with :       H sparse (n x n) positive
->definite       g dense  (n x 1) n: number of decision variables (x)     nc:
->number of constraints (A)
->
->If H is not positive-definite, the solver should throw an error.
->
->Joris Gillis
->
->>Input scheme: CasADi::QPSolverInput (QP_SOLVER_NUM_IN = 10) [qpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QP_SOLVER_H            | h                      | The square matrix H:   |
->|                        |                        | sparse, (n x n). Only  |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical. .   |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_G            | g                      | The vector g: dense,   |
->|                        |                        | (n x 1) .              |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_A            | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LBA          | lba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_UBA          | uba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LBX          | lbx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_UBX          | ubx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_X0           | x0                     | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_X0       | lam_x0                 | dense                  |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::QPSolverOutput (QP_SOLVER_NUM_OUT = 5) [qpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QP_SOLVER_X            | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_COST         | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_A        | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_X        | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| qcqp_solver  | OT_QCQPSOLVE | GenericType( | The          | CasADi::QCQP |
->|              | R            | )            | QCQPSolver   | QPInternal   |
->|              |              |              | used to      |              |
->|              |              |              | solve the    |              |
->|              |              |              | QPs.         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| qcqp_solver_ | OT_DICTIONAR | GenericType( | Options to   | CasADi::QCQP |
->| options      | Y            | )            | be passed to | QPInternal   |
->|              |              |              | the          |              |
->|              |              |              | QCQPSOlver   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available stats
->+-------------------+------------------------+
->|        Id         |        Used in         |
->+===================+========================+
->| qcqp_solver_stats | CasADi::QCQPQPInternal |
->+-------------------+------------------------+
->
->Diagrams
->
->C++ includes: qcqp_qp_solver.hpp 
--}
-newtype QCQPQPSolver = QCQPQPSolver (ForeignPtr QCQPQPSolver')
--- typeclass decl
-class QCQPQPSolverClass a where
-  castQCQPQPSolver :: a -> QCQPQPSolver
-instance QCQPQPSolverClass QCQPQPSolver where
-  castQCQPQPSolver = id
-
--- baseclass instances
-instance SharedObjectClass QCQPQPSolver where
-  castSharedObject (QCQPQPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass QCQPQPSolver where
-  castPrintableObject (QCQPQPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass QCQPQPSolver where
-  castOptionsFunctionality (QCQPQPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass QCQPQPSolver where
-  castFunction (QCQPQPSolver x) = Function (castForeignPtr x)
-
-instance QPSolverClass QCQPQPSolver where
-  castQPSolver (QCQPQPSolver x) = QPSolver (castForeignPtr x)
-
-instance IOInterfaceFunctionClass QCQPQPSolver where
-  castIOInterfaceFunction (QCQPQPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal QCQPQPSolver (Ptr QCQPQPSolver') where
-  marshal (QCQPQPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (QCQPQPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__QCQPQPSolver" 
-  c_delete_CasADi__QCQPQPSolver :: FunPtr (Ptr QCQPQPSolver' -> IO ())
-instance WrapReturn (Ptr QCQPQPSolver') QCQPQPSolver where
-  wrapReturn = (fmap QCQPQPSolver) . (newForeignPtr c_delete_CasADi__QCQPQPSolver)
-
-
--- raw decl
-data ExpSX'
--- data decl
-{-|
->[INTERNAL]  Expression
->interface.
->
->This is a common base class for SX, MX and Matrix<>, introducing a uniform
->syntax and implementing common functionality using the curiously recurring
->template pattern (CRTP) idiom. Joel Andersson
->
->C++ includes: generic_expression.hpp 
--}
-newtype ExpSX = ExpSX (ForeignPtr ExpSX')
--- typeclass decl
-class ExpSXClass a where
-  castExpSX :: a -> ExpSX
-instance ExpSXClass ExpSX where
-  castExpSX = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal ExpSX (Ptr ExpSX') where
-  marshal (ExpSX x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ExpSX x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement__" 
-  c_delete_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement__ :: FunPtr (Ptr ExpSX' -> IO ())
-instance WrapReturn (Ptr ExpSX') ExpSX where
-  wrapReturn = (fmap ExpSX) . (newForeignPtr c_delete_CasADi__GenericExpression_CasADi__Matrix_CasADi__SXElement__)
-
-
--- raw decl
-data Integrator'
--- data decl
-{-|
->[INTERNAL]  Base class for
->integrators.
->
->Integrator abstract base class
->
->Solves an initial value problem (IVP) coupled to a terminal value problem
->with differential equation given as an implicit ODE coupled to an algebraic
->equation and a set of quadratures: Initial conditions at t=t0  x(t0)  = x0
->q(t0)  = 0   Forward integration from t=t0 to t=tf  der(x) =
->function(x,z,p,t) Forward ODE  0 = fz(x,z,p,t)                  Forward
->algebraic equations  der(q) = fq(x,z,p,t)                  Forward
->quadratures Terminal conditions at t=tf  rx(tf)  = rx0  rq(tf)  = 0
->Backward integration from t=tf to t=t0  der(rx) = gx(rx,rz,rp,x,z,p,t)
->Backward ODE  0 = gz(rx,rz,rp,x,z,p,t)        Backward algebraic equations
->der(rq) = gq(rx,rz,rp,x,z,p,t)        Backward quadratures where we assume
->that both the forward and backwards integrations are index-1  (i.e. dfz/dz,
->dgz/drz are invertible) and furthermore that gx, gz and gq have a linear
->dependency on rx, rz and rp.
->
->The Integrator class provides some additional functionality, such as getting
->the value of the state and/or sensitivities at certain time points.
->
->The class does not specify the method used for the integration. This is
->defined in derived classes.
->
->Joel Andersson
->
->>Input scheme: CasADi::IntegratorInput (INTEGRATOR_NUM_IN = 7) [integratorIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::IntegratorOutput (INTEGRATOR_NUM_OUT = 7) [integratorOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_XF          | xf                     | Differential state at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_QF          | qf                     | Quadrature state at    |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_ZF          | zf                     | Algebraic variable at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RXF         | rxf                    | Backward differential  |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RQF         | rqf                    | Backward quadrature    |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZF         | rzf                    | Backward algebraic     |
->|                        |                        | variable at the        |
->|                        |                        | initial time .         |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| augmented_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::Inte |
->| tions        | Y            | )            | be passed    | gratorIntern |
->|              |              |              | down to the  | al           |
->|              |              |              | augmented    |              |
->|              |              |              | integrator,  |              |
->|              |              |              | if one is    |              |
->|              |              |              | constructed. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_augme | OT_BOOLEAN   | true         | If DAE       | CasADi::Inte |
->| nted         |              |              | callback     | gratorIntern |
->|              |              |              | functions    | al           |
->|              |              |              | are          |              |
->|              |              |              | SXFunction , |              |
->|              |              |              | have         |              |
->|              |              |              | augmented    |              |
->|              |              |              | DAE callback |              |
->|              |              |              | function     |              |
->|              |              |              | also be      |              |
->|              |              |              | SXFunction . |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| print_stats  | OT_BOOLEAN   | false        | Print out    | CasADi::Inte |
->|              |              |              | statistics   | gratorIntern |
->|              |              |              | after        | al           |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| t0           | OT_REAL      | 0            | Beginning of | CasADi::Inte |
->|              |              |              | the time     | gratorIntern |
->|              |              |              | horizon      | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| tf           | OT_REAL      | 1            | End of the   | CasADi::Inte |
->|              |              |              | time horizon | gratorIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: integrator.hpp 
--}
-newtype Integrator = Integrator (ForeignPtr Integrator')
--- typeclass decl
-class IntegratorClass a where
-  castIntegrator :: a -> Integrator
-instance IntegratorClass Integrator where
-  castIntegrator = id
-
--- baseclass instances
-instance SharedObjectClass Integrator where
-  castSharedObject (Integrator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass Integrator where
-  castPrintableObject (Integrator x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass Integrator where
-  castOptionsFunctionality (Integrator x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass Integrator where
-  castFunction (Integrator x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass Integrator where
-  castIOInterfaceFunction (Integrator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Integrator (Ptr Integrator') where
-  marshal (Integrator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Integrator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Integrator" 
-  c_delete_CasADi__Integrator :: FunPtr (Ptr Integrator' -> IO ())
-instance WrapReturn (Ptr Integrator') Integrator where
-  wrapReturn = (fmap Integrator) . (newForeignPtr c_delete_CasADi__Integrator)
-
-
--- raw decl
-data WeakRef'
--- data decl
-{-|
->[INTERNAL]  Weak reference type A
->weak reference to a SharedObject.
->
->Joel Andersson
->
->C++ includes: weak_ref.hpp 
--}
-newtype WeakRef = WeakRef (ForeignPtr WeakRef')
--- typeclass decl
-class WeakRefClass a where
-  castWeakRef :: a -> WeakRef
-instance WeakRefClass WeakRef where
-  castWeakRef = id
-
--- baseclass instances
-instance SharedObjectClass WeakRef where
-  castSharedObject (WeakRef x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass WeakRef where
-  castPrintableObject (WeakRef x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal WeakRef (Ptr WeakRef') where
-  marshal (WeakRef x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (WeakRef x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__WeakRef" 
-  c_delete_CasADi__WeakRef :: FunPtr (Ptr WeakRef' -> IO ())
-instance WrapReturn (Ptr WeakRef') WeakRef where
-  wrapReturn = (fmap WeakRef) . (newForeignPtr c_delete_CasADi__WeakRef)
-
-
--- raw decl
-data Simulator'
--- data decl
-{-|
->[INTERNAL]   Integrator class.
->
->An "simulator" integrates an IVP, stopping at a (fixed) number of grid
->points and evaluates a set of output functions at these points. The internal
->stepsizes of the integrator need not coincide with the gridpoints.
->
->Simulator is an CasADi::Function mapping from CasADi::IntegratorInput to n.
->\\
->
->The output function needs to be a mapping from CasADi::DAEInput to n. The
->default output has n=1 and the output is the (vectorized) differential state
->for each time step.
->
->Joel Andersson
->
->>Input scheme: CasADi::IntegratorInput (INTEGRATOR_NUM_IN = 7) [integratorIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp | CasADi::Simu |
->|              |              |              | uts)  (initi | latorInterna |
->|              |              |              | al|step)     | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->+---------+---------------------------+
->|   Id    |          Used in          |
->+=========+===========================+
->| initial | CasADi::SimulatorInternal |
->+---------+---------------------------+
->| inputs  | CasADi::FunctionInternal  |
->+---------+---------------------------+
->| outputs | CasADi::FunctionInternal  |
->+---------+---------------------------+
->| step    | CasADi::SimulatorInternal |
->+---------+---------------------------+
->
->Diagrams
->
->C++ includes: simulator.hpp 
--}
-newtype Simulator = Simulator (ForeignPtr Simulator')
--- typeclass decl
-class SimulatorClass a where
-  castSimulator :: a -> Simulator
-instance SimulatorClass Simulator where
-  castSimulator = id
-
--- baseclass instances
-instance SharedObjectClass Simulator where
-  castSharedObject (Simulator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass Simulator where
-  castPrintableObject (Simulator x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass Simulator where
-  castOptionsFunctionality (Simulator x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass Simulator where
-  castFunction (Simulator x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass Simulator where
-  castIOInterfaceFunction (Simulator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Simulator (Ptr Simulator') where
-  marshal (Simulator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Simulator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Simulator" 
-  c_delete_CasADi__Simulator :: FunPtr (Ptr Simulator' -> IO ())
-instance WrapReturn (Ptr Simulator') Simulator where
-  wrapReturn = (fmap Simulator) . (newForeignPtr c_delete_CasADi__Simulator)
-
-
--- raw decl
-data Parallelizer'
--- data decl
-{-|
->[INTERNAL]   Parallelizer
->execution of functions.
->
->Joel Andersson
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| parallelizat | OT_STRING    | "serial"     | (serial|open | CasADi::Para |
->| ion          |              |              | mp|mpi)      | llelizerInte |
->|              |              |              |              | rnal         |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available stats
->+-----------------+------------------------------+
->|       Id        |           Used in            |
->+=================+==============================+
->| max_threads     | CasADi::ParallelizerInternal |
->+-----------------+------------------------------+
->| num_threads     | CasADi::ParallelizerInternal |
->+-----------------+------------------------------+
->| task_allocation | CasADi::ParallelizerInternal |
->+-----------------+------------------------------+
->| task_cputime    | CasADi::ParallelizerInternal |
->+-----------------+------------------------------+
->| task_endtime    | CasADi::ParallelizerInternal |
->+-----------------+------------------------------+
->| task_order      | CasADi::ParallelizerInternal |
->+-----------------+------------------------------+
->| task_starttime  | CasADi::ParallelizerInternal |
->+-----------------+------------------------------+
->
->Diagrams
->
->C++ includes: parallelizer.hpp 
--}
-newtype Parallelizer = Parallelizer (ForeignPtr Parallelizer')
--- typeclass decl
-class ParallelizerClass a where
-  castParallelizer :: a -> Parallelizer
-instance ParallelizerClass Parallelizer where
-  castParallelizer = id
-
--- baseclass instances
-instance SharedObjectClass Parallelizer where
-  castSharedObject (Parallelizer x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass Parallelizer where
-  castPrintableObject (Parallelizer x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass Parallelizer where
-  castOptionsFunctionality (Parallelizer x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass Parallelizer where
-  castFunction (Parallelizer x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass Parallelizer where
-  castIOInterfaceFunction (Parallelizer x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Parallelizer (Ptr Parallelizer') where
-  marshal (Parallelizer x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Parallelizer x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Parallelizer" 
-  c_delete_CasADi__Parallelizer :: FunPtr (Ptr Parallelizer' -> IO ())
-instance WrapReturn (Ptr Parallelizer') Parallelizer where
-  wrapReturn = (fmap Parallelizer) . (newForeignPtr c_delete_CasADi__Parallelizer)
-
-
--- raw decl
-data SimpleHomotopyNLPSolver'
--- data decl
-{-|
->[INTERNAL]  Solving
->an NLP homotopy with regular NLP solvers.
->
->Joris Gillis
->
->>Input scheme: CasADi::NLPSolverInput (NLP_SOLVER_NUM_IN = 9) [nlpSolverIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X0          | x0                     | Decision variables,    |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_P           | p                      | Value of fixed         |
->|                        |                        | parameters (np x 1) .  |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBX         | lbx                    | Decision variables     |
->|                        |                        | lower bound (nx x 1),  |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBX         | ubx                    | Decision variables     |
->|                        |                        | upper bound (nx x 1),  |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBG         | lbg                    | Constraints lower      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBG         | ubg                    | Constraints upper      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X0      | lam_x0                 | Lagrange multipliers   |
->|                        |                        | for bounds on X,       |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G0      | lam_g0                 | Lagrange multipliers   |
->|                        |                        | for bounds on G,       |
->|                        |                        | initial guess (ng x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::NLPSolverOutput (NLP_SOLVER_NUM_OUT = 7) [nlpSolverOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X           | x                      | Decision variables at  |
->|                        |                        | the optimal solution   |
->|                        |                        | (nx x 1) .             |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_F           | f                      | Cost function value at |
->|                        |                        | the optimal solution   |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_G           | g                      | Constraints function   |
->|                        |                        | at the optimal         |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X       | lam_x                  | Lagrange multipliers   |
->|                        |                        | for bounds on X at the |
->|                        |                        | solution (nx x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G       | lam_g                  | Lagrange multipliers   |
->|                        |                        | for bounds on G at the |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_P       | lam_p                  | Lagrange multipliers   |
->|                        |                        | for bounds on P at the |
->|                        |                        | solution (np x 1) .    |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand       | OT_BOOLEAN   | false        | Expand the   | CasADi::Homo |
->|              |              |              | NLP function | topyNLPInter |
->|              |              |              | in terms of  | nal          |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver   | OT_NLPSOLVER | GenericType( | The NLP      | CasADi::Simp |
->|              |              | )            | solver to be | leHomotopyNL |
->|              |              |              | used by the  | PInternal    |
->|              |              |              | Homotopy     |              |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::Simp |
->| ptions       | Y            | )            | be passed to | leHomotopyNL |
->|              |              |              | the Homotopy | PInternal    |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| num_steps    | OT_INTEGER   | 10           | Take this    | CasADi::Simp |
->|              |              |              | many steps   | leHomotopyNL |
->|              |              |              | to go from   | PInternal    |
->|              |              |              | tau=0 to     |              |
->|              |              |              | tau=1.       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: simple_homotopy_nlp_solver.hpp 
--}
-newtype SimpleHomotopyNLPSolver = SimpleHomotopyNLPSolver (ForeignPtr SimpleHomotopyNLPSolver')
--- typeclass decl
-class SimpleHomotopyNLPSolverClass a where
-  castSimpleHomotopyNLPSolver :: a -> SimpleHomotopyNLPSolver
-instance SimpleHomotopyNLPSolverClass SimpleHomotopyNLPSolver where
-  castSimpleHomotopyNLPSolver = id
-
--- baseclass instances
-instance HomotopyNLPSolverClass SimpleHomotopyNLPSolver where
-  castHomotopyNLPSolver (SimpleHomotopyNLPSolver x) = HomotopyNLPSolver (castForeignPtr x)
-
-instance SharedObjectClass SimpleHomotopyNLPSolver where
-  castSharedObject (SimpleHomotopyNLPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SimpleHomotopyNLPSolver where
-  castPrintableObject (SimpleHomotopyNLPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SimpleHomotopyNLPSolver where
-  castOptionsFunctionality (SimpleHomotopyNLPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SimpleHomotopyNLPSolver where
-  castFunction (SimpleHomotopyNLPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SimpleHomotopyNLPSolver where
-  castIOInterfaceFunction (SimpleHomotopyNLPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SimpleHomotopyNLPSolver (Ptr SimpleHomotopyNLPSolver') where
-  marshal (SimpleHomotopyNLPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SimpleHomotopyNLPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SimpleHomotopyNLPSolver" 
-  c_delete_CasADi__SimpleHomotopyNLPSolver :: FunPtr (Ptr SimpleHomotopyNLPSolver' -> IO ())
-instance WrapReturn (Ptr SimpleHomotopyNLPSolver') SimpleHomotopyNLPSolver where
-  wrapReturn = (fmap SimpleHomotopyNLPSolver) . (newForeignPtr c_delete_CasADi__SimpleHomotopyNLPSolver)
-
-
--- raw decl
-data SundialsIntegrator'
--- data decl
-{-|
->[INTERNAL]  Interface to
->the Sundials integrators.
->
->Base class for integrators. Solves an initial value problem (IVP) coupled to
->a terminal value problem with differential equation given as an implicit ODE
->coupled to an algebraic equation and a set of quadratures: Initial
->conditions at t=t0  x(t0)  = x0  q(t0)  = 0   Forward integration from t=t0
->to t=tf  der(x) = function(x,z,p,t) Forward ODE  0 = fz(x,z,p,t)
->Forward algebraic equations  der(q) = fq(x,z,p,t)                  Forward
->quadratures Terminal conditions at t=tf  rx(tf)  = rx0  rq(tf)  = 0
->Backward integration from t=tf to t=t0  der(rx) = gx(rx,rz,rp,x,z,p,t)
->Backward ODE  0 = gz(rx,rz,rp,x,z,p,t)        Backward algebraic equations
->der(rq) = gq(rx,rz,rp,x,z,p,t)        Backward quadratures where we assume
->that both the forward and backwards integrations are index-1  (i.e. dfz/dz,
->dgz/drz are invertible) and furthermore that gx, gz and gq have a linear
->dependency on rx, rz and rp.
->
->>Input scheme: CasADi::IntegratorInput (INTEGRATOR_NUM_IN = 7) [integratorIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::IntegratorOutput (INTEGRATOR_NUM_OUT = 7) [integratorOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_XF          | xf                     | Differential state at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_QF          | qf                     | Quadrature state at    |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_ZF          | zf                     | Algebraic variable at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RXF         | rxf                    | Backward differential  |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RQF         | rqf                    | Backward quadrature    |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZF         | rzf                    | Backward algebraic     |
->|                        |                        | variable at the        |
->|                        |                        | initial time .         |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| abstol       | OT_REAL      | 0.000        | Absolute     | CasADi::Sund |
->|              |              |              | tolerence    | ialsInternal |
->|              |              |              | for the IVP  |              |
->|              |              |              | solution     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| abstolB      | OT_REAL      | GenericType( | Absolute     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | adjoint      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | abstol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| augmented_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::Inte |
->| tions        | Y            | )            | be passed    | gratorIntern |
->|              |              |              | down to the  | al           |
->|              |              |              | augmented    |              |
->|              |              |              | integrator,  |              |
->|              |              |              | if one is    |              |
->|              |              |              | constructed. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| exact_jacobi | OT_BOOLEAN   | true         | Use exact    | CasADi::Sund |
->| an           |              |              | Jacobian     | ialsInternal |
->|              |              |              | information  |              |
->|              |              |              | for the      |              |
->|              |              |              | forward      |              |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| exact_jacobi | OT_BOOLEAN   | GenericType( | Use exact    | CasADi::Sund |
->| anB          |              | )            | Jacobian     | ialsInternal |
->|              |              |              | information  |              |
->|              |              |              | for the      |              |
->|              |              |              | backward     |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to exa |              |
->|              |              |              | ct_jacobian] |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_augme | OT_BOOLEAN   | true         | If DAE       | CasADi::Inte |
->| nted         |              |              | callback     | gratorIntern |
->|              |              |              | functions    | al           |
->|              |              |              | are          |              |
->|              |              |              | SXFunction , |              |
->|              |              |              | have         |              |
->|              |              |              | augmented    |              |
->|              |              |              | DAE callback |              |
->|              |              |              | function     |              |
->|              |              |              | also be      |              |
->|              |              |              | SXFunction . |              |
->+--------------+--------------+--------------+--------------+--------------+
->| finite_diffe | OT_BOOLEAN   | false        | Use finite   | CasADi::Sund |
->| rence_fsens  |              |              | differences  | ialsInternal |
->|              |              |              | to           |              |
->|              |              |              | approximate  |              |
->|              |              |              | the forward  |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | equations    |              |
->|              |              |              | (if AD is    |              |
->|              |              |              | not          |              |
->|              |              |              | available)   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_abstol | OT_REAL      | GenericType( | Absolute     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | forward      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | abstol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_err_co | OT_BOOLEAN   | true         | include the  | CasADi::Sund |
->| n            |              |              | forward sens | ialsInternal |
->|              |              |              | itivities in |              |
->|              |              |              | all error    |              |
->|              |              |              | controls     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_reltol | OT_REAL      | GenericType( | Relative     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | forward      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | reltol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_scalin | OT_REALVECTO | GenericType( | Scaling      | CasADi::Sund |
->| g_factors    | R            | )            | factor for   | ialsInternal |
->|              |              |              | the          |              |
->|              |              |              | components   |              |
->|              |              |              | if finite    |              |
->|              |              |              | differences  |              |
->|              |              |              | is used      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_sensit | OT_INTEGERVE | GenericType( | Specifies    | CasADi::Sund |
->| iviy_paramet | CTOR         | )            | which        | ialsInternal |
->| ers          |              |              | components   |              |
->|              |              |              | will be used |              |
->|              |              |              | when         |              |
->|              |              |              | estimating   |              |
->|              |              |              | the          |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | equations    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| interpolatio | OT_STRING    | "hermite"    | Type of inte | CasADi::Sund |
->| n_type       |              |              | rpolation    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | adjoint sens |              |
->|              |              |              | itivities (h |              |
->|              |              |              | ermite|polyn |              |
->|              |              |              | omial)       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iterative_so | OT_STRING    | "gmres"      | (gmres|bcgst | CasADi::Sund |
->| lver         |              |              | ab|tfqmr)    | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| iterative_so | OT_STRING    | GenericType( | (gmres|bcgst | CasADi::Sund |
->| lverB        |              | )            | ab|tfqmr)    | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_LINEARSOL | GenericType( | A custom     | CasADi::Sund |
->| r            | VER          | )            | linear       | ialsInternal |
->|              |              |              | solver       |              |
->|              |              |              | creator      |              |
->|              |              |              | function     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_LINEARSOL | GenericType( | A custom     | CasADi::Sund |
->| rB           | VER          | )            | linear       | ialsInternal |
->|              |              |              | solver       |              |
->|              |              |              | creator      |              |
->|              |              |              | function for |              |
->|              |              |              | backwards    |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to lin |              |
->|              |              |              | ear_solver]  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | CasADi::Sund |
->| r_options    | Y            | )            | be passed to | ialsInternal |
->|              |              |              | the linear   |              |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | CasADi::Sund |
->| r_optionsB   | Y            | )            | be passed to | ialsInternal |
->|              |              |              | the linear   |              |
->|              |              |              | solver for   |              |
->|              |              |              | backwards    |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to lin |              |
->|              |              |              | ear_solver_o |              |
->|              |              |              | ptions]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_STRING    | "dense"      | (user_define | CasADi::Sund |
->| r_type       |              |              | d|dense|band | ialsInternal |
->|              |              |              | ed|iterative |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_STRING    | GenericType( | (user_define | CasADi::Sund |
->| r_typeB      |              | )            | d|dense|band | ialsInternal |
->|              |              |              | ed|iterative |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| lower_bandwi | OT_INTEGER   | GenericType( | Lower band-  | CasADi::Sund |
->| dth          |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | Jacobian (es |              |
->|              |              |              | timations)   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| lower_bandwi | OT_INTEGER   | GenericType( | lower band-  | CasADi::Sund |
->| dthB         |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | jacobians    |              |
->|              |              |              | for backward |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to low |              |
->|              |              |              | er_bandwidth |              |
->|              |              |              | ]            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_krylov   | OT_INTEGER   | 10           | Maximum      | CasADi::Sund |
->|              |              |              | Krylov       | ialsInternal |
->|              |              |              | subspace     |              |
->|              |              |              | size         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_krylovB  | OT_INTEGER   | GenericType( | Maximum      | CasADi::Sund |
->|              |              | )            | krylov       | ialsInternal |
->|              |              |              | subspace     |              |
->|              |              |              | size         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_multiste | OT_INTEGER   | 5            |              | CasADi::Sund |
->| p_order      |              |              |              | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| max_num_step | OT_INTEGER   | 10000        | Maximum      | CasADi::Sund |
->| s            |              |              | number of    | ialsInternal |
->|              |              |              | integrator   |              |
->|              |              |              | steps        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| pretype      | OT_STRING    | "none"       | (none|left|r | CasADi::Sund |
->|              |              |              | ight|both)   | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| pretypeB     | OT_STRING    | GenericType( | (none|left|r | CasADi::Sund |
->|              |              | )            | ight|both)   | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| print_stats  | OT_BOOLEAN   | false        | Print out    | CasADi::Inte |
->|              |              |              | statistics   | gratorIntern |
->|              |              |              | after        | al           |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| quad_err_con | OT_BOOLEAN   | false        | Should the   | CasADi::Sund |
->|              |              |              | quadratures  | ialsInternal |
->|              |              |              | affect the   |              |
->|              |              |              | step size    |              |
->|              |              |              | control      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| reltol       | OT_REAL      | 0.000        | Relative     | CasADi::Sund |
->|              |              |              | tolerence    | ialsInternal |
->|              |              |              | for the IVP  |              |
->|              |              |              | solution     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| reltolB      | OT_REAL      | GenericType( | Relative     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | adjoint      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | reltol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sensitivity_ | OT_STRING    | "simultaneou | (simultaneou | CasADi::Sund |
->| method       |              | s"           | s|staggered) | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| steps_per_ch | OT_INTEGER   | 20           | Number of    | CasADi::Sund |
->| eckpoint     |              |              | steps        | ialsInternal |
->|              |              |              | between two  |              |
->|              |              |              | consecutive  |              |
->|              |              |              | checkpoints  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| stop_at_end  | OT_BOOLEAN   | true         | Stop the     | CasADi::Sund |
->|              |              |              | integrator   | ialsInternal |
->|              |              |              | at the end   |              |
->|              |              |              | of the       |              |
->|              |              |              | interval     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| t0           | OT_REAL      | 0            | Beginning of | CasADi::Inte |
->|              |              |              | the time     | gratorIntern |
->|              |              |              | horizon      | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| tf           | OT_REAL      | 1            | End of the   | CasADi::Inte |
->|              |              |              | time horizon | gratorIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| upper_bandwi | OT_INTEGER   | GenericType( | Upper band-  | CasADi::Sund |
->| dth          |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | Jacobian (es |              |
->|              |              |              | timations)   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| upper_bandwi | OT_INTEGER   | GenericType( | Upper band-  | CasADi::Sund |
->| dthB         |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | jacobians    |              |
->|              |              |              | for backward |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to upp |              |
->|              |              |              | er_bandwidth |              |
->|              |              |              | ]            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| use_precondi | OT_BOOLEAN   | false        | Precondition | CasADi::Sund |
->| tioner       |              |              | an iterative | ialsInternal |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| use_precondi | OT_BOOLEAN   | GenericType( | Precondition | CasADi::Sund |
->| tionerB      |              | )            | an iterative | ialsInternal |
->|              |              |              | solver for   |              |
->|              |              |              | the          |              |
->|              |              |              | backwards    |              |
->|              |              |              | problem      |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to use |              |
->|              |              |              | _preconditio |              |
->|              |              |              | ner]         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: sundials_integrator.hpp 
--}
-newtype SundialsIntegrator = SundialsIntegrator (ForeignPtr SundialsIntegrator')
--- typeclass decl
-class SundialsIntegratorClass a where
-  castSundialsIntegrator :: a -> SundialsIntegrator
-instance SundialsIntegratorClass SundialsIntegrator where
-  castSundialsIntegrator = id
-
--- baseclass instances
-instance SharedObjectClass SundialsIntegrator where
-  castSharedObject (SundialsIntegrator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SundialsIntegrator where
-  castPrintableObject (SundialsIntegrator x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SundialsIntegrator where
-  castOptionsFunctionality (SundialsIntegrator x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SundialsIntegrator where
-  castFunction (SundialsIntegrator x) = Function (castForeignPtr x)
-
-instance IntegratorClass SundialsIntegrator where
-  castIntegrator (SundialsIntegrator x) = Integrator (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SundialsIntegrator where
-  castIOInterfaceFunction (SundialsIntegrator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SundialsIntegrator (Ptr SundialsIntegrator') where
-  marshal (SundialsIntegrator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SundialsIntegrator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SundialsIntegrator" 
-  c_delete_CasADi__SundialsIntegrator :: FunPtr (Ptr SundialsIntegrator' -> IO ())
-instance WrapReturn (Ptr SundialsIntegrator') SundialsIntegrator where
-  wrapReturn = (fmap SundialsIntegrator) . (newForeignPtr c_delete_CasADi__SundialsIntegrator)
-
-
--- raw decl
-data QPSolver'
--- data decl
-{-|
->[INTERNAL]   QPSolver.
->
->Solves the following strictly convex problem:
->
->min          1/2 x' H x + g' x   x  subject to             LBA <= A x <= UBA
->LBX <= x   <= UBX                  with :       H sparse (n x n) positive
->definite       g dense  (n x 1) n: number of decision variables (x)     nc:
->number of constraints (A)
->
->If H is not positive-definite, the solver should throw an error.
->
->Joel Andersson
->
->>Input scheme: CasADi::QPSolverInput (QP_SOLVER_NUM_IN = 10) [qpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QP_SOLVER_H            | h                      | The square matrix H:   |
->|                        |                        | sparse, (n x n). Only  |
->|                        |                        | the lower triangular   |
->|                        |                        | part is actually used. |
->|                        |                        | The matrix is assumed  |
->|                        |                        | to be symmetrical. .   |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_G            | g                      | The vector g: dense,   |
->|                        |                        | (n x 1) .              |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_A            | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LBA          | lba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_UBA          | uba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LBX          | lbx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_UBX          | ubx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_X0           | x0                     | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_X0       | lam_x0                 | dense                  |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::QPSolverOutput (QP_SOLVER_NUM_OUT = 5) [qpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| QP_SOLVER_X            | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_COST         | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_A        | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| QP_SOLVER_LAM_X        | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: qp_solver.hpp 
--}
-newtype QPSolver = QPSolver (ForeignPtr QPSolver')
--- typeclass decl
-class QPSolverClass a where
-  castQPSolver :: a -> QPSolver
-instance QPSolverClass QPSolver where
-  castQPSolver = id
-
--- baseclass instances
-instance SharedObjectClass QPSolver where
-  castSharedObject (QPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass QPSolver where
-  castPrintableObject (QPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass QPSolver where
-  castOptionsFunctionality (QPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass QPSolver where
-  castFunction (QPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass QPSolver where
-  castIOInterfaceFunction (QPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal QPSolver (Ptr QPSolver') where
-  marshal (QPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (QPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__QPSolver" 
-  c_delete_CasADi__QPSolver :: FunPtr (Ptr QPSolver' -> IO ())
-instance WrapReturn (Ptr QPSolver') QPSolver where
-  wrapReturn = (fmap QPSolver) . (newForeignPtr c_delete_CasADi__QPSolver)
-
-
--- raw decl
-data Nullspace'
--- data decl
-{-|
->[INTERNAL]  Base class for
->nullspace construction.
->
->Constructs a basis for the null-space of a fat matrix A. i.e. finds Z such
->that AZ = 0 holds.
->
->The nullspace is also known as the orthogonal complement of the rowspace of
->a matrix.
->
->It is assumed that the matrix A is of full rank.
->
->Implementations are not required to construct an orthogonal or orthonormal
->basis Joris Gillis
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| dense        | OT_BOOLEAN   | true         | Indicates    | CasADi::Null |
->|              |              |              | that dense   | spaceInterna |
->|              |              |              | matrices can | l            |
->|              |              |              | be assumed   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: nullspace.hpp 
--}
-newtype Nullspace = Nullspace (ForeignPtr Nullspace')
--- typeclass decl
-class NullspaceClass a where
-  castNullspace :: a -> Nullspace
-instance NullspaceClass Nullspace where
-  castNullspace = id
-
--- baseclass instances
-instance SharedObjectClass Nullspace where
-  castSharedObject (Nullspace x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass Nullspace where
-  castPrintableObject (Nullspace x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass Nullspace where
-  castOptionsFunctionality (Nullspace x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass Nullspace where
-  castFunction (Nullspace x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass Nullspace where
-  castIOInterfaceFunction (Nullspace x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Nullspace (Ptr Nullspace') where
-  marshal (Nullspace x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Nullspace x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Nullspace" 
-  c_delete_CasADi__Nullspace :: FunPtr (Ptr Nullspace' -> IO ())
-instance WrapReturn (Ptr Nullspace') Nullspace where
-  wrapReturn = (fmap Nullspace) . (newForeignPtr c_delete_CasADi__Nullspace)
-
-
--- raw decl
-data IdasIntegrator'
--- data decl
-{-|
->[INTERNAL]  Interface to IDAS
->from the Sundials suite.
->
->Base class for integrators. Solves an initial value problem (IVP) coupled to
->a terminal value problem with differential equation given as an implicit ODE
->coupled to an algebraic equation and a set of quadratures: Initial
->conditions at t=t0  x(t0)  = x0  q(t0)  = 0   Forward integration from t=t0
->to t=tf  der(x) = function(x,z,p,t) Forward ODE  0 = fz(x,z,p,t)
->Forward algebraic equations  der(q) = fq(x,z,p,t)                  Forward
->quadratures Terminal conditions at t=tf  rx(tf)  = rx0  rq(tf)  = 0
->Backward integration from t=tf to t=t0  der(rx) = gx(rx,rz,rp,x,z,p,t)
->Backward ODE  0 = gz(rx,rz,rp,x,z,p,t)        Backward algebraic equations
->der(rq) = gq(rx,rz,rp,x,z,p,t)        Backward quadratures where we assume
->that both the forward and backwards integrations are index-1  (i.e. dfz/dz,
->dgz/drz are invertible) and furthermore that gx, gz and gq have a linear
->dependency on rx, rz and rp.
->
->Joel Andersson
->
->>Input scheme: CasADi::IntegratorInput (INTEGRATOR_NUM_IN = 7) [integratorIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::IntegratorOutput (INTEGRATOR_NUM_OUT = 7) [integratorOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_XF          | xf                     | Differential state at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_QF          | qf                     | Quadrature state at    |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_ZF          | zf                     | Algebraic variable at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RXF         | rxf                    | Backward differential  |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RQF         | rqf                    | Backward quadrature    |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZF         | rzf                    | Backward algebraic     |
->|                        |                        | variable at the        |
->|                        |                        | initial time .         |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| abstol       | OT_REAL      | 0.000        | Absolute     | CasADi::Sund |
->|              |              |              | tolerence    | ialsInternal |
->|              |              |              | for the IVP  |              |
->|              |              |              | solution     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| abstolB      | OT_REAL      | GenericType( | Absolute     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | adjoint      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | abstol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| abstolv      | OT_REALVECTO |              |              | CasADi::Idas |
->|              | R            |              |              | Internal     |
->+--------------+--------------+--------------+--------------+--------------+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| augmented_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::Inte |
->| tions        | Y            | )            | be passed    | gratorIntern |
->|              |              |              | down to the  | al           |
->|              |              |              | augmented    |              |
->|              |              |              | integrator,  |              |
->|              |              |              | if one is    |              |
->|              |              |              | constructed. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| calc_ic      | OT_BOOLEAN   | true         | Use          | CasADi::Idas |
->|              |              |              | IDACalcIC to | Internal     |
->|              |              |              | get          |              |
->|              |              |              | consistent   |              |
->|              |              |              | initial      |              |
->|              |              |              | conditions.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| calc_icB     | OT_BOOLEAN   | GenericType( | Use          | CasADi::Idas |
->|              |              | )            | IDACalcIC to | Internal     |
->|              |              |              | get          |              |
->|              |              |              | consistent   |              |
->|              |              |              | initial      |              |
->|              |              |              | conditions   |              |
->|              |              |              | for          |              |
->|              |              |              | backwards    |              |
->|              |              |              | system       |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | calc_ic].    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| cj_scaling   | OT_BOOLEAN   | false        | IDAS scaling | CasADi::Idas |
->|              |              |              | on cj for    | Internal     |
->|              |              |              | the user-    |              |
->|              |              |              | defined      |              |
->|              |              |              | linear       |              |
->|              |              |              | solver       |              |
->|              |              |              | module       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| disable_inte | OT_BOOLEAN   | false        | Disable IDAS | CasADi::Idas |
->| rnal_warning |              |              | internal     | Internal     |
->| s            |              |              | warning      |              |
->|              |              |              | messages     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| exact_jacobi | OT_BOOLEAN   | true         | Use exact    | CasADi::Sund |
->| an           |              |              | Jacobian     | ialsInternal |
->|              |              |              | information  |              |
->|              |              |              | for the      |              |
->|              |              |              | forward      |              |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| exact_jacobi | OT_BOOLEAN   | GenericType( | Use exact    | CasADi::Sund |
->| anB          |              | )            | Jacobian     | ialsInternal |
->|              |              |              | information  |              |
->|              |              |              | for the      |              |
->|              |              |              | backward     |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to exa |              |
->|              |              |              | ct_jacobian] |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_augme | OT_BOOLEAN   | true         | If DAE       | CasADi::Inte |
->| nted         |              |              | callback     | gratorIntern |
->|              |              |              | functions    | al           |
->|              |              |              | are          |              |
->|              |              |              | SXFunction , |              |
->|              |              |              | have         |              |
->|              |              |              | augmented    |              |
->|              |              |              | DAE callback |              |
->|              |              |              | function     |              |
->|              |              |              | also be      |              |
->|              |              |              | SXFunction . |              |
->+--------------+--------------+--------------+--------------+--------------+
->| extra_fsens_ | OT_BOOLEAN   | false        | Call calc ic | CasADi::Idas |
->| calc_ic      |              |              | an extra     | Internal     |
->|              |              |              | time, with   |              |
->|              |              |              | fsens=0      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| finite_diffe | OT_BOOLEAN   | false        | Use finite   | CasADi::Sund |
->| rence_fsens  |              |              | differences  | ialsInternal |
->|              |              |              | to           |              |
->|              |              |              | approximate  |              |
->|              |              |              | the forward  |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | equations    |              |
->|              |              |              | (if AD is    |              |
->|              |              |              | not          |              |
->|              |              |              | available)   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| first_time   | OT_REAL      | GenericType( | First        | CasADi::Idas |
->|              |              | )            | requested    | Internal     |
->|              |              |              | time as a    |              |
->|              |              |              | fraction of  |              |
->|              |              |              | the time     |              |
->|              |              |              | interval     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_abstol | OT_REAL      | GenericType( | Absolute     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | forward      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | abstol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_abstol | OT_REALVECTO |              |              | CasADi::Idas |
->| v            | R            |              |              | Internal     |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_err_co | OT_BOOLEAN   | true         | include the  | CasADi::Sund |
->| n            |              |              | forward sens | ialsInternal |
->|              |              |              | itivities in |              |
->|              |              |              | all error    |              |
->|              |              |              | controls     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_reltol | OT_REAL      | GenericType( | Relative     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | forward      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | reltol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_scalin | OT_REALVECTO | GenericType( | Scaling      | CasADi::Sund |
->| g_factors    | R            | )            | factor for   | ialsInternal |
->|              |              |              | the          |              |
->|              |              |              | components   |              |
->|              |              |              | if finite    |              |
->|              |              |              | differences  |              |
->|              |              |              | is used      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_sensit | OT_INTEGERVE | GenericType( | Specifies    | CasADi::Sund |
->| iviy_paramet | CTOR         | )            | which        | ialsInternal |
->| ers          |              |              | components   |              |
->|              |              |              | will be used |              |
->|              |              |              | when         |              |
->|              |              |              | estimating   |              |
->|              |              |              | the          |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | equations    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| init_xdot    | OT_REALVECTO | GenericType( | Initial      | CasADi::Idas |
->|              | R            | )            | values for   | Internal     |
->|              |              |              | the state    |              |
->|              |              |              | derivatives  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| interpolatio | OT_STRING    | "hermite"    | Type of inte | CasADi::Sund |
->| n_type       |              |              | rpolation    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | adjoint sens |              |
->|              |              |              | itivities (h |              |
->|              |              |              | ermite|polyn |              |
->|              |              |              | omial)       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iterative_so | OT_STRING    | "gmres"      | (gmres|bcgst | CasADi::Sund |
->| lver         |              |              | ab|tfqmr)    | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| iterative_so | OT_STRING    | GenericType( | (gmres|bcgst | CasADi::Sund |
->| lverB        |              | )            | ab|tfqmr)    | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_LINEARSOL | GenericType( | A custom     | CasADi::Sund |
->| r            | VER          | )            | linear       | ialsInternal |
->|              |              |              | solver       |              |
->|              |              |              | creator      |              |
->|              |              |              | function     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_LINEARSOL | GenericType( | A custom     | CasADi::Sund |
->| rB           | VER          | )            | linear       | ialsInternal |
->|              |              |              | solver       |              |
->|              |              |              | creator      |              |
->|              |              |              | function for |              |
->|              |              |              | backwards    |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to lin |              |
->|              |              |              | ear_solver]  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | CasADi::Sund |
->| r_options    | Y            | )            | be passed to | ialsInternal |
->|              |              |              | the linear   |              |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | CasADi::Sund |
->| r_optionsB   | Y            | )            | be passed to | ialsInternal |
->|              |              |              | the linear   |              |
->|              |              |              | solver for   |              |
->|              |              |              | backwards    |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to lin |              |
->|              |              |              | ear_solver_o |              |
->|              |              |              | ptions]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_STRING    | "dense"      | (user_define | CasADi::Sund |
->| r_type       |              |              | d|dense|band | ialsInternal |
->|              |              |              | ed|iterative |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_STRING    | GenericType( | (user_define | CasADi::Sund |
->| r_typeB      |              | )            | d|dense|band | ialsInternal |
->|              |              |              | ed|iterative |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| lower_bandwi | OT_INTEGER   | GenericType( | Lower band-  | CasADi::Sund |
->| dth          |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | Jacobian (es |              |
->|              |              |              | timations)   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| lower_bandwi | OT_INTEGER   | GenericType( | lower band-  | CasADi::Sund |
->| dthB         |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | jacobians    |              |
->|              |              |              | for backward |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to low |              |
->|              |              |              | er_bandwidth |              |
->|              |              |              | ]            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_krylov   | OT_INTEGER   | 10           | Maximum      | CasADi::Sund |
->|              |              |              | Krylov       | ialsInternal |
->|              |              |              | subspace     |              |
->|              |              |              | size         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_krylovB  | OT_INTEGER   | GenericType( | Maximum      | CasADi::Sund |
->|              |              | )            | krylov       | ialsInternal |
->|              |              |              | subspace     |              |
->|              |              |              | size         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_multiste | OT_INTEGER   | 5            |              | CasADi::Sund |
->| p_order      |              |              |              | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| max_num_step | OT_INTEGER   | 10000        | Maximum      | CasADi::Sund |
->| s            |              |              | number of    | ialsInternal |
->|              |              |              | integrator   |              |
->|              |              |              | steps        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_step_siz | OT_REAL      | 0            | Maximim step | CasADi::Idas |
->| e            |              |              | size         | Internal     |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp | CasADi::Idas |
->|              |              |              | uts)  (corre | Internal     |
->|              |              |              | ctInitialCon |              |
->|              |              |              | ditions|res| |              |
->|              |              |              | resS|resB|rh |              |
->|              |              |              | sQB|bjacB|jt |              |
->|              |              |              | imesB|psetup |              |
->|              |              |              | B|psolveB|ps |              |
->|              |              |              | etup)        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| pretype      | OT_STRING    | "none"       | (none|left|r | CasADi::Sund |
->|              |              |              | ight|both)   | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| pretypeB     | OT_STRING    | GenericType( | (none|left|r | CasADi::Sund |
->|              |              | )            | ight|both)   | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| print_stats  | OT_BOOLEAN   | false        | Print out    | CasADi::Inte |
->|              |              |              | statistics   | gratorIntern |
->|              |              |              | after        | al           |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| quad_err_con | OT_BOOLEAN   | false        | Should the   | CasADi::Sund |
->|              |              |              | quadratures  | ialsInternal |
->|              |              |              | affect the   |              |
->|              |              |              | step size    |              |
->|              |              |              | control      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| reltol       | OT_REAL      | 0.000        | Relative     | CasADi::Sund |
->|              |              |              | tolerence    | ialsInternal |
->|              |              |              | for the IVP  |              |
->|              |              |              | solution     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| reltolB      | OT_REAL      | GenericType( | Relative     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | adjoint      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | reltol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sensitivity_ | OT_STRING    | "simultaneou | (simultaneou | CasADi::Sund |
->| method       |              | s"           | s|staggered) | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| steps_per_ch | OT_INTEGER   | 20           | Number of    | CasADi::Sund |
->| eckpoint     |              |              | steps        | ialsInternal |
->|              |              |              | between two  |              |
->|              |              |              | consecutive  |              |
->|              |              |              | checkpoints  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| stop_at_end  | OT_BOOLEAN   | true         | Stop the     | CasADi::Sund |
->|              |              |              | integrator   | ialsInternal |
->|              |              |              | at the end   |              |
->|              |              |              | of the       |              |
->|              |              |              | interval     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| suppress_alg | OT_BOOLEAN   | false        | Supress      | CasADi::Idas |
->| ebraic       |              |              | algebraic    | Internal     |
->|              |              |              | variables in |              |
->|              |              |              | the error    |              |
->|              |              |              | testing      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| t0           | OT_REAL      | 0            | Beginning of | CasADi::Inte |
->|              |              |              | the time     | gratorIntern |
->|              |              |              | horizon      | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| tf           | OT_REAL      | 1            | End of the   | CasADi::Inte |
->|              |              |              | time horizon | gratorIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| upper_bandwi | OT_INTEGER   | GenericType( | Upper band-  | CasADi::Sund |
->| dth          |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | Jacobian (es |              |
->|              |              |              | timations)   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| upper_bandwi | OT_INTEGER   | GenericType( | Upper band-  | CasADi::Sund |
->| dthB         |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | jacobians    |              |
->|              |              |              | for backward |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to upp |              |
->|              |              |              | er_bandwidth |              |
->|              |              |              | ]            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| use_precondi | OT_BOOLEAN   | false        | Precondition | CasADi::Sund |
->| tioner       |              |              | an iterative | ialsInternal |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| use_precondi | OT_BOOLEAN   | GenericType( | Precondition | CasADi::Sund |
->| tionerB      |              | )            | an iterative | ialsInternal |
->|              |              |              | solver for   |              |
->|              |              |              | the          |              |
->|              |              |              | backwards    |              |
->|              |              |              | problem      |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to use |              |
->|              |              |              | _preconditio |              |
->|              |              |              | ner]         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->+--------------------------+--------------------------+
->|            Id            |         Used in          |
->+==========================+==========================+
->| bjacB                    | CasADi::IdasInternal     |
->+--------------------------+--------------------------+
->| correctInitialConditions | CasADi::IdasInternal     |
->+--------------------------+--------------------------+
->| inputs                   | CasADi::FunctionInternal |
->+--------------------------+--------------------------+
->| jtimesB                  | CasADi::IdasInternal     |
->+--------------------------+--------------------------+
->| outputs                  | CasADi::FunctionInternal |
->+--------------------------+--------------------------+
->| psetup                   | CasADi::IdasInternal     |
->+--------------------------+--------------------------+
->| psetupB                  | CasADi::IdasInternal     |
->+--------------------------+--------------------------+
->| psolveB                  | CasADi::IdasInternal     |
->+--------------------------+--------------------------+
->| res                      | CasADi::IdasInternal     |
->+--------------------------+--------------------------+
->| resB                     | CasADi::IdasInternal     |
->+--------------------------+--------------------------+
->| resS                     | CasADi::IdasInternal     |
->+--------------------------+--------------------------+
->| rhsQB                    | CasADi::IdasInternal     |
->+--------------------------+--------------------------+
->
->>List of available stats
->+-------------+----------------------+
->|     Id      |       Used in        |
->+=============+======================+
->| nlinsetups  | CasADi::IdasInternal |
->+-------------+----------------------+
->| nlinsetupsB | CasADi::IdasInternal |
->+-------------+----------------------+
->| nsteps      | CasADi::IdasInternal |
->+-------------+----------------------+
->| nstepsB     | CasADi::IdasInternal |
->+-------------+----------------------+
->
->Diagrams
->
->C++ includes: idas_integrator.hpp 
--}
-newtype IdasIntegrator = IdasIntegrator (ForeignPtr IdasIntegrator')
--- typeclass decl
-class IdasIntegratorClass a where
-  castIdasIntegrator :: a -> IdasIntegrator
-instance IdasIntegratorClass IdasIntegrator where
-  castIdasIntegrator = id
-
--- baseclass instances
-instance SharedObjectClass IdasIntegrator where
-  castSharedObject (IdasIntegrator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass IdasIntegrator where
-  castPrintableObject (IdasIntegrator x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass IdasIntegrator where
-  castOptionsFunctionality (IdasIntegrator x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass IdasIntegrator where
-  castFunction (IdasIntegrator x) = Function (castForeignPtr x)
-
-instance IntegratorClass IdasIntegrator where
-  castIntegrator (IdasIntegrator x) = Integrator (castForeignPtr x)
-
-instance SundialsIntegratorClass IdasIntegrator where
-  castSundialsIntegrator (IdasIntegrator x) = SundialsIntegrator (castForeignPtr x)
-
-instance IOInterfaceFunctionClass IdasIntegrator where
-  castIOInterfaceFunction (IdasIntegrator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal IdasIntegrator (Ptr IdasIntegrator') where
-  marshal (IdasIntegrator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (IdasIntegrator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__IdasIntegrator" 
-  c_delete_CasADi__IdasIntegrator :: FunPtr (Ptr IdasIntegrator' -> IO ())
-instance WrapReturn (Ptr IdasIntegrator') IdasIntegrator where
-  wrapReturn = (fmap IdasIntegrator) . (newForeignPtr c_delete_CasADi__IdasIntegrator)
-
-
--- raw decl
-data ExpSXElement'
--- data decl
-{-|
->[INTERNAL]  Expression
->interface.
->
->This is a common base class for SX, MX and Matrix<>, introducing a uniform
->syntax and implementing common functionality using the curiously recurring
->template pattern (CRTP) idiom. Joel Andersson
->
->C++ includes: generic_expression.hpp 
--}
-newtype ExpSXElement = ExpSXElement (ForeignPtr ExpSXElement')
--- typeclass decl
-class ExpSXElementClass a where
-  castExpSXElement :: a -> ExpSXElement
-instance ExpSXElementClass ExpSXElement where
-  castExpSXElement = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal ExpSXElement (Ptr ExpSXElement') where
-  marshal (ExpSXElement x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ExpSXElement x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__GenericExpression_CasADi__SXElement_" 
-  c_delete_CasADi__GenericExpression_CasADi__SXElement_ :: FunPtr (Ptr ExpSXElement' -> IO ())
-instance WrapReturn (Ptr ExpSXElement') ExpSXElement where
-  wrapReturn = (fmap ExpSXElement) . (newForeignPtr c_delete_CasADi__GenericExpression_CasADi__SXElement_)
-
-
--- raw decl
-data NewtonImplicitSolver'
--- data decl
-{-|
->[INTERNAL]  Implements
->simple newton iterations to solve an implicit function.
->
->The equation:
->
->F(z, x1, x2, ..., xn) == 0
->
->where d_F/dz is invertable, implicitly defines the equation:
->
->z := G(x1, x2, ..., xn)
->
->F should be an Function mapping from (n+1) inputs to m outputs. The first
->output is the residual that should be zero.
->
->ImplicitFunction (G) is an Function mapping from n inputs to m outputs. n
->may be zero. The first output is the solved for z.
->
->You can provide an initial guess for z by setting output(0) of
->ImplicitFunction.
->
->Joris Gillis
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| abstol       | OT_REAL      | 0.000        | Stopping     | CasADi::Newt |
->|              |              |              | criterion    | onImplicitIn |
->|              |              |              | tolerance on | ternal       |
->|              |              |              | max(|F|)     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| abstolStep   | OT_REAL      | 0.000        | Stopping     | CasADi::Newt |
->|              |              |              | criterion    | onImplicitIn |
->|              |              |              | tolerance on | ternal       |
->|              |              |              | step size    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| constraints  | OT_INTEGERVE | GenericType( | Constrain    | CasADi::Impl |
->|              | CTOR         | )            | the          | icitFunction |
->|              |              |              | unknowns. 0  | Internal     |
->|              |              |              | (default):   |              |
->|              |              |              | no           |              |
->|              |              |              | constraint   |              |
->|              |              |              | on ui, 1: ui |              |
->|              |              |              | >= 0.0, -1:  |              |
->|              |              |              | ui <= 0.0,   |              |
->|              |              |              | 2: ui > 0.0, |              |
->|              |              |              | -2: ui <     |              |
->|              |              |              | 0.0.         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_inp | OT_INTEGER   | 0            | Index of the | CasADi::Impl |
->| ut           |              |              | input that   | icitFunction |
->|              |              |              | corresponds  | Internal     |
->|              |              |              | to the       |              |
->|              |              |              | actual root- |              |
->|              |              |              | finding      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_out | OT_INTEGER   | 0            | Index of the | CasADi::Impl |
->| put          |              |              | output that  | icitFunction |
->|              |              |              | corresponds  | Internal     |
->|              |              |              | to the       |              |
->|              |              |              | actual root- |              |
->|              |              |              | finding      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_LINEARSOL | GenericType( | User-defined | CasADi::Impl |
->| r            | VER          | )            | linear       | icitFunction |
->|              |              |              | solver       | Internal     |
->|              |              |              | class.       |              |
->|              |              |              | Needed for s |              |
->|              |              |              | ensitivities |              |
->|              |              |              | .            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | CasADi::Impl |
->| r_options    | Y            | )            | be passed to | icitFunction |
->|              |              |              | the linear   | Internal     |
->|              |              |              | solver.      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_iter     | OT_INTEGER   | 1000         | Maximum      | CasADi::Newt |
->|              |              |              | number of    | onImplicitIn |
->|              |              |              | Newton       | ternal       |
->|              |              |              | iterations   |              |
->|              |              |              | to perform   |              |
->|              |              |              | before       |              |
->|              |              |              | returning.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp | CasADi::Newt |
->|              |              |              | uts)  (step| | onImplicitIn |
->|              |              |              | stepsize|J|F | ternal       |
->|              |              |              | |normF)      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->+----------+--------------------------------+
->|    Id    |            Used in             |
->+==========+================================+
->| F        | CasADi::NewtonImplicitInternal |
->+----------+--------------------------------+
->| J        | CasADi::NewtonImplicitInternal |
->+----------+--------------------------------+
->| inputs   | CasADi::FunctionInternal       |
->+----------+--------------------------------+
->| normF    | CasADi::NewtonImplicitInternal |
->+----------+--------------------------------+
->| outputs  | CasADi::FunctionInternal       |
->+----------+--------------------------------+
->| step     | CasADi::NewtonImplicitInternal |
->+----------+--------------------------------+
->| stepsize | CasADi::NewtonImplicitInternal |
->+----------+--------------------------------+
->
->>List of available stats
->+---------------+--------------------------------+
->|      Id       |            Used in             |
->+===============+================================+
->| iter          | CasADi::NewtonImplicitInternal |
->+---------------+--------------------------------+
->| return_status | CasADi::NewtonImplicitInternal |
->+---------------+--------------------------------+
->
->Diagrams
->
->C++ includes: newton_implicit_solver.hpp 
--}
-newtype NewtonImplicitSolver = NewtonImplicitSolver (ForeignPtr NewtonImplicitSolver')
--- typeclass decl
-class NewtonImplicitSolverClass a where
-  castNewtonImplicitSolver :: a -> NewtonImplicitSolver
-instance NewtonImplicitSolverClass NewtonImplicitSolver where
-  castNewtonImplicitSolver = id
-
--- baseclass instances
-instance SharedObjectClass NewtonImplicitSolver where
-  castSharedObject (NewtonImplicitSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass NewtonImplicitSolver where
-  castPrintableObject (NewtonImplicitSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass NewtonImplicitSolver where
-  castOptionsFunctionality (NewtonImplicitSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass NewtonImplicitSolver where
-  castFunction (NewtonImplicitSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass NewtonImplicitSolver where
-  castIOInterfaceFunction (NewtonImplicitSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-instance ImplicitFunctionClass NewtonImplicitSolver where
-  castImplicitFunction (NewtonImplicitSolver x) = ImplicitFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal NewtonImplicitSolver (Ptr NewtonImplicitSolver') where
-  marshal (NewtonImplicitSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (NewtonImplicitSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__NewtonImplicitSolver" 
-  c_delete_CasADi__NewtonImplicitSolver :: FunPtr (Ptr NewtonImplicitSolver' -> IO ())
-instance WrapReturn (Ptr NewtonImplicitSolver') NewtonImplicitSolver where
-  wrapReturn = (fmap NewtonImplicitSolver) . (newForeignPtr c_delete_CasADi__NewtonImplicitSolver)
-
-
--- raw decl
-data KinsolSolver'
--- data decl
-{-|
->[INTERNAL]  Kinsol solver
->class.
->
->The equation:
->
->F(z, x1, x2, ..., xn) == 0
->
->where d_F/dz is invertable, implicitly defines the equation:
->
->z := G(x1, x2, ..., xn)
->
->F should be an Function mapping from (n+1) inputs to m outputs. The first
->output is the residual that should be zero.
->
->ImplicitFunction (G) is an Function mapping from n inputs to m outputs. n
->may be zero. The first output is the solved for z.
->
->You can provide an initial guess for z by setting output(0) of
->ImplicitFunction. You can provide an initial guess by setting output(0).  A
->good initial guess may be needed to avoid errors like "The linear solver's
->setup function failed in an unrecoverable manner."
->
->The constraints option expects an integer entry for each variable u:  0 then
->no constraint is imposed on ui. 1 then ui will be constrained to be ui >=
->0.0. 1 then ui will be constrained to be ui <= 0.0. 2 then ui will be
->constrained to be ui > 0.0. 2 then ui will be constrained to be ui < 0.0.
->
->See:   ImplicitFunction for more information
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| abstol       | OT_REAL      | 0.000        | Stopping     | CasADi::Kins |
->|              |              |              | criterion    | olInternal   |
->|              |              |              | tolerance    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| constraints  | OT_INTEGERVE | GenericType( | Constrain    | CasADi::Impl |
->|              | CTOR         | )            | the          | icitFunction |
->|              |              |              | unknowns. 0  | Internal     |
->|              |              |              | (default):   |              |
->|              |              |              | no           |              |
->|              |              |              | constraint   |              |
->|              |              |              | on ui, 1: ui |              |
->|              |              |              | >= 0.0, -1:  |              |
->|              |              |              | ui <= 0.0,   |              |
->|              |              |              | 2: ui > 0.0, |              |
->|              |              |              | -2: ui <     |              |
->|              |              |              | 0.0.         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| disable_inte | OT_BOOLEAN   | false        | Disable      | CasADi::Kins |
->| rnal_warning |              |              | KINSOL       | olInternal   |
->| s            |              |              | internal     |              |
->|              |              |              | warning      |              |
->|              |              |              | messages     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| exact_jacobi | OT_BOOLEAN   | true         |              | CasADi::Kins |
->| an           |              |              |              | olInternal   |
->+--------------+--------------+--------------+--------------+--------------+
->| f_scale      | OT_REALVECTO |              |              | CasADi::Kins |
->|              | R            |              |              | olInternal   |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_inp | OT_INTEGER   | 0            | Index of the | CasADi::Impl |
->| ut           |              |              | input that   | icitFunction |
->|              |              |              | corresponds  | Internal     |
->|              |              |              | to the       |              |
->|              |              |              | actual root- |              |
->|              |              |              | finding      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_out | OT_INTEGER   | 0            | Index of the | CasADi::Impl |
->| put          |              |              | output that  | icitFunction |
->|              |              |              | corresponds  | Internal     |
->|              |              |              | to the       |              |
->|              |              |              | actual root- |              |
->|              |              |              | finding      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iterative_so | OT_STRING    | "gmres"      | gmres|bcgsta | CasADi::Kins |
->| lver         |              |              | b|tfqmr      | olInternal   |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_LINEARSOL | GenericType( | User-defined | CasADi::Impl |
->| r            | VER          | )            | linear       | icitFunction |
->|              |              |              | solver       | Internal     |
->|              |              |              | class.       |              |
->|              |              |              | Needed for s |              |
->|              |              |              | ensitivities |              |
->|              |              |              | .            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | CasADi::Impl |
->| r_options    | Y            | )            | be passed to | icitFunction |
->|              |              |              | the linear   | Internal     |
->|              |              |              | solver.      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_STRING    | "dense"      | dense|banded | CasADi::Kins |
->| r_type       |              |              | |iterative|u | olInternal   |
->|              |              |              | ser_defined  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| lower_bandwi | OT_INTEGER   |              |              | CasADi::Kins |
->| dth          |              |              |              | olInternal   |
->+--------------+--------------+--------------+--------------+--------------+
->| max_iter     | OT_INTEGER   | 0            | Maximum      | CasADi::Kins |
->|              |              |              | number of    | olInternal   |
->|              |              |              | Newton       |              |
->|              |              |              | iterations.  |              |
->|              |              |              | Putting 0    |              |
->|              |              |              | sets the     |              |
->|              |              |              | default      |              |
->|              |              |              | value of     |              |
->|              |              |              | KinSol.      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_krylov   | OT_INTEGER   | 0            |              | CasADi::Kins |
->|              |              |              |              | olInternal   |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp | CasADi::Kins |
->|              |              |              | uts)  (eval_ | olInternal   |
->|              |              |              | f|eval_djac) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| pretype      | OT_STRING    | "none"       | (none|left|r | CasADi::Kins |
->|              |              |              | ight|both)   | olInternal   |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| strategy     | OT_STRING    | "none"       | Globalizatio | CasADi::Kins |
->|              |              |              | n strategy ( | olInternal   |
->|              |              |              | none|linesea |              |
->|              |              |              | rch)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| u_scale      | OT_REALVECTO |              |              | CasADi::Kins |
->|              | R            |              |              | olInternal   |
->+--------------+--------------+--------------+--------------+--------------+
->| upper_bandwi | OT_INTEGER   |              |              | CasADi::Kins |
->| dth          |              |              |              | olInternal   |
->+--------------+--------------+--------------+--------------+--------------+
->| use_precondi | OT_BOOLEAN   | false        | precondition | CasADi::Kins |
->| tioner       |              |              | an iterative | olInternal   |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->+-----------+--------------------------+
->|    Id     |         Used in          |
->+===========+==========================+
->| eval_djac | CasADi::KinsolInternal   |
->+-----------+--------------------------+
->| eval_f    | CasADi::KinsolInternal   |
->+-----------+--------------------------+
->| inputs    | CasADi::FunctionInternal |
->+-----------+--------------------------+
->| outputs   | CasADi::FunctionInternal |
->+-----------+--------------------------+
->
->Diagrams
->
->C++ includes: kinsol_solver.hpp 
--}
-newtype KinsolSolver = KinsolSolver (ForeignPtr KinsolSolver')
--- typeclass decl
-class KinsolSolverClass a where
-  castKinsolSolver :: a -> KinsolSolver
-instance KinsolSolverClass KinsolSolver where
-  castKinsolSolver = id
-
--- baseclass instances
-instance SharedObjectClass KinsolSolver where
-  castSharedObject (KinsolSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass KinsolSolver where
-  castPrintableObject (KinsolSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass KinsolSolver where
-  castOptionsFunctionality (KinsolSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass KinsolSolver where
-  castFunction (KinsolSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass KinsolSolver where
-  castIOInterfaceFunction (KinsolSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-instance ImplicitFunctionClass KinsolSolver where
-  castImplicitFunction (KinsolSolver x) = ImplicitFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal KinsolSolver (Ptr KinsolSolver') where
-  marshal (KinsolSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (KinsolSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__KinsolSolver" 
-  c_delete_CasADi__KinsolSolver :: FunPtr (Ptr KinsolSolver' -> IO ())
-instance WrapReturn (Ptr KinsolSolver') KinsolSolver where
-  wrapReturn = (fmap KinsolSolver) . (newForeignPtr c_delete_CasADi__KinsolSolver)
-
-
--- raw decl
-data QPStructure'
--- data decl
-{-|
->[INTERNAL]  Helper
->function for 'QPStruct'
->
->C++ includes: casadi_types.hpp 
--}
-newtype QPStructure = QPStructure (ForeignPtr QPStructure')
--- typeclass decl
-class QPStructureClass a where
-  castQPStructure :: a -> QPStructure
-instance QPStructureClass QPStructure where
-  castQPStructure = id
-
--- baseclass instances
-instance PrintableObjectClass QPStructure where
-  castPrintableObject (QPStructure x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal QPStructure (Ptr QPStructure') where
-  marshal (QPStructure x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (QPStructure x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__QPStructIOSchemeVector_CasADi__Sparsity_" 
-  c_delete_CasADi__QPStructIOSchemeVector_CasADi__Sparsity_ :: FunPtr (Ptr QPStructure' -> IO ())
-instance WrapReturn (Ptr QPStructure') QPStructure where
-  wrapReturn = (fmap QPStructure) . (newForeignPtr c_delete_CasADi__QPStructIOSchemeVector_CasADi__Sparsity_)
-
-
--- raw decl
-data CasadiMeta'
--- data decl
-{-|
->[INTERNAL]  Collects global
->CasADi meta information.
->
->Joris Gillis
->
->C++ includes: casadi_meta.hpp 
--}
-newtype CasadiMeta = CasadiMeta (ForeignPtr CasadiMeta')
--- typeclass decl
-class CasadiMetaClass a where
-  castCasadiMeta :: a -> CasadiMeta
-instance CasadiMetaClass CasadiMeta where
-  castCasadiMeta = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal CasadiMeta (Ptr CasadiMeta') where
-  marshal (CasadiMeta x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CasadiMeta x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__CasadiMeta" 
-  c_delete_CasADi__CasadiMeta :: FunPtr (Ptr CasadiMeta' -> IO ())
-instance WrapReturn (Ptr CasadiMeta') CasadiMeta where
-  wrapReturn = (fmap CasadiMeta) . (newForeignPtr c_delete_CasADi__CasadiMeta)
-
-
--- raw decl
-data SymbolicQR'
--- data decl
-{-|
->[INTERNAL]   LinearSolver based
->on QR factorization with sparsity pattern based reordering without partial
->pivoting.
->
->Solves the linear system A*X = B or A^T*X = B for X with A square and non-
->singular
->
->If A is structurally singular, an error will be thrown during init. If A is
->numerically singular, the prepare step will fail. Joel Andersson
->
->>Input scheme: CasADi::LinsolInput (LINSOL_NUM_IN = 3) [linsolIn]
->+-----------+-------+------------------------------------------------+
->| Full name | Short |                  Description                   |
->+===========+=======+================================================+
->| LINSOL_A  | A     | The square matrix A: sparse, (n x n). .        |
->+-----------+-------+------------------------------------------------+
->| LINSOL_B  | B     | The right-hand-side matrix b: dense, (n x m) . |
->+-----------+-------+------------------------------------------------+
->
->>Output scheme: CasADi::LinsolOutput (LINSOL_NUM_OUT = 2) [linsolOut]
->+-----------+-------+----------------------------------------------+
->| Full name | Short |                 Description                  |
->+===========+=======+==============================================+
->| LINSOL_X  | X     | Solution to the linear system of equations . |
->+-----------+-------+----------------------------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| codegen      | OT_BOOLEAN   | false        | C-code       | CasADi::Symb |
->|              |              |              | generation   | olicQRIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| compiler     | OT_STRING    | "gcc -fPIC   | Compiler     | CasADi::Symb |
->|              |              | -O2"         | command to   | olicQRIntern |
->|              |              |              | be used for  | al           |
->|              |              |              | compiling    |              |
->|              |              |              | generated    |              |
->|              |              |              | code         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: symbolic_qr.hpp 
--}
-newtype SymbolicQR = SymbolicQR (ForeignPtr SymbolicQR')
--- typeclass decl
-class SymbolicQRClass a where
-  castSymbolicQR :: a -> SymbolicQR
-instance SymbolicQRClass SymbolicQR where
-  castSymbolicQR = id
-
--- baseclass instances
-instance SharedObjectClass SymbolicQR where
-  castSharedObject (SymbolicQR x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SymbolicQR where
-  castPrintableObject (SymbolicQR x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SymbolicQR where
-  castOptionsFunctionality (SymbolicQR x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SymbolicQR where
-  castFunction (SymbolicQR x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SymbolicQR where
-  castIOInterfaceFunction (SymbolicQR x) = IOInterfaceFunction (castForeignPtr x)
-
-instance LinearSolverClass SymbolicQR where
-  castLinearSolver (SymbolicQR x) = LinearSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SymbolicQR (Ptr SymbolicQR') where
-  marshal (SymbolicQR x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SymbolicQR x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SymbolicQR" 
-  c_delete_CasADi__SymbolicQR :: FunPtr (Ptr SymbolicQR' -> IO ())
-instance WrapReturn (Ptr SymbolicQR') SymbolicQR where
-  wrapReturn = (fmap SymbolicQR) . (newForeignPtr c_delete_CasADi__SymbolicQR)
-
-
--- raw decl
-data DirectSingleShooting'
--- data decl
-{-|
->[INTERNAL]  Direct
->Single Shooting.
->
->ns: Number of shooting nodes: from option number_of_grid_points  nx: Number
->of differential states: from ffcn.input(INTEGRATOR_X0).size()  nc: Number of
->constants during intergation: ffcn.input(INTEGRATOR_P).size() nu: Number of
->controls: from nc - np  np: Number of parameters: from option
->number_of_parameters  nh: Number of point constraints: from
->cfcn.input(0).size()
->
->Joel Andersson
->
->>Input scheme: CasADi::OCPInput (OCP_NUM_IN = 14) [ocpIn]
->+------------+--------+----------------------------------------------+
->| Full name  | Short  |                 Description                  |
->+============+========+==============================================+
->| OCP_LBX    | lbx    | States lower bounds (nx x (ns+1)) .          |
->+------------+--------+----------------------------------------------+
->| OCP_UBX    | ubx    | States upper bounds (nx x (ns+1)) .          |
->+------------+--------+----------------------------------------------+
->| OCP_X_INIT | x_init | States initial guess (nx x (ns+1)) .         |
->+------------+--------+----------------------------------------------+
->| OCP_LBU    | lbu    | Controls lower bounds (nu x ns) .            |
->+------------+--------+----------------------------------------------+
->| OCP_UBU    | ubu    | Controls upper bounds (nu x ns) .            |
->+------------+--------+----------------------------------------------+
->| OCP_U_INIT | u_init | Controls initial guess (nu x ns) .           |
->+------------+--------+----------------------------------------------+
->| OCP_LBP    | lbp    | Parameters lower bounds (np x 1) .           |
->+------------+--------+----------------------------------------------+
->| OCP_UBP    | ubp    | Parameters upper bounds (np x 1) .           |
->+------------+--------+----------------------------------------------+
->| OCP_P_INIT | p_init | Parameters initial guess (np x 1) .          |
->+------------+--------+----------------------------------------------+
->| OCP_LBH    | lbh    | Point constraint lower bound (nh x (ns+1)) . |
->+------------+--------+----------------------------------------------+
->| OCP_UBH    | ubh    | Point constraint upper bound (nh x (ns+1)) . |
->+------------+--------+----------------------------------------------+
->| OCP_LBG    | lbg    | Lower bound for the coupling constraints .   |
->+------------+--------+----------------------------------------------+
->| OCP_UBG    | ubg    | Upper bound for the coupling constraints .   |
->+------------+--------+----------------------------------------------+
->
->>Output scheme: CasADi::OCPOutput (OCP_NUM_OUT = 5) [ocpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| OCP_X_OPT              | x_opt                  | Optimal state          |
->|                        |                        | trajectory .           |
->+------------------------+------------------------+------------------------+
->| OCP_U_OPT              | u_opt                  | Optimal control        |
->|                        |                        | trajectory .           |
->+------------------------+------------------------+------------------------+
->| OCP_P_OPT              | p_opt                  | Optimal parameters .   |
->+------------------------+------------------------+------------------------+
->| OCP_COST               | cost                   | Objective/cost         |
->|                        |                        | function for optimal   |
->|                        |                        | solution (1 x 1) .     |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| final_time   | OT_REAL      | 1            |              | CasADi::OCPS |
->|              |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| integrator   | OT_INTEGRATO | GenericType( | An           | CasADi::Dire |
->|              | R            | )            | integrator   | ctSingleShoo |
->|              |              |              | creator      | tingInternal |
->|              |              |              | function     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| integrator_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::Dire |
->| ptions       | Y            | )            | be passed to | ctSingleShoo |
->|              |              |              | the          | tingInternal |
->|              |              |              | integrator   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver   | OT_NLPSOLVER | GenericType( | An NLPSolver | CasADi::Dire |
->|              |              | )            | creator      | ctSingleShoo |
->|              |              |              | function     | tingInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::Dire |
->| ptions       | Y            | )            | be passed to | ctSingleShoo |
->|              |              |              | the NLP      | tingInternal |
->|              |              |              | Solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_gr | OT_INTEGER   | 20           |              | CasADi::OCPS |
->| id_points    |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_pa | OT_INTEGER   | 0            |              | CasADi::OCPS |
->| rameters     |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| parallelizat | OT_STRING    | GenericType( | Passed on to | CasADi::Dire |
->| ion          |              | )            | CasADi::Para | ctSingleShoo |
->|              |              |              | llelizer     | tingInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: direct_single_shooting.hpp 
--}
-newtype DirectSingleShooting = DirectSingleShooting (ForeignPtr DirectSingleShooting')
--- typeclass decl
-class DirectSingleShootingClass a where
-  castDirectSingleShooting :: a -> DirectSingleShooting
-instance DirectSingleShootingClass DirectSingleShooting where
-  castDirectSingleShooting = id
-
--- baseclass instances
-instance SharedObjectClass DirectSingleShooting where
-  castSharedObject (DirectSingleShooting x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass DirectSingleShooting where
-  castPrintableObject (DirectSingleShooting x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass DirectSingleShooting where
-  castOptionsFunctionality (DirectSingleShooting x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass DirectSingleShooting where
-  castFunction (DirectSingleShooting x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass DirectSingleShooting where
-  castIOInterfaceFunction (DirectSingleShooting x) = IOInterfaceFunction (castForeignPtr x)
-
-instance OCPSolverClass DirectSingleShooting where
-  castOCPSolver (DirectSingleShooting x) = OCPSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal DirectSingleShooting (Ptr DirectSingleShooting') where
-  marshal (DirectSingleShooting x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (DirectSingleShooting x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__DirectSingleShooting" 
-  c_delete_CasADi__DirectSingleShooting :: FunPtr (Ptr DirectSingleShooting' -> IO ())
-instance WrapReturn (Ptr DirectSingleShooting') DirectSingleShooting where
-  wrapReturn = (fmap DirectSingleShooting) . (newForeignPtr c_delete_CasADi__DirectSingleShooting)
-
-
--- raw decl
-data SX'
--- data decl
-{-|
->[INTERNAL]  Sparse matrix class. SX
->and DMatrix are specializations.
->
->General sparse matrix class that is designed with the idea that "everything
->is a matrix", that is, also scalars and vectors. This philosophy makes it
->easy to use and to interface in particularily with Python and Matlab/Octave.
->Index starts with 0. Index vec happens as follows: (rr,cc) -> k =
->rr+cc*size1() Vectors are column vectors.  The storage format is Compressed
->Column Storage (CCS), similar to that used for sparse matrices in Matlab,
->but unlike this format, we do allow for elements to be structurally non-zero
->but numerically zero. Matrix<DataType> is polymorphic with a
->std::vector<DataType> that contain all non- identical-zero elements. The
->sparsity can be accessed with Sparsity& sparsity() Joel Andersson
->
->C++ includes: casadi_types.hpp 
--}
-newtype SX = SX (ForeignPtr SX')
--- typeclass decl
-class SXClass a where
-  castSX :: a -> SX
-instance SXClass SX where
-  castSX = id
-
--- baseclass instances
-instance PrintableObjectClass SX where
-  castPrintableObject (SX x) = PrintableObject (castForeignPtr x)
-
-instance GenSXClass SX where
-  castGenSX (SX x) = GenSX (castForeignPtr x)
-
-instance ExpSXClass SX where
-  castExpSX (SX x) = ExpSX (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SX (Ptr SX') where
-  marshal (SX x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SX x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Matrix_CasADi__SXElement_" 
-  c_delete_CasADi__Matrix_CasADi__SXElement_ :: FunPtr (Ptr SX' -> IO ())
-instance WrapReturn (Ptr SX') SX where
-  wrapReturn = (fmap SX) . (newForeignPtr c_delete_CasADi__Matrix_CasADi__SXElement_)
-
-
--- raw decl
-data DirectMultipleShooting'
--- data decl
-{-|
->[INTERNAL]  Direct
->Multiple Shooting.
->
->ns: Number of shooting nodes: from option number_of_grid_points  nx: Number
->of differential states: from ffcn.input(INTEGRATOR_X0).size()  nc: Number of
->constants during intergation: ffcn.input(INTEGRATOR_P).size() nu: Number of
->controls: from nc - np  np: Number of parameters: from option
->number_of_parameters  nh: Number of point constraints: from
->cfcn.input(0).size()
->
->Joel Andersson
->
->>Input scheme: CasADi::OCPInput (OCP_NUM_IN = 14) [ocpIn]
->+------------+--------+----------------------------------------------+
->| Full name  | Short  |                 Description                  |
->+============+========+==============================================+
->| OCP_LBX    | lbx    | States lower bounds (nx x (ns+1)) .          |
->+------------+--------+----------------------------------------------+
->| OCP_UBX    | ubx    | States upper bounds (nx x (ns+1)) .          |
->+------------+--------+----------------------------------------------+
->| OCP_X_INIT | x_init | States initial guess (nx x (ns+1)) .         |
->+------------+--------+----------------------------------------------+
->| OCP_LBU    | lbu    | Controls lower bounds (nu x ns) .            |
->+------------+--------+----------------------------------------------+
->| OCP_UBU    | ubu    | Controls upper bounds (nu x ns) .            |
->+------------+--------+----------------------------------------------+
->| OCP_U_INIT | u_init | Controls initial guess (nu x ns) .           |
->+------------+--------+----------------------------------------------+
->| OCP_LBP    | lbp    | Parameters lower bounds (np x 1) .           |
->+------------+--------+----------------------------------------------+
->| OCP_UBP    | ubp    | Parameters upper bounds (np x 1) .           |
->+------------+--------+----------------------------------------------+
->| OCP_P_INIT | p_init | Parameters initial guess (np x 1) .          |
->+------------+--------+----------------------------------------------+
->| OCP_LBH    | lbh    | Point constraint lower bound (nh x (ns+1)) . |
->+------------+--------+----------------------------------------------+
->| OCP_UBH    | ubh    | Point constraint upper bound (nh x (ns+1)) . |
->+------------+--------+----------------------------------------------+
->| OCP_LBG    | lbg    | Lower bound for the coupling constraints .   |
->+------------+--------+----------------------------------------------+
->| OCP_UBG    | ubg    | Upper bound for the coupling constraints .   |
->+------------+--------+----------------------------------------------+
->
->>Output scheme: CasADi::OCPOutput (OCP_NUM_OUT = 5) [ocpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| OCP_X_OPT              | x_opt                  | Optimal state          |
->|                        |                        | trajectory .           |
->+------------------------+------------------------+------------------------+
->| OCP_U_OPT              | u_opt                  | Optimal control        |
->|                        |                        | trajectory .           |
->+------------------------+------------------------+------------------------+
->| OCP_P_OPT              | p_opt                  | Optimal parameters .   |
->+------------------------+------------------------+------------------------+
->| OCP_COST               | cost                   | Objective/cost         |
->|                        |                        | function for optimal   |
->|                        |                        | solution (1 x 1) .     |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| final_time   | OT_REAL      | 1            |              | CasADi::OCPS |
->|              |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| integrator   | OT_INTEGRATO | GenericType( | An           | CasADi::Dire |
->|              | R            | )            | integrator   | ctMultipleSh |
->|              |              |              | creator      | ootingIntern |
->|              |              |              | function     | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| integrator_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::Dire |
->| ptions       | Y            | )            | be passed to | ctMultipleSh |
->|              |              |              | the          | ootingIntern |
->|              |              |              | integrator   | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver   | OT_NLPSOLVER | GenericType( | An NLPSolver | CasADi::Dire |
->|              |              | )            | creator      | ctMultipleSh |
->|              |              |              | function     | ootingIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| nlp_solver_o | OT_DICTIONAR | GenericType( | Options to   | CasADi::Dire |
->| ptions       | Y            | )            | be passed to | ctMultipleSh |
->|              |              |              | the NLP      | ootingIntern |
->|              |              |              | Solver       | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_gr | OT_INTEGER   | 20           |              | CasADi::OCPS |
->| id_points    |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_pa | OT_INTEGER   | 0            |              | CasADi::OCPS |
->| rameters     |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| parallelizat | OT_STRING    | GenericType( | Passed on to | CasADi::Dire |
->| ion          |              | )            | CasADi::Para | ctMultipleSh |
->|              |              |              | llelizer     | ootingIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: direct_multiple_shooting.hpp 
--}
-newtype DirectMultipleShooting = DirectMultipleShooting (ForeignPtr DirectMultipleShooting')
--- typeclass decl
-class DirectMultipleShootingClass a where
-  castDirectMultipleShooting :: a -> DirectMultipleShooting
-instance DirectMultipleShootingClass DirectMultipleShooting where
-  castDirectMultipleShooting = id
-
--- baseclass instances
-instance SharedObjectClass DirectMultipleShooting where
-  castSharedObject (DirectMultipleShooting x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass DirectMultipleShooting where
-  castPrintableObject (DirectMultipleShooting x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass DirectMultipleShooting where
-  castOptionsFunctionality (DirectMultipleShooting x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass DirectMultipleShooting where
-  castFunction (DirectMultipleShooting x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass DirectMultipleShooting where
-  castIOInterfaceFunction (DirectMultipleShooting x) = IOInterfaceFunction (castForeignPtr x)
-
-instance OCPSolverClass DirectMultipleShooting where
-  castOCPSolver (DirectMultipleShooting x) = OCPSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal DirectMultipleShooting (Ptr DirectMultipleShooting') where
-  marshal (DirectMultipleShooting x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (DirectMultipleShooting x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__DirectMultipleShooting" 
-  c_delete_CasADi__DirectMultipleShooting :: FunPtr (Ptr DirectMultipleShooting' -> IO ())
-instance WrapReturn (Ptr DirectMultipleShooting') DirectMultipleShooting where
-  wrapReturn = (fmap DirectMultipleShooting) . (newForeignPtr c_delete_CasADi__DirectMultipleShooting)
-
-
--- raw decl
-data IOInterfaceFunction'
--- data decl
-{-|
->[INTERNAL]  Interface for
->accessing input and output data structures.
->
->Joel Andersson
->
->C++ includes: io_interface.hpp 
--}
-newtype IOInterfaceFunction = IOInterfaceFunction (ForeignPtr IOInterfaceFunction')
--- typeclass decl
-class IOInterfaceFunctionClass a where
-  castIOInterfaceFunction :: a -> IOInterfaceFunction
-instance IOInterfaceFunctionClass IOInterfaceFunction where
-  castIOInterfaceFunction = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal IOInterfaceFunction (Ptr IOInterfaceFunction') where
-  marshal (IOInterfaceFunction x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (IOInterfaceFunction x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__IOInterface_CasADi__Function_" 
-  c_delete_CasADi__IOInterface_CasADi__Function_ :: FunPtr (Ptr IOInterfaceFunction' -> IO ())
-instance WrapReturn (Ptr IOInterfaceFunction') IOInterfaceFunction where
-  wrapReturn = (fmap IOInterfaceFunction) . (newForeignPtr c_delete_CasADi__IOInterface_CasADi__Function_)
-
-
--- raw decl
-data SDQPStructure'
--- data decl
-{-|
->[INTERNAL]  Helper
->function for 'SDQPStruct'
->
->C++ includes: casadi_types.hpp 
--}
-newtype SDQPStructure = SDQPStructure (ForeignPtr SDQPStructure')
--- typeclass decl
-class SDQPStructureClass a where
-  castSDQPStructure :: a -> SDQPStructure
-instance SDQPStructureClass SDQPStructure where
-  castSDQPStructure = id
-
--- baseclass instances
-instance PrintableObjectClass SDQPStructure where
-  castPrintableObject (SDQPStructure x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SDQPStructure (Ptr SDQPStructure') where
-  marshal (SDQPStructure x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SDQPStructure x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SDQPStructIOSchemeVector_CasADi__Sparsity_" 
-  c_delete_CasADi__SDQPStructIOSchemeVector_CasADi__Sparsity_ :: FunPtr (Ptr SDQPStructure' -> IO ())
-instance WrapReturn (Ptr SDQPStructure') SDQPStructure where
-  wrapReturn = (fmap SDQPStructure) . (newForeignPtr c_delete_CasADi__SDQPStructIOSchemeVector_CasADi__Sparsity_)
-
-
--- raw decl
-data SDPStructure'
--- data decl
-{-|
->[INTERNAL]  Helper
->function for 'SDPStruct'
->
->C++ includes: casadi_types.hpp 
--}
-newtype SDPStructure = SDPStructure (ForeignPtr SDPStructure')
--- typeclass decl
-class SDPStructureClass a where
-  castSDPStructure :: a -> SDPStructure
-instance SDPStructureClass SDPStructure where
-  castSDPStructure = id
-
--- baseclass instances
-instance PrintableObjectClass SDPStructure where
-  castPrintableObject (SDPStructure x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SDPStructure (Ptr SDPStructure') where
-  marshal (SDPStructure x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SDPStructure x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SDPStructIOSchemeVector_CasADi__Sparsity_" 
-  c_delete_CasADi__SDPStructIOSchemeVector_CasADi__Sparsity_ :: FunPtr (Ptr SDPStructure' -> IO ())
-instance WrapReturn (Ptr SDPStructure') SDPStructure where
-  wrapReturn = (fmap SDPStructure) . (newForeignPtr c_delete_CasADi__SDPStructIOSchemeVector_CasADi__Sparsity_)
-
-
--- raw decl
-data GenDMatrix'
--- data decl
-{-|
->[INTERNAL]   Matrix base
->class.
->
->This is a common base class for MX and Matrix<>, introducing a uniform
->syntax and implementing common functionality using the curiously recurring
->template pattern (CRTP) idiom.  The class is designed with the idea that
->"everything is a matrix", that is, also scalars and vectors. This
->philosophy makes it easy to use and to interface in particularily with
->Python and Matlab/Octave.  The syntax tries to stay as close as possible to
->the ublas syntax when it comes to vector/matrix operations.  Index starts
->with 0. Index vec happens as follows: (rr,cc) -> k = rr+cc*size1() Vectors
->are column vectors.  The storage format is Compressed Column Storage (CCS),
->similar to that used for sparse matrices in Matlab, but unlike this format,
->we do allow for elements to be structurally non-zero but numerically zero.
->The sparsity pattern, which is reference counted and cached, can be accessed
->with Sparsity& sparsity() Joel Andersson
->
->C++ includes: generic_matrix.hpp 
--}
-newtype GenDMatrix = GenDMatrix (ForeignPtr GenDMatrix')
--- typeclass decl
-class GenDMatrixClass a where
-  castGenDMatrix :: a -> GenDMatrix
-instance GenDMatrixClass GenDMatrix where
-  castGenDMatrix = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal GenDMatrix (Ptr GenDMatrix') where
-  marshal (GenDMatrix x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (GenDMatrix x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__GenericMatrix_CasADi__Matrix_double__" 
-  c_delete_CasADi__GenericMatrix_CasADi__Matrix_double__ :: FunPtr (Ptr GenDMatrix' -> IO ())
-instance WrapReturn (Ptr GenDMatrix') GenDMatrix where
-  wrapReturn = (fmap GenDMatrix) . (newForeignPtr c_delete_CasADi__GenericMatrix_CasADi__Matrix_double__)
-
-
--- raw decl
-data ExpIMatrix'
--- data decl
-{-|
->[INTERNAL]  Expression
->interface.
->
->This is a common base class for SX, MX and Matrix<>, introducing a uniform
->syntax and implementing common functionality using the curiously recurring
->template pattern (CRTP) idiom. Joel Andersson
->
->C++ includes: generic_expression.hpp 
--}
-newtype ExpIMatrix = ExpIMatrix (ForeignPtr ExpIMatrix')
--- typeclass decl
-class ExpIMatrixClass a where
-  castExpIMatrix :: a -> ExpIMatrix
-instance ExpIMatrixClass ExpIMatrix where
-  castExpIMatrix = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal ExpIMatrix (Ptr ExpIMatrix') where
-  marshal (ExpIMatrix x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ExpIMatrix x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__GenericExpression_CasADi__Matrix_int__" 
-  c_delete_CasADi__GenericExpression_CasADi__Matrix_int__ :: FunPtr (Ptr ExpIMatrix' -> IO ())
-instance WrapReturn (Ptr ExpIMatrix') ExpIMatrix where
-  wrapReturn = (fmap ExpIMatrix) . (newForeignPtr c_delete_CasADi__GenericExpression_CasADi__Matrix_int__)
-
-
--- raw decl
-data CustomFunction'
--- data decl
-{-|
->[INTERNAL]  Interface to a
->custom function.
->
->Joel Andersson
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: custom_function.hpp 
--}
-newtype CustomFunction = CustomFunction (ForeignPtr CustomFunction')
--- typeclass decl
-class CustomFunctionClass a where
-  castCustomFunction :: a -> CustomFunction
-instance CustomFunctionClass CustomFunction where
-  castCustomFunction = id
-
--- baseclass instances
-instance SharedObjectClass CustomFunction where
-  castSharedObject (CustomFunction x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass CustomFunction where
-  castPrintableObject (CustomFunction x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass CustomFunction where
-  castOptionsFunctionality (CustomFunction x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass CustomFunction where
-  castFunction (CustomFunction x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass CustomFunction where
-  castIOInterfaceFunction (CustomFunction x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal CustomFunction (Ptr CustomFunction') where
-  marshal (CustomFunction x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CustomFunction x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__CustomFunction" 
-  c_delete_CasADi__CustomFunction :: FunPtr (Ptr CustomFunction' -> IO ())
-instance WrapReturn (Ptr CustomFunction') CustomFunction where
-  wrapReturn = (fmap CustomFunction) . (newForeignPtr c_delete_CasADi__CustomFunction)
-
-
--- raw decl
-data LPSolver'
--- data decl
-{-|
->[INTERNAL]   LPSolver.
->
->Solves the following linear problem:
->
->min          c' x   x  subject to             LBA <= A x <= UBA LBX <= x
-><= UBX                  with x ( n x 1)          c ( n x 1 )          A
->sparse matrix ( nc x n)          LBA, UBA dense vector (nc x 1)
->LBX, UBX dense vector (n x 1)                  n: number of decision
->variables (x)     nc: number of constraints (A)
->
->Joris Gillis
->
->>Input scheme: CasADi::LPSolverInput (LP_SOLVER_NUM_IN = 7) [lpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| LP_SOLVER_C            | c                      | The vector c: dense (n |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_A            | a                      | The matrix A: sparse,  |
->|                        |                        | (nc x n) - product     |
->|                        |                        | with x must be dense.  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LBA          | lba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_UBA          | uba                    | dense, (nc x 1)        |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LBX          | lbx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_UBX          | ubx                    | dense, (n x 1)         |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::LPSolverOutput (LP_SOLVER_NUM_OUT = 5) [lpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| LP_SOLVER_X            | x                      | The primal solution .  |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_COST         | cost                   | The optimal cost .     |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LAM_A        | lam_a                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | linear bounds .        |
->+------------------------+------------------------+------------------------+
->| LP_SOLVER_LAM_X        | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds .        |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: lp_solver.hpp 
--}
-newtype LPSolver = LPSolver (ForeignPtr LPSolver')
--- typeclass decl
-class LPSolverClass a where
-  castLPSolver :: a -> LPSolver
-instance LPSolverClass LPSolver where
-  castLPSolver = id
-
--- baseclass instances
-instance SharedObjectClass LPSolver where
-  castSharedObject (LPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass LPSolver where
-  castPrintableObject (LPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass LPSolver where
-  castOptionsFunctionality (LPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass LPSolver where
-  castFunction (LPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass LPSolver where
-  castIOInterfaceFunction (LPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal LPSolver (Ptr LPSolver') where
-  marshal (LPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (LPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__LPSolver" 
-  c_delete_CasADi__LPSolver :: FunPtr (Ptr LPSolver' -> IO ())
-instance WrapReturn (Ptr LPSolver') LPSolver where
-  wrapReturn = (fmap LPSolver) . (newForeignPtr c_delete_CasADi__LPSolver)
-
-
--- raw decl
-data OCPSolver'
--- data decl
-{-|
->[INTERNAL]  Base class for OCP
->solvers.
->
->Joel Andersson
->
->>Input scheme: CasADi::OCPInput (OCP_NUM_IN = 14) [ocpIn]
->+------------+--------+----------------------------------------------+
->| Full name  | Short  |                 Description                  |
->+============+========+==============================================+
->| OCP_LBX    | lbx    | States lower bounds (nx x (ns+1)) .          |
->+------------+--------+----------------------------------------------+
->| OCP_UBX    | ubx    | States upper bounds (nx x (ns+1)) .          |
->+------------+--------+----------------------------------------------+
->| OCP_X_INIT | x_init | States initial guess (nx x (ns+1)) .         |
->+------------+--------+----------------------------------------------+
->| OCP_LBU    | lbu    | Controls lower bounds (nu x ns) .            |
->+------------+--------+----------------------------------------------+
->| OCP_UBU    | ubu    | Controls upper bounds (nu x ns) .            |
->+------------+--------+----------------------------------------------+
->| OCP_U_INIT | u_init | Controls initial guess (nu x ns) .           |
->+------------+--------+----------------------------------------------+
->| OCP_LBP    | lbp    | Parameters lower bounds (np x 1) .           |
->+------------+--------+----------------------------------------------+
->| OCP_UBP    | ubp    | Parameters upper bounds (np x 1) .           |
->+------------+--------+----------------------------------------------+
->| OCP_P_INIT | p_init | Parameters initial guess (np x 1) .          |
->+------------+--------+----------------------------------------------+
->| OCP_LBH    | lbh    | Point constraint lower bound (nh x (ns+1)) . |
->+------------+--------+----------------------------------------------+
->| OCP_UBH    | ubh    | Point constraint upper bound (nh x (ns+1)) . |
->+------------+--------+----------------------------------------------+
->| OCP_LBG    | lbg    | Lower bound for the coupling constraints .   |
->+------------+--------+----------------------------------------------+
->| OCP_UBG    | ubg    | Upper bound for the coupling constraints .   |
->+------------+--------+----------------------------------------------+
->
->>Output scheme: CasADi::OCPOutput (OCP_NUM_OUT = 5) [ocpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| OCP_X_OPT              | x_opt                  | Optimal state          |
->|                        |                        | trajectory .           |
->+------------------------+------------------------+------------------------+
->| OCP_U_OPT              | u_opt                  | Optimal control        |
->|                        |                        | trajectory .           |
->+------------------------+------------------------+------------------------+
->| OCP_P_OPT              | p_opt                  | Optimal parameters .   |
->+------------------------+------------------------+------------------------+
->| OCP_COST               | cost                   | Objective/cost         |
->|                        |                        | function for optimal   |
->|                        |                        | solution (1 x 1) .     |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| final_time   | OT_REAL      | 1            |              | CasADi::OCPS |
->|              |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_gr | OT_INTEGER   | 20           |              | CasADi::OCPS |
->| id_points    |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| number_of_pa | OT_INTEGER   | 0            |              | CasADi::OCPS |
->| rameters     |              |              |              | olverInterna |
->|              |              |              |              | l            |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: ocp_solver.hpp 
--}
-newtype OCPSolver = OCPSolver (ForeignPtr OCPSolver')
--- typeclass decl
-class OCPSolverClass a where
-  castOCPSolver :: a -> OCPSolver
-instance OCPSolverClass OCPSolver where
-  castOCPSolver = id
-
--- baseclass instances
-instance SharedObjectClass OCPSolver where
-  castSharedObject (OCPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass OCPSolver where
-  castPrintableObject (OCPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass OCPSolver where
-  castOptionsFunctionality (OCPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass OCPSolver where
-  castFunction (OCPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass OCPSolver where
-  castIOInterfaceFunction (OCPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal OCPSolver (Ptr OCPSolver') where
-  marshal (OCPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (OCPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__OCPSolver" 
-  c_delete_CasADi__OCPSolver :: FunPtr (Ptr OCPSolver' -> IO ())
-instance WrapReturn (Ptr OCPSolver') OCPSolver where
-  wrapReturn = (fmap OCPSolver) . (newForeignPtr c_delete_CasADi__OCPSolver)
-
-
--- raw decl
-data LinearSolver'
--- data decl
-{-|
->[INTERNAL]  Base class for the
->linear solver classes.
->
->Solves the linear system A*X = B or A^T*X = B for X with A square and non-
->singular
->
->If A is structurally singular, an error will be thrown during init. If A is
->numerically singular, the prepare step will fail. Joel Andersson
->
->>Input scheme: CasADi::LinsolInput (LINSOL_NUM_IN = 3) [linsolIn]
->+-----------+-------+------------------------------------------------+
->| Full name | Short |                  Description                   |
->+===========+=======+================================================+
->| LINSOL_A  | A     | The square matrix A: sparse, (n x n). .        |
->+-----------+-------+------------------------------------------------+
->| LINSOL_B  | B     | The right-hand-side matrix b: dense, (n x m) . |
->+-----------+-------+------------------------------------------------+
->
->>Output scheme: CasADi::LinsolOutput (LINSOL_NUM_OUT = 2) [linsolOut]
->+-----------+-------+----------------------------------------------+
->| Full name | Short |                 Description                  |
->+===========+=======+==============================================+
->| LINSOL_X  | X     | Solution to the linear system of equations . |
->+-----------+-------+----------------------------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: linear_solver.hpp 
--}
-newtype LinearSolver = LinearSolver (ForeignPtr LinearSolver')
--- typeclass decl
-class LinearSolverClass a where
-  castLinearSolver :: a -> LinearSolver
-instance LinearSolverClass LinearSolver where
-  castLinearSolver = id
-
--- baseclass instances
-instance SharedObjectClass LinearSolver where
-  castSharedObject (LinearSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass LinearSolver where
-  castPrintableObject (LinearSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass LinearSolver where
-  castOptionsFunctionality (LinearSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass LinearSolver where
-  castFunction (LinearSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass LinearSolver where
-  castIOInterfaceFunction (LinearSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal LinearSolver (Ptr LinearSolver') where
-  marshal (LinearSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (LinearSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__LinearSolver" 
-  c_delete_CasADi__LinearSolver :: FunPtr (Ptr LinearSolver' -> IO ())
-instance WrapReturn (Ptr LinearSolver') LinearSolver where
-  wrapReturn = (fmap LinearSolver) . (newForeignPtr c_delete_CasADi__LinearSolver)
-
-
--- raw decl
-data SymbolicOCP'
--- data decl
-{-|
->[INTERNAL]  A flat OCP
->representation coupled to an XML file.
->
->Variables:
->
->x:      differential states z:      algebraic states p : independent
->parameters t :     time u :     control signals q : quadrature states y :
->dependent variables
->
->Equations:
->
->explicit or implicit ODE: \\dot{x} = ode(t,x,z,u,p_free,pi,pd) or 0 =
->ode(t,x,z,\\dot{x},u,p_free,pi,pd) algebraic equations: 0 =
->alg(t,x,z,u,p_free,pi,pd) quadratures:              \\dot{q} =
->quad(t,x,z,u,p_free,pi,pd) dependent equations:            y =
->dep(t,x,z,u,p_free,pi,pd) initial equations:              0 =
->initial(t,x,z,u,p_free,pi,pd)
->
->Objective function terms:
->
->Mayer terms:          \\sum{mterm_k} Lagrange terms:
->\\sum{\\integral{mterm}}
->
->Note that when parsed, all dynamic equations end up in the implicit category
->"dae". At a later state, the DAE can be reformulated, for example in semi-
->explicit form, possibly in addition to a set of quadrature states.
->
->Usage skeleton:
->
->Call default constructor  SymbolicOCP ocp;
->
->Parse an FMI conformant XML file ocp.parseFMI(xml_file_name)
->
->Modify/add variables, equations, optimization ...
->
->When the optimal control problem is in a suitable form, it is possible to
->either generate functions for numeric/symbolic evaluation or exporting the
->OCP formulation into a new FMI conformant XML file. The latter functionality
->is not yet available.
->
->Joel Andersson
->
->C++ includes: symbolic_ocp.hpp 
--}
-newtype SymbolicOCP = SymbolicOCP (ForeignPtr SymbolicOCP')
--- typeclass decl
-class SymbolicOCPClass a where
-  castSymbolicOCP :: a -> SymbolicOCP
-instance SymbolicOCPClass SymbolicOCP where
-  castSymbolicOCP = id
-
--- baseclass instances
-instance PrintableObjectClass SymbolicOCP where
-  castPrintableObject (SymbolicOCP x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SymbolicOCP (Ptr SymbolicOCP') where
-  marshal (SymbolicOCP x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SymbolicOCP x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SymbolicOCP" 
-  c_delete_CasADi__SymbolicOCP :: FunPtr (Ptr SymbolicOCP' -> IO ())
-instance WrapReturn (Ptr SymbolicOCP') SymbolicOCP where
-  wrapReturn = (fmap SymbolicOCP) . (newForeignPtr c_delete_CasADi__SymbolicOCP)
-
-
--- raw decl
-data Function'
--- data decl
-{-|
->[INTERNAL]  General function.
->
->A general function $f$ in casadi can be multi-input, multi-output. Number of
->inputs: nin getNumInputs() Number of outputs: nout getNumOutputs()  We can
->view this function as a being composed of a (nin, nout) grid of single-
->input, single-output primitive functions. Each such primitive function
->$f_{i,j} \\forall i \\in [0,nin-1], j \\in [0,nout-1]$ can map as
->$\\mathbf{R}^{n,m}\\to\\mathbf{R}^{p,q}$, in which n,m,p,q can take
->different values for every (i,j) pair.  When passing input, you specify
->which partition i is active. You pass the numbers vectorized, as a vector of
->size $(n*m)$. When requesting output, you specify which partition j is
->active. You get the numbers vectorized, as a vector of size $(p*q)$.  To
->calculate jacobians, you need to have $(m=1,q=1)$.
->
->Write the jacobian as $J_{i,j} = \\nabla f_{i,j} = \\frac{\\partial
->f_{i,j}(\\vec{x})}{\\partial \\vec{x}}$.
->
->Using $\\vec{v} \\in \\mathbf{R}^n$ as a forward seed: setFwdSeed(v,i)
->Retrieving $\\vec{s}_f \\in \\mathbf{R}^p$ from: getFwdSens(sf,j)
->Using $\\vec{w} \\in \\mathbf{R}^p$ as a forward seed: setAdjSeed(w,j)
->Retrieving $\\vec{s}_a \\in \\mathbf{R}^n $ from: getAdjSens(sa,i)  We
->have the following relationships for function mapping from a row vector to a
->row vector:
->
->$ \\vec{s}_f = \\nabla f_{i,j} . \\vec{v}$ $ \\vec{s}_a = (\\nabla
->f_{i,j})^T . \\vec{w}$
->
->Some quantities is these formulas must be transposed:  input col: transpose
->$ \\vec{v} $ and $\\vec{s}_a$ output col: transpose $ \\vec{w} $ and
->$\\vec{s}_f$  NOTE: Function's are allowed to modify their input arguments
->when evaluating: implicitFunction, IDAS solver Futher releases may disallow
->this.
->
->Joel Andersson
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->+---------+--------------------------+
->|   Id    |         Used in          |
->+=========+==========================+
->| inputs  | CasADi::FunctionInternal |
->+---------+--------------------------+
->| outputs | CasADi::FunctionInternal |
->+---------+--------------------------+
->
->Diagrams
->
->C++ includes: function.hpp 
--}
-newtype Function = Function (ForeignPtr Function')
--- typeclass decl
-class FunctionClass a where
-  castFunction :: a -> Function
-instance FunctionClass Function where
-  castFunction = id
-
--- baseclass instances
-instance SharedObjectClass Function where
-  castSharedObject (Function x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass Function where
-  castPrintableObject (Function x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass Function where
-  castOptionsFunctionality (Function x) = OptionsFunctionality (castForeignPtr x)
-
-instance IOInterfaceFunctionClass Function where
-  castIOInterfaceFunction (Function x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Function (Ptr Function') where
-  marshal (Function x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Function x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__Function" 
-  c_delete_CasADi__Function :: FunPtr (Ptr Function' -> IO ())
-instance WrapReturn (Ptr Function') Function where
-  wrapReturn = (fmap Function) . (newForeignPtr c_delete_CasADi__Function)
-
-
-
--- raw decl
-data SOCPSolver'
--- data decl
-{-|
->[INTERNAL]   SOCPSolver.
->
->Solves an Second Order Cone Programming (SOCP) problem in standard form.
->
->Primal:
->
->min          c' x   x  subject to               || Gi' x + hi ||_2 <= ei' x
->+ fi  i = 1..m              LBA <= A x <= UBA             LBX <= x   <= UBX
->with x ( n x 1)          c ( n x 1 ) Gi  sparse (n x ni)          hi  dense
->(ni x 1)          ei  dense (n x 1)          fi  dense (1 x 1)          N =
->Sum_i^m ni          A sparse (nc x n)          LBA, UBA dense vector (nc x
->1)          LBX, UBX dense vector (n x 1)
->
->Joris Gillis
->
->>Input scheme: CasADi::SOCPInput (SOCP_SOLVER_NUM_IN = 11) [socpIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SOCP_SOLVER_G          | g                      | The horizontal stack   |
->|                        |                        | of all matrices Gi: (  |
->|                        |                        | n x N) .               |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_H          | h                      | The vertical stack of  |
->|                        |                        | all vectors hi: ( N x  |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_E          | e                      | The vertical stack of  |
->|                        |                        | all vectors ei: ( nm x |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_F          | f                      | The vertical stack of  |
->|                        |                        | all scalars fi: ( m x  |
->|                        |                        | 1) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_C          | c                      | The vector c: ( n x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_A          | a                      | The matrix A: ( nc x   |
->|                        |                        | n) .                   |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LBA        | lba                    | Lower bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_UBA        | uba                    | Upper bounds on Ax (   |
->|                        |                        | nc x 1) .              |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LBX        | lbx                    | Lower bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_UBX        | ubx                    | Upper bounds on x ( n  |
->|                        |                        | x 1 ) .                |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::SOCPOutput (SOCP_SOLVER_NUM_OUT = 5) [socpOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| SOCP_SOLVER_X          | x                      | The primal solution (n |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_COST       | cost                   | The primal optimal     |
->|                        |                        | cost (1 x 1) .         |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LAM_A      | lam_a                  | The dual solution      |
->|                        |                        | corresponding to the   |
->|                        |                        | linear constraints (nc |
->|                        |                        | x 1) .                 |
->+------------------------+------------------------+------------------------+
->| SOCP_SOLVER_LAM_X      | lam_x                  | The dual solution      |
->|                        |                        | corresponding to       |
->|                        |                        | simple bounds (n x 1)  |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| ni           | OT_INTEGERVE | GenericType( | Provide the  | CasADi::SOCP |
->|              | CTOR         | )            | size of each | SolverIntern |
->|              |              |              | SOC          | al           |
->|              |              |              | constraint.  |              |
->|              |              |              | Must sum up  |              |
->|              |              |              | to N.        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| print_proble | OT_BOOLEAN   | false        | Print out    | CasADi::SOCP |
->| m            |              |              | problem      | SolverIntern |
->|              |              |              | statement    | al           |
->|              |              |              | for          |              |
->|              |              |              | debugging.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: socp_solver.hpp 
--}
-newtype SOCPSolver = SOCPSolver (ForeignPtr SOCPSolver')
--- typeclass decl
-class SOCPSolverClass a where
-  castSOCPSolver :: a -> SOCPSolver
-instance SOCPSolverClass SOCPSolver where
-  castSOCPSolver = id
-
--- baseclass instances
-instance SharedObjectClass SOCPSolver where
-  castSharedObject (SOCPSolver x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass SOCPSolver where
-  castPrintableObject (SOCPSolver x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass SOCPSolver where
-  castOptionsFunctionality (SOCPSolver x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass SOCPSolver where
-  castFunction (SOCPSolver x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass SOCPSolver where
-  castIOInterfaceFunction (SOCPSolver x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SOCPSolver (Ptr SOCPSolver') where
-  marshal (SOCPSolver x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SOCPSolver x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SOCPSolver" 
-  c_delete_CasADi__SOCPSolver :: FunPtr (Ptr SOCPSolver' -> IO ())
-instance WrapReturn (Ptr SOCPSolver') SOCPSolver where
-  wrapReturn = (fmap SOCPSolver) . (newForeignPtr c_delete_CasADi__SOCPSolver)
-
-
--- raw decl
-data DerivativeGenerator'
--- data decl
-{-|
->[INTERNAL]  Derivative
->Generator Functor.
->
->In C++, supply a DerivativeGeneratorCPtr function pointer
->
->In python, supply a callable, annotated with derivativegenerator decorator
->
->C++ includes: functor.hpp 
--}
-newtype DerivativeGenerator = DerivativeGenerator (ForeignPtr DerivativeGenerator')
--- typeclass decl
-class DerivativeGeneratorClass a where
-  castDerivativeGenerator :: a -> DerivativeGenerator
-instance DerivativeGeneratorClass DerivativeGenerator where
-  castDerivativeGenerator = id
-
--- baseclass instances
-instance SharedObjectClass DerivativeGenerator where
-  castSharedObject (DerivativeGenerator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass DerivativeGenerator where
-  castPrintableObject (DerivativeGenerator x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal DerivativeGenerator (Ptr DerivativeGenerator') where
-  marshal (DerivativeGenerator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (DerivativeGenerator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__DerivativeGenerator" 
-  c_delete_CasADi__DerivativeGenerator :: FunPtr (Ptr DerivativeGenerator' -> IO ())
-instance WrapReturn (Ptr DerivativeGenerator') DerivativeGenerator where
-  wrapReturn = (fmap DerivativeGenerator) . (newForeignPtr c_delete_CasADi__DerivativeGenerator)
-
-
--- raw decl
-data SOCPStructure'
--- data decl
-{-|
->[INTERNAL]  Helper
->function for 'SOCPStruct'
->
->C++ includes: casadi_types.hpp 
--}
-newtype SOCPStructure = SOCPStructure (ForeignPtr SOCPStructure')
--- typeclass decl
-class SOCPStructureClass a where
-  castSOCPStructure :: a -> SOCPStructure
-instance SOCPStructureClass SOCPStructure where
-  castSOCPStructure = id
-
--- baseclass instances
-instance PrintableObjectClass SOCPStructure where
-  castPrintableObject (SOCPStructure x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal SOCPStructure (Ptr SOCPStructure') where
-  marshal (SOCPStructure x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (SOCPStructure x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__SOCPStructIOSchemeVector_CasADi__Sparsity_" 
-  c_delete_CasADi__SOCPStructIOSchemeVector_CasADi__Sparsity_ :: FunPtr (Ptr SOCPStructure' -> IO ())
-instance WrapReturn (Ptr SOCPStructure') SOCPStructure where
-  wrapReturn = (fmap SOCPStructure) . (newForeignPtr c_delete_CasADi__SOCPStructIOSchemeVector_CasADi__Sparsity_)
-
-
--- raw decl
-data ImplicitFunction'
--- data decl
-{-|
->[INTERNAL]  Abstract base
->class for the implicit function classes.
->
->The equation:
->
->F(z, x1, x2, ..., xn) == 0
->
->where d_F/dz is invertable, implicitly defines the equation:
->
->z := G(x1, x2, ..., xn)
->
->F should be an Function mapping from (n+1) inputs to m outputs. The first
->output is the residual that should be zero.
->
->ImplicitFunction (G) is an Function mapping from n inputs to m outputs. n
->may be zero. The first output is the solved for z.
->
->You can provide an initial guess for z by setting output(0) of
->ImplicitFunction.
->
->Joel Andersson
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| constraints  | OT_INTEGERVE | GenericType( | Constrain    | CasADi::Impl |
->|              | CTOR         | )            | the          | icitFunction |
->|              |              |              | unknowns. 0  | Internal     |
->|              |              |              | (default):   |              |
->|              |              |              | no           |              |
->|              |              |              | constraint   |              |
->|              |              |              | on ui, 1: ui |              |
->|              |              |              | >= 0.0, -1:  |              |
->|              |              |              | ui <= 0.0,   |              |
->|              |              |              | 2: ui > 0.0, |              |
->|              |              |              | -2: ui <     |              |
->|              |              |              | 0.0.         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_inp | OT_INTEGER   | 0            | Index of the | CasADi::Impl |
->| ut           |              |              | input that   | icitFunction |
->|              |              |              | corresponds  | Internal     |
->|              |              |              | to the       |              |
->|              |              |              | actual root- |              |
->|              |              |              | finding      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| implicit_out | OT_INTEGER   | 0            | Index of the | CasADi::Impl |
->| put          |              |              | output that  | icitFunction |
->|              |              |              | corresponds  | Internal     |
->|              |              |              | to the       |              |
->|              |              |              | actual root- |              |
->|              |              |              | finding      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_LINEARSOL | GenericType( | User-defined | CasADi::Impl |
->| r            | VER          | )            | linear       | icitFunction |
->|              |              |              | solver       | Internal     |
->|              |              |              | class.       |              |
->|              |              |              | Needed for s |              |
->|              |              |              | ensitivities |              |
->|              |              |              | .            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | CasADi::Impl |
->| r_options    | Y            | )            | be passed to | icitFunction |
->|              |              |              | the linear   | Internal     |
->|              |              |              | solver.      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp |              |
->|              |              |              | uts)         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->Diagrams
->
->C++ includes: implicit_function.hpp 
--}
-newtype ImplicitFunction = ImplicitFunction (ForeignPtr ImplicitFunction')
--- typeclass decl
-class ImplicitFunctionClass a where
-  castImplicitFunction :: a -> ImplicitFunction
-instance ImplicitFunctionClass ImplicitFunction where
-  castImplicitFunction = id
-
--- baseclass instances
-instance SharedObjectClass ImplicitFunction where
-  castSharedObject (ImplicitFunction x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass ImplicitFunction where
-  castPrintableObject (ImplicitFunction x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass ImplicitFunction where
-  castOptionsFunctionality (ImplicitFunction x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass ImplicitFunction where
-  castFunction (ImplicitFunction x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass ImplicitFunction where
-  castIOInterfaceFunction (ImplicitFunction x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal ImplicitFunction (Ptr ImplicitFunction') where
-  marshal (ImplicitFunction x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (ImplicitFunction x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__ImplicitFunction" 
-  c_delete_CasADi__ImplicitFunction :: FunPtr (Ptr ImplicitFunction' -> IO ())
-instance WrapReturn (Ptr ImplicitFunction') ImplicitFunction where
-  wrapReturn = (fmap ImplicitFunction) . (newForeignPtr c_delete_CasADi__ImplicitFunction)
-
-
--- raw decl
-data CVodesIntegrator'
--- data decl
-{-|
->[INTERNAL]  Interface to
->CVodes from the Sundials suite.
->
->Base class for integrators. Solves an initial value problem (IVP) coupled to
->a terminal value problem with differential equation given as an implicit ODE
->coupled to an algebraic equation and a set of quadratures: Initial
->conditions at t=t0  x(t0)  = x0  q(t0)  = 0   Forward integration from t=t0
->to t=tf  der(x) = function(x,z,p,t) Forward ODE  0 = fz(x,z,p,t)
->Forward algebraic equations  der(q) = fq(x,z,p,t)                  Forward
->quadratures Terminal conditions at t=tf  rx(tf)  = rx0  rq(tf)  = 0
->Backward integration from t=tf to t=t0  der(rx) = gx(rx,rz,rp,x,z,p,t)
->Backward ODE  0 = gz(rx,rz,rp,x,z,p,t)        Backward algebraic equations
->der(rq) = gq(rx,rz,rp,x,z,p,t)        Backward quadratures where we assume
->that both the forward and backwards integrations are index-1  (i.e. dfz/dz,
->dgz/drz are invertible) and furthermore that gx, gz and gq have a linear
->dependency on rx, rz and rp.
->
->A call to evaluate will integrate to the end.
->
->You can retrieve the entire state trajectory as follows, after the evaluate
->call: Call reset. Then call integrate(t_i) and getOuput for a series of
->times t_i.
->
->>Input scheme: CasADi::IntegratorInput (INTEGRATOR_NUM_IN = 7) [integratorIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_X0          | x0                     | Differential state at  |
->|                        |                        | the initial time .     |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_P           | p                      | Parameters .           |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_Z0          | z0                     | Initial guess for the  |
->|                        |                        | algebraic variable .   |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RX0         | rx0                    | Backward differential  |
->|                        |                        | state at the final     |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RP          | rp                     | Backward parameter     |
->|                        |                        | vector .               |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZ0         | rz0                    | Initial guess for the  |
->|                        |                        | backwards algebraic    |
->|                        |                        | variable .             |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::IntegratorOutput (INTEGRATOR_NUM_OUT = 7) [integratorOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| INTEGRATOR_XF          | xf                     | Differential state at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_QF          | qf                     | Quadrature state at    |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_ZF          | zf                     | Algebraic variable at  |
->|                        |                        | the final time .       |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RXF         | rxf                    | Backward differential  |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RQF         | rqf                    | Backward quadrature    |
->|                        |                        | state at the initial   |
->|                        |                        | time .                 |
->+------------------------+------------------------+------------------------+
->| INTEGRATOR_RZF         | rzf                    | Backward algebraic     |
->|                        |                        | variable at the        |
->|                        |                        | initial time .         |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| abstol       | OT_REAL      | 0.000        | Absolute     | CasADi::Sund |
->|              |              |              | tolerence    | ialsInternal |
->|              |              |              | for the IVP  |              |
->|              |              |              | solution     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| abstolB      | OT_REAL      | GenericType( | Absolute     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | adjoint      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | abstol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| augmented_op | OT_DICTIONAR | GenericType( | Options to   | CasADi::Inte |
->| tions        | Y            | )            | be passed    | gratorIntern |
->|              |              |              | down to the  | al           |
->|              |              |              | augmented    |              |
->|              |              |              | integrator,  |              |
->|              |              |              | if one is    |              |
->|              |              |              | constructed. |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| disable_inte | OT_BOOLEAN   | false        | Disable      | CasADi::CVod |
->| rnal_warning |              |              | CVodes       | esInternal   |
->| s            |              |              | internal     |              |
->|              |              |              | warning      |              |
->|              |              |              | messages     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| exact_jacobi | OT_BOOLEAN   | true         | Use exact    | CasADi::Sund |
->| an           |              |              | Jacobian     | ialsInternal |
->|              |              |              | information  |              |
->|              |              |              | for the      |              |
->|              |              |              | forward      |              |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| exact_jacobi | OT_BOOLEAN   | GenericType( | Use exact    | CasADi::Sund |
->| anB          |              | )            | Jacobian     | ialsInternal |
->|              |              |              | information  |              |
->|              |              |              | for the      |              |
->|              |              |              | backward     |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to exa |              |
->|              |              |              | ct_jacobian] |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_augme | OT_BOOLEAN   | true         | If DAE       | CasADi::Inte |
->| nted         |              |              | callback     | gratorIntern |
->|              |              |              | functions    | al           |
->|              |              |              | are          |              |
->|              |              |              | SXFunction , |              |
->|              |              |              | have         |              |
->|              |              |              | augmented    |              |
->|              |              |              | DAE callback |              |
->|              |              |              | function     |              |
->|              |              |              | also be      |              |
->|              |              |              | SXFunction . |              |
->+--------------+--------------+--------------+--------------+--------------+
->| finite_diffe | OT_BOOLEAN   | false        | Use finite   | CasADi::Sund |
->| rence_fsens  |              |              | differences  | ialsInternal |
->|              |              |              | to           |              |
->|              |              |              | approximate  |              |
->|              |              |              | the forward  |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | equations    |              |
->|              |              |              | (if AD is    |              |
->|              |              |              | not          |              |
->|              |              |              | available)   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_abstol | OT_REAL      | GenericType( | Absolute     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | forward      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | abstol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_all_at | OT_BOOLEAN   | true         | Calculate    | CasADi::CVod |
->| _once        |              |              | all right    | esInternal   |
->|              |              |              | hand sides   |              |
->|              |              |              | of the       |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | equations at |              |
->|              |              |              | once         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_err_co | OT_BOOLEAN   | true         | include the  | CasADi::Sund |
->| n            |              |              | forward sens | ialsInternal |
->|              |              |              | itivities in |              |
->|              |              |              | all error    |              |
->|              |              |              | controls     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_reltol | OT_REAL      | GenericType( | Relative     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | forward      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | reltol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_scalin | OT_REALVECTO | GenericType( | Scaling      | CasADi::Sund |
->| g_factors    | R            | )            | factor for   | ialsInternal |
->|              |              |              | the          |              |
->|              |              |              | components   |              |
->|              |              |              | if finite    |              |
->|              |              |              | differences  |              |
->|              |              |              | is used      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| fsens_sensit | OT_INTEGERVE | GenericType( | Specifies    | CasADi::Sund |
->| iviy_paramet | CTOR         | )            | which        | ialsInternal |
->| ers          |              |              | components   |              |
->|              |              |              | will be used |              |
->|              |              |              | when         |              |
->|              |              |              | estimating   |              |
->|              |              |              | the          |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | equations    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| interpolatio | OT_STRING    | "hermite"    | Type of inte | CasADi::Sund |
->| n_type       |              |              | rpolation    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | adjoint sens |              |
->|              |              |              | itivities (h |              |
->|              |              |              | ermite|polyn |              |
->|              |              |              | omial)       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iterative_so | OT_STRING    | "gmres"      | (gmres|bcgst | CasADi::Sund |
->| lver         |              |              | ab|tfqmr)    | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| iterative_so | OT_STRING    | GenericType( | (gmres|bcgst | CasADi::Sund |
->| lverB        |              | )            | ab|tfqmr)    | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_multi | OT_STRING    | "bdf"        | Integrator   | CasADi::CVod |
->| step_method  |              |              | scheme       | esInternal   |
->|              |              |              | (bdf|adams)  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_LINEARSOL | GenericType( | A custom     | CasADi::Sund |
->| r            | VER          | )            | linear       | ialsInternal |
->|              |              |              | solver       |              |
->|              |              |              | creator      |              |
->|              |              |              | function     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_LINEARSOL | GenericType( | A custom     | CasADi::Sund |
->| rB           | VER          | )            | linear       | ialsInternal |
->|              |              |              | solver       |              |
->|              |              |              | creator      |              |
->|              |              |              | function for |              |
->|              |              |              | backwards    |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to lin |              |
->|              |              |              | ear_solver]  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | CasADi::Sund |
->| r_options    | Y            | )            | be passed to | ialsInternal |
->|              |              |              | the linear   |              |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_DICTIONAR | GenericType( | Options to   | CasADi::Sund |
->| r_optionsB   | Y            | )            | be passed to | ialsInternal |
->|              |              |              | the linear   |              |
->|              |              |              | solver for   |              |
->|              |              |              | backwards    |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to lin |              |
->|              |              |              | ear_solver_o |              |
->|              |              |              | ptions]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_STRING    | "dense"      | (user_define | CasADi::Sund |
->| r_type       |              |              | d|dense|band | ialsInternal |
->|              |              |              | ed|iterative |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| linear_solve | OT_STRING    | GenericType( | (user_define | CasADi::Sund |
->| r_typeB      |              | )            | d|dense|band | ialsInternal |
->|              |              |              | ed|iterative |              |
->|              |              |              | )            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| lower_bandwi | OT_INTEGER   | GenericType( | Lower band-  | CasADi::Sund |
->| dth          |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | Jacobian (es |              |
->|              |              |              | timations)   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| lower_bandwi | OT_INTEGER   | GenericType( | lower band-  | CasADi::Sund |
->| dthB         |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | jacobians    |              |
->|              |              |              | for backward |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to low |              |
->|              |              |              | er_bandwidth |              |
->|              |              |              | ]            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_krylov   | OT_INTEGER   | 10           | Maximum      | CasADi::Sund |
->|              |              |              | Krylov       | ialsInternal |
->|              |              |              | subspace     |              |
->|              |              |              | size         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_krylovB  | OT_INTEGER   | GenericType( | Maximum      | CasADi::Sund |
->|              |              | )            | krylov       | ialsInternal |
->|              |              |              | subspace     |              |
->|              |              |              | size         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_multiste | OT_INTEGER   | 5            |              | CasADi::Sund |
->| p_order      |              |              |              | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| max_num_step | OT_INTEGER   | 10000        | Maximum      | CasADi::Sund |
->| s            |              |              | number of    | ialsInternal |
->|              |              |              | integrator   |              |
->|              |              |              | steps        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp | CasADi::CVod |
->|              |              |              | uts)  (res|r | esInternal   |
->|              |              |              | esB|resQB|re |              |
->|              |              |              | set|psetupB| |              |
->|              |              |              | djacB)       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| nonlinear_so | OT_STRING    | "newton"     | (newton|func | CasADi::CVod |
->| lver_iterati |              |              | tional)      | esInternal   |
->| on           |              |              |              |              |
->+--------------+--------------+--------------+--------------+--------------+
->| pretype      | OT_STRING    | "none"       | (none|left|r | CasADi::Sund |
->|              |              |              | ight|both)   | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| pretypeB     | OT_STRING    | GenericType( | (none|left|r | CasADi::Sund |
->|              |              | )            | ight|both)   | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| print_stats  | OT_BOOLEAN   | false        | Print out    | CasADi::Inte |
->|              |              |              | statistics   | gratorIntern |
->|              |              |              | after        | al           |
->|              |              |              | integration  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| quad_err_con | OT_BOOLEAN   | false        | Should the   | CasADi::Sund |
->|              |              |              | quadratures  | ialsInternal |
->|              |              |              | affect the   |              |
->|              |              |              | step size    |              |
->|              |              |              | control      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| reltol       | OT_REAL      | 0.000        | Relative     | CasADi::Sund |
->|              |              |              | tolerence    | ialsInternal |
->|              |              |              | for the IVP  |              |
->|              |              |              | solution     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| reltolB      | OT_REAL      | GenericType( | Relative     | CasADi::Sund |
->|              |              | )            | tolerence    | ialsInternal |
->|              |              |              | for the      |              |
->|              |              |              | adjoint      |              |
->|              |              |              | sensitivity  |              |
->|              |              |              | solution     |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to     |              |
->|              |              |              | reltol]      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| sensitivity_ | OT_STRING    | "simultaneou | (simultaneou | CasADi::Sund |
->| method       |              | s"           | s|staggered) | ialsInternal |
->+--------------+--------------+--------------+--------------+--------------+
->| steps_per_ch | OT_INTEGER   | 20           | Number of    | CasADi::Sund |
->| eckpoint     |              |              | steps        | ialsInternal |
->|              |              |              | between two  |              |
->|              |              |              | consecutive  |              |
->|              |              |              | checkpoints  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| stop_at_end  | OT_BOOLEAN   | true         | Stop the     | CasADi::Sund |
->|              |              |              | integrator   | ialsInternal |
->|              |              |              | at the end   |              |
->|              |              |              | of the       |              |
->|              |              |              | interval     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| t0           | OT_REAL      | 0            | Beginning of | CasADi::Inte |
->|              |              |              | the time     | gratorIntern |
->|              |              |              | horizon      | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| tf           | OT_REAL      | 1            | End of the   | CasADi::Inte |
->|              |              |              | time horizon | gratorIntern |
->|              |              |              |              | al           |
->+--------------+--------------+--------------+--------------+--------------+
->| upper_bandwi | OT_INTEGER   | GenericType( | Upper band-  | CasADi::Sund |
->| dth          |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | Jacobian (es |              |
->|              |              |              | timations)   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| upper_bandwi | OT_INTEGER   | GenericType( | Upper band-  | CasADi::Sund |
->| dthB         |              | )            | width of     | ialsInternal |
->|              |              |              | banded       |              |
->|              |              |              | jacobians    |              |
->|              |              |              | for backward |              |
->|              |              |              | integration  |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to upp |              |
->|              |              |              | er_bandwidth |              |
->|              |              |              | ]            |              |
->+--------------+--------------+--------------+--------------+--------------+
->| use_precondi | OT_BOOLEAN   | false        | Precondition | CasADi::Sund |
->| tioner       |              |              | an iterative | ialsInternal |
->|              |              |              | solver       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| use_precondi | OT_BOOLEAN   | GenericType( | Precondition | CasADi::Sund |
->| tionerB      |              | )            | an iterative | ialsInternal |
->|              |              |              | solver for   |              |
->|              |              |              | the          |              |
->|              |              |              | backwards    |              |
->|              |              |              | problem      |              |
->|              |              |              | [default:    |              |
->|              |              |              | equal to use |              |
->|              |              |              | _preconditio |              |
->|              |              |              | ner]         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->+---------+--------------------------+
->|   Id    |         Used in          |
->+=========+==========================+
->| djacB   | CasADi::CVodesInternal   |
->+---------+--------------------------+
->| inputs  | CasADi::FunctionInternal |
->+---------+--------------------------+
->| outputs | CasADi::FunctionInternal |
->+---------+--------------------------+
->| psetupB | CasADi::CVodesInternal   |
->+---------+--------------------------+
->| res     | CasADi::CVodesInternal   |
->+---------+--------------------------+
->| resB    | CasADi::CVodesInternal   |
->+---------+--------------------------+
->| resQB   | CasADi::CVodesInternal   |
->+---------+--------------------------+
->| reset   | CasADi::CVodesInternal   |
->+---------+--------------------------+
->
->>List of available stats
->+-------------+------------------------+
->|     Id      |        Used in         |
->+=============+========================+
->| nlinsetups  | CasADi::CVodesInternal |
->+-------------+------------------------+
->| nlinsetupsB | CasADi::CVodesInternal |
->+-------------+------------------------+
->| nsteps      | CasADi::CVodesInternal |
->+-------------+------------------------+
->| nstepsB     | CasADi::CVodesInternal |
->+-------------+------------------------+
->
->Diagrams
->
->C++ includes: cvodes_integrator.hpp 
--}
-newtype CVodesIntegrator = CVodesIntegrator (ForeignPtr CVodesIntegrator')
--- typeclass decl
-class CVodesIntegratorClass a where
-  castCVodesIntegrator :: a -> CVodesIntegrator
-instance CVodesIntegratorClass CVodesIntegrator where
-  castCVodesIntegrator = id
-
--- baseclass instances
-instance SharedObjectClass CVodesIntegrator where
-  castSharedObject (CVodesIntegrator x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass CVodesIntegrator where
-  castPrintableObject (CVodesIntegrator x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass CVodesIntegrator where
-  castOptionsFunctionality (CVodesIntegrator x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass CVodesIntegrator where
-  castFunction (CVodesIntegrator x) = Function (castForeignPtr x)
-
-instance IntegratorClass CVodesIntegrator where
-  castIntegrator (CVodesIntegrator x) = Integrator (castForeignPtr x)
-
-instance SundialsIntegratorClass CVodesIntegrator where
-  castSundialsIntegrator (CVodesIntegrator x) = SundialsIntegrator (castForeignPtr x)
-
-instance IOInterfaceFunctionClass CVodesIntegrator where
-  castIOInterfaceFunction (CVodesIntegrator x) = IOInterfaceFunction (castForeignPtr x)
-
-
--- helper instances
-instance Marshal CVodesIntegrator (Ptr CVodesIntegrator') where
-  marshal (CVodesIntegrator x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (CVodesIntegrator x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__CVodesIntegrator" 
-  c_delete_CasADi__CVodesIntegrator :: FunPtr (Ptr CVodesIntegrator' -> IO ())
-instance WrapReturn (Ptr CVodesIntegrator') CVodesIntegrator where
-  wrapReturn = (fmap CVodesIntegrator) . (newForeignPtr c_delete_CasADi__CVodesIntegrator)
-
-
--- raw decl
-data IndexList'
--- data decl
-{-|
->[INTERNAL]  Class representing a
->non-regular (and thus non-slice) index list
->
->C++ includes: slice.hpp 
--}
-newtype IndexList = IndexList (ForeignPtr IndexList')
--- typeclass decl
-class IndexListClass a where
-  castIndexList :: a -> IndexList
-instance IndexListClass IndexList where
-  castIndexList = id
-
--- baseclass instances
-
--- helper instances
-instance Marshal IndexList (Ptr IndexList') where
-  marshal (IndexList x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (IndexList x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__IndexList" 
-  c_delete_CasADi__IndexList :: FunPtr (Ptr IndexList' -> IO ())
-instance WrapReturn (Ptr IndexList') IndexList where
-  wrapReturn = (fmap IndexList) . (newForeignPtr c_delete_CasADi__IndexList)
-
-
--- raw decl
-data StabilizedSQPMethod'
--- data decl
-{-|
->[INTERNAL]  Stabilized
->Sequential Quadratic Programming method.
->
->Slava Kung
->
->>Input scheme: CasADi::NLPSolverInput (NLP_SOLVER_NUM_IN = 9) [nlpSolverIn]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X0          | x0                     | Decision variables,    |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_P           | p                      | Value of fixed         |
->|                        |                        | parameters (np x 1) .  |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBX         | lbx                    | Decision variables     |
->|                        |                        | lower bound (nx x 1),  |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBX         | ubx                    | Decision variables     |
->|                        |                        | upper bound (nx x 1),  |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LBG         | lbg                    | Constraints lower      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default -inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_UBG         | ubg                    | Constraints upper      |
->|                        |                        | bound (ng x 1),        |
->|                        |                        | default +inf .         |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X0      | lam_x0                 | Lagrange multipliers   |
->|                        |                        | for bounds on X,       |
->|                        |                        | initial guess (nx x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G0      | lam_g0                 | Lagrange multipliers   |
->|                        |                        | for bounds on G,       |
->|                        |                        | initial guess (ng x 1) |
->|                        |                        | .                      |
->+------------------------+------------------------+------------------------+
->
->>Output scheme: CasADi::NLPSolverOutput (NLP_SOLVER_NUM_OUT = 7) [nlpSolverOut]
->+------------------------+------------------------+------------------------+
->|       Full name        |         Short          |      Description       |
->+========================+========================+========================+
->| NLP_SOLVER_X           | x                      | Decision variables at  |
->|                        |                        | the optimal solution   |
->|                        |                        | (nx x 1) .             |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_F           | f                      | Cost function value at |
->|                        |                        | the optimal solution   |
->|                        |                        | (1 x 1) .              |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_G           | g                      | Constraints function   |
->|                        |                        | at the optimal         |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_X       | lam_x                  | Lagrange multipliers   |
->|                        |                        | for bounds on X at the |
->|                        |                        | solution (nx x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_G       | lam_g                  | Lagrange multipliers   |
->|                        |                        | for bounds on G at the |
->|                        |                        | solution (ng x 1) .    |
->+------------------------+------------------------+------------------------+
->| NLP_SOLVER_LAM_P       | lam_p                  | Lagrange multipliers   |
->|                        |                        | for bounds on P at the |
->|                        |                        | solution (np x 1) .    |
->+------------------------+------------------------+------------------------+
->
->>List of available options
->+--------------+--------------+--------------+--------------+--------------+
->|      Id      |     Type     |   Default    | Description  |   Used in    |
->+==============+==============+==============+==============+==============+
->| TReta1       | OT_REAL      | 0.800        | Required     | CasADi::Stab |
->|              |              |              | predicted /  | ilizedSQPInt |
->|              |              |              | actual       | ernal        |
->|              |              |              | decrease for |              |
->|              |              |              | TR increase  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| TReta2       | OT_REAL      | 0.200        | Required     | CasADi::Stab |
->|              |              |              | predicted /  | ilizedSQPInt |
->|              |              |              | actual       | ernal        |
->|              |              |              | decrease for |              |
->|              |              |              | TR decrease  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| ad_mode      | OT_STRING    | "automatic"  | How to       | CasADi::Func |
->|              |              |              | calculate    | tionInternal |
->|              |              |              | the          |              |
->|              |              |              | Jacobians.   |              |
->|              |              |              | (forward:    |              |
->|              |              |              | only forward |              |
->|              |              |              | mode|reverse |              |
->|              |              |              | : only       |              |
->|              |              |              | adjoint mode |              |
->|              |              |              | |automatic:  |              |
->|              |              |              | a heuristic  |              |
->|              |              |              | decides      |              |
->|              |              |              | which is     |              |
->|              |              |              | more         |              |
->|              |              |              | appropriate) |              |
->+--------------+--------------+--------------+--------------+--------------+
->| alphaMin     | OT_REAL      | 0.001        | Used to      | CasADi::Stab |
->|              |              |              | check        | ilizedSQPInt |
->|              |              |              | whether to   | ernal        |
->|              |              |              | increase     |              |
->|              |              |              | rho.         |              |
->+--------------+--------------+--------------+--------------+--------------+
->| beta         | OT_REAL      | 0.500        | Line-search  | CasADi::Stab |
->|              |              |              | parameter,   | ilizedSQPInt |
->|              |              |              | restoration  | ernal        |
->|              |              |              | factor of    |              |
->|              |              |              | stepsize     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| c1           | OT_REAL      | 0.001        | Armijo       | CasADi::Stab |
->|              |              |              | condition,   | ilizedSQPInt |
->|              |              |              | coefficient  | ernal        |
->|              |              |              | of decrease  |              |
->|              |              |              | in merit     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| derivative_g | OT_DERIVATIV | GenericType( | Function     | CasADi::Func |
->| enerator     | EGENERATOR   | )            | that returns | tionInternal |
->|              |              |              | a derivative |              |
->|              |              |              | function     |              |
->|              |              |              | given a      |              |
->|              |              |              | number of    |              |
->|              |              |              | forward and  |              |
->|              |              |              | reverse      |              |
->|              |              |              | directional  |              |
->|              |              |              | derivative,  |              |
->|              |              |              | overrides    |              |
->|              |              |              | internal     |              |
->|              |              |              | routines.    |              |
->|              |              |              | Check docume |              |
->|              |              |              | ntation of D |              |
->|              |              |              | erivativeGen |              |
->|              |              |              | erator .     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| dvMax0       | OT_REAL      | 100          | Parameter    | CasADi::Stab |
->|              |              |              | used to      | ilizedSQPInt |
->|              |              |              | defined the  | ernal        |
->|              |              |              | max step     |              |
->|              |              |              | length.      |              |
->+--------------+--------------+--------------+--------------+--------------+
->| eps_active   | OT_REAL      | 0.000        | Threshold    | CasADi::Stab |
->|              |              |              | for the      | ilizedSQPInt |
->|              |              |              | epsilon-     | ernal        |
->|              |              |              | active set.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand       | OT_BOOLEAN   | false        | Expand the   | CasADi::NLPS |
->|              |              |              | NLP function | olverInterna |
->|              |              |              | in terms of  | l            |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_f     | OT_BOOLEAN   | GenericType( | Expand the   | CasADi::NLPS |
->|              |              | )            | objective    | olverInterna |
->|              |              |              | function in  | l            |
->|              |              |              | terms of     |              |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX. |              |
->|              |              |              | Deprecated,  |              |
->|              |              |              | use "expand" |              |
->|              |              |              | instead.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| expand_g     | OT_BOOLEAN   | GenericType( | Expand the   | CasADi::NLPS |
->|              |              | )            | constraint   | olverInterna |
->|              |              |              | function in  | l            |
->|              |              |              | terms of     |              |
->|              |              |              | scalar       |              |
->|              |              |              | operations,  |              |
->|              |              |              | i.e. MX->SX. |              |
->|              |              |              | Deprecated,  |              |
->|              |              |              | use "expand" |              |
->|              |              |              | instead.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gamma1       | OT_REAL      | 2            | Trust region | CasADi::Stab |
->|              |              |              | increase     | ilizedSQPInt |
->|              |              |              | parameter    | ernal        |
->+--------------+--------------+--------------+--------------+--------------+
->| gamma2       | OT_REAL      | 1            | Trust region | CasADi::Stab |
->|              |              |              | update       | ilizedSQPInt |
->|              |              |              | parameter    | ernal        |
->+--------------+--------------+--------------+--------------+--------------+
->| gamma3       | OT_REAL      | 1            | Trust region | CasADi::Stab |
->|              |              |              | decrease     | ilizedSQPInt |
->|              |              |              | parameter    | ernal        |
->+--------------+--------------+--------------+--------------+--------------+
->| gather_stats | OT_BOOLEAN   | false        | Flag to      | CasADi::Func |
->|              |              |              | indicate     | tionInternal |
->|              |              |              | wether       |              |
->|              |              |              | statistics   |              |
->|              |              |              | must be      |              |
->|              |              |              | gathered     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| gauss_newton | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->|              |              | )            | option. Use  | olverInterna |
->|              |              |              | Gauss Newton | l            |
->|              |              |              | Hessian appr |              |
->|              |              |              | oximation    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_gra | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| dient        |              | )            | option.      | olverInterna |
->|              |              |              | Generate a   | l            |
->|              |              |              | function for |              |
->|              |              |              | calculating  |              |
->|              |              |              | the gradient |              |
->|              |              |              | of the       |              |
->|              |              |              | objective.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_hes | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| sian         |              | )            | option.      | olverInterna |
->|              |              |              | Generate an  | l            |
->|              |              |              | exact        |              |
->|              |              |              | Hessian of   |              |
->|              |              |              | the          |              |
->|              |              |              | Lagrangian   |              |
->|              |              |              | if not       |              |
->|              |              |              | supplied.    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| generate_jac | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->| obian        |              | )            | option.      | olverInterna |
->|              |              |              | Generate an  | l            |
->|              |              |              | exact        |              |
->|              |              |              | Jacobian of  |              |
->|              |              |              | the          |              |
->|              |              |              | constraints  |              |
->|              |              |              | if not       |              |
->|              |              |              | supplied.    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| hessian_appr | OT_STRING    | "exact"      | limited-     | CasADi::Stab |
->| oximation    |              |              | memory|exact | ilizedSQPInt |
->|              |              |              |              | ernal        |
->+--------------+--------------+--------------+--------------+--------------+
->| ignore_check | OT_BOOLEAN   | false        | If set to    | CasADi::NLPS |
->| _vec         |              |              | true, the    | olverInterna |
->|              |              |              | input shape  | l            |
->|              |              |              | of F will    |              |
->|              |              |              | not be       |              |
->|              |              |              | checked.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| inputs_check | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->|              |              |              | exceptions   | tionInternal |
->|              |              |              | when the     |              |
->|              |              |              | numerical    |              |
->|              |              |              | values of    |              |
->|              |              |              | the inputs   |              |
->|              |              |              | don't make   |              |
->|              |              |              | sense        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_CALLBACK  | GenericType( | A function   | CasADi::NLPS |
->| llback       |              | )            | that will be | olverInterna |
->|              |              |              | called at    | l            |
->|              |              |              | each         |              |
->|              |              |              | iteration    |              |
->|              |              |              | with the     |              |
->|              |              |              | solver as    |              |
->|              |              |              | input. Check |              |
->|              |              |              | documentatio |              |
->|              |              |              | n of         |              |
->|              |              |              | Callback .   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_BOOLEAN   | false        | If set to    | CasADi::NLPS |
->| llback_ignor |              |              | true, errors | olverInterna |
->| e_errors     |              |              | thrown by it | l            |
->|              |              |              | eration_call |              |
->|              |              |              | back will be |              |
->|              |              |              | ignored.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| iteration_ca | OT_INTEGER   | 1            | Only call    | CasADi::NLPS |
->| llback_step  |              |              | the callback | olverInterna |
->|              |              |              | function     | l            |
->|              |              |              | every few    |              |
->|              |              |              | iterations.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| lbfgs_memory | OT_INTEGER   | 10           | Size of      | CasADi::Stab |
->|              |              |              | L-BFGS       | ilizedSQPInt |
->|              |              |              | memory.      | ernal        |
->+--------------+--------------+--------------+--------------+--------------+
->| max_iter     | OT_INTEGER   | 100          | Maximum      | CasADi::Stab |
->|              |              |              | number of    | ilizedSQPInt |
->|              |              |              | SQP          | ernal        |
->|              |              |              | iterations   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| max_iter_ls  | OT_INTEGER   | 20           | Maximum      | CasADi::Stab |
->|              |              |              | number of    | ilizedSQPInt |
->|              |              |              | linesearch   | ernal        |
->|              |              |              | iterations   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| merit_memory | OT_INTEGER   | 4            | Size of      | CasADi::Stab |
->|              |              |              | memory to    | ilizedSQPInt |
->|              |              |              | store        | ernal        |
->|              |              |              | history of   |              |
->|              |              |              | merit        |              |
->|              |              |              | function     |              |
->|              |              |              | values       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| min_step_siz | OT_REAL      | 0.000        | The size     | CasADi::Stab |
->| e            |              |              | (inf-norm)   | ilizedSQPInt |
->|              |              |              | of the step  | ernal        |
->|              |              |              | size should  |              |
->|              |              |              | not become   |              |
->|              |              |              | smaller than |              |
->|              |              |              | this.        |              |
->+--------------+--------------+--------------+--------------+--------------+
->| monitor      | OT_STRINGVEC | GenericType( | Monitors to  | CasADi::Func |
->|              | TOR          | )            | be activated | tionInternal |
->|              |              |              | (inputs|outp | CasADi::Stab |
->|              |              |              | uts)  (eval_ | ilizedSQPInt |
->|              |              |              | f|eval_g|eva | ernal        |
->|              |              |              | l_jac_g|eval |              |
->|              |              |              | _grad_f|eval |              |
->|              |              |              | _h|qp|dx)    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| muR0         | OT_REAL      | 0.000        | Initial      | CasADi::Stab |
->|              |              |              | choice of re | ilizedSQPInt |
->|              |              |              | gularization | ernal        |
->|              |              |              | parameter    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| name         | OT_STRING    | "unnamed_sha | name of the  | CasADi::Opti |
->|              |              | red_object"  | object       | onsFunctiona |
->|              |              |              |              | lityNode     |
->+--------------+--------------+--------------+--------------+--------------+
->| nu           | OT_REAL      | 1            | Parameter    | CasADi::Stab |
->|              |              |              | for primal-  | ilizedSQPInt |
->|              |              |              | dual         | ernal        |
->|              |              |              | augmented    |              |
->|              |              |              | Lagrangian.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| parametric   | OT_BOOLEAN   | GenericType( | Deprecated   | CasADi::NLPS |
->|              |              | )            | option.      | olverInterna |
->|              |              |              | Expect F, G, | l            |
->|              |              |              | H, J to have |              |
->|              |              |              | an           |              |
->|              |              |              | additional   |              |
->|              |              |              | input        |              |
->|              |              |              | argument     |              |
->|              |              |              | appended at  |              |
->|              |              |              | the end,     |              |
->|              |              |              | denoting     |              |
->|              |              |              | fixed        |              |
->|              |              |              | parameters.  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| phiWeight    | OT_REAL      | 0.000        | Weight used  | CasADi::Stab |
->|              |              |              | in pseudo-   | ilizedSQPInt |
->|              |              |              | filter.      | ernal        |
->+--------------+--------------+--------------+--------------+--------------+
->| print_header | OT_BOOLEAN   | true         | Print the    | CasADi::Stab |
->|              |              |              | header with  | ilizedSQPInt |
->|              |              |              | problem      | ernal        |
->|              |              |              | statistics   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularity_c | OT_BOOLEAN   | true         | Throw        | CasADi::Func |
->| heck         |              |              | exceptions   | tionInternal |
->|              |              |              | when NaN or  |              |
->|              |              |              | Inf appears  |              |
->|              |              |              | during       |              |
->|              |              |              | evaluation   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| regularize   | OT_BOOLEAN   | false        | Automatic re | CasADi::Stab |
->|              |              |              | gularization | ilizedSQPInt |
->|              |              |              | of Lagrange  | ernal        |
->|              |              |              | Hessian.     |              |
->+--------------+--------------+--------------+--------------+--------------+
->| stabilized_q | OT_STABILIZE | GenericType( | The          | CasADi::Stab |
->| p_solver     | DQPSOLVER    | )            | Stabilized   | ilizedSQPInt |
->|              |              |              | QP solver to | ernal        |
->|              |              |              | be used by   |              |
->|              |              |              | the SQP      |              |
->|              |              |              | method       |              |
->+--------------+--------------+--------------+--------------+--------------+
->| stabilized_q | OT_DICTIONAR | GenericType( | Options to   | CasADi::Stab |
->| p_solver_opt | Y            | )            | be passed to | ilizedSQPInt |
->| ions         |              |              | the          | ernal        |
->|              |              |              | Stabilized   |              |
->|              |              |              | QP solver    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tau0         | OT_REAL      | 0.010        | Initial      | CasADi::Stab |
->|              |              |              | parameter    | ilizedSQPInt |
->|              |              |              | for the      | ernal        |
->|              |              |              | merit        |              |
->|              |              |              | function     |              |
->|              |              |              | optimality   |              |
->|              |              |              | threshold.   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tol_du       | OT_REAL      | 0.000        | Stopping     | CasADi::Stab |
->|              |              |              | criterion    | ilizedSQPInt |
->|              |              |              | for dual inf | ernal        |
->|              |              |              | easability   |              |
->+--------------+--------------+--------------+--------------+--------------+
->| tol_pr       | OT_REAL      | 0.000        | Stopping     | CasADi::Stab |
->|              |              |              | criterion    | ilizedSQPInt |
->|              |              |              | for primal i | ernal        |
->|              |              |              | nfeasibility |              |
->+--------------+--------------+--------------+--------------+--------------+
->| user_data    | OT_VOIDPTR   | GenericType( | A user-      | CasADi::Func |
->|              |              | )            | defined      | tionInternal |
->|              |              |              | field that   |              |
->|              |              |              | can be used  |              |
->|              |              |              | to identify  |              |
->|              |              |              | the function |              |
->|              |              |              | or pass      |              |
->|              |              |              | additional   |              |
->|              |              |              | information  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| verbose      | OT_BOOLEAN   | false        | Verbose      | CasADi::Func |
->|              |              |              | evaluation   | tionInternal |
->|              |              |              | for          |              |
->|              |              |              | debugging    |              |
->+--------------+--------------+--------------+--------------+--------------+
->| warn_initial | OT_BOOLEAN   | false        | Warn if the  | CasADi::NLPS |
->| _bounds      |              |              | initial      | olverInterna |
->|              |              |              | guess does   | l            |
->|              |              |              | not satisfy  |              |
->|              |              |              | LBX and UBX  |              |
->+--------------+--------------+--------------+--------------+--------------+
->| yEinitial    | OT_STRING    | "simple"     | Initial      | CasADi::Stab |
->|              |              |              | multiplier.  | ilizedSQPInt |
->|              |              |              | Simple (all  | ernal        |
->|              |              |              | zero) or     |              |
->|              |              |              | least (LSQ). |              |
->+--------------+--------------+--------------+--------------+--------------+
->
->>List of available monitors
->+-------------+-------------------------------+
->|     Id      |            Used in            |
->+=============+===============================+
->| dx          | CasADi::StabilizedSQPInternal |
->+-------------+-------------------------------+
->| eval_f      | CasADi::StabilizedSQPInternal |
->+-------------+-------------------------------+
->| eval_g      | CasADi::StabilizedSQPInternal |
->+-------------+-------------------------------+
->| eval_grad_f | CasADi::StabilizedSQPInternal |
->+-------------+-------------------------------+
->| eval_h      | CasADi::StabilizedSQPInternal |
->+-------------+-------------------------------+
->| eval_jac_g  | CasADi::StabilizedSQPInternal |
->+-------------+-------------------------------+
->| inputs      | CasADi::FunctionInternal      |
->+-------------+-------------------------------+
->| outputs     | CasADi::FunctionInternal      |
->+-------------+-------------------------------+
->| qp          | CasADi::StabilizedSQPInternal |
->+-------------+-------------------------------+
->
->>List of available stats
->+---------------+-------------------------------+
->|      Id       |            Used in            |
->+===============+===============================+
->| iter_count    | CasADi::StabilizedSQPInternal |
->+---------------+-------------------------------+
->| return_status | CasADi::StabilizedSQPInternal |
->+---------------+-------------------------------+
->
->Diagrams
->
->C++ includes: stabilized_sqp_method.hpp 
--}
-newtype StabilizedSQPMethod = StabilizedSQPMethod (ForeignPtr StabilizedSQPMethod')
--- typeclass decl
-class StabilizedSQPMethodClass a where
-  castStabilizedSQPMethod :: a -> StabilizedSQPMethod
-instance StabilizedSQPMethodClass StabilizedSQPMethod where
-  castStabilizedSQPMethod = id
-
--- baseclass instances
-instance SharedObjectClass StabilizedSQPMethod where
-  castSharedObject (StabilizedSQPMethod x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass StabilizedSQPMethod where
-  castPrintableObject (StabilizedSQPMethod x) = PrintableObject (castForeignPtr x)
-
-instance OptionsFunctionalityClass StabilizedSQPMethod where
-  castOptionsFunctionality (StabilizedSQPMethod x) = OptionsFunctionality (castForeignPtr x)
-
-instance FunctionClass StabilizedSQPMethod where
-  castFunction (StabilizedSQPMethod x) = Function (castForeignPtr x)
-
-instance IOInterfaceFunctionClass StabilizedSQPMethod where
-  castIOInterfaceFunction (StabilizedSQPMethod x) = IOInterfaceFunction (castForeignPtr x)
-
-instance NLPSolverClass StabilizedSQPMethod where
-  castNLPSolver (StabilizedSQPMethod x) = NLPSolver (castForeignPtr x)
-
-
--- helper instances
-instance Marshal StabilizedSQPMethod (Ptr StabilizedSQPMethod') where
-  marshal (StabilizedSQPMethod x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (StabilizedSQPMethod x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__StabilizedSQPMethod" 
-  c_delete_CasADi__StabilizedSQPMethod :: FunPtr (Ptr StabilizedSQPMethod' -> IO ())
-instance WrapReturn (Ptr StabilizedSQPMethod') StabilizedSQPMethod where
-  wrapReturn = (fmap StabilizedSQPMethod) . (newForeignPtr c_delete_CasADi__StabilizedSQPMethod)
-
-
--- raw decl
-data IOScheme'
--- data decl
-{-|
->[INTERNAL]  Class with mapping
->between names and indices.
->
->Joris Gillis
->
->C++ includes: io_scheme.hpp 
--}
-newtype IOScheme = IOScheme (ForeignPtr IOScheme')
--- typeclass decl
-class IOSchemeClass a where
-  castIOScheme :: a -> IOScheme
-instance IOSchemeClass IOScheme where
-  castIOScheme = id
-
--- baseclass instances
-instance SharedObjectClass IOScheme where
-  castSharedObject (IOScheme x) = SharedObject (castForeignPtr x)
-
-instance PrintableObjectClass IOScheme where
-  castPrintableObject (IOScheme x) = PrintableObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal IOScheme (Ptr IOScheme') where
-  marshal (IOScheme x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (IOScheme x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_CasADi__IOScheme" 
-  c_delete_CasADi__IOScheme :: FunPtr (Ptr IOScheme' -> IO ())
-instance WrapReturn (Ptr IOScheme') IOScheme where
-  wrapReturn = (fmap IOScheme) . (newForeignPtr c_delete_CasADi__IOScheme)
-
-
diff --git a/Casadi/Wrappers/Enums.hs b/Casadi/Wrappers/Enums.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Enums.hs
+++ /dev/null
@@ -1,1951 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# LANGUAGE MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.Enums
-       (
-         Alias(..),
-         Category(..),
-         Causality(..),
-         CollocationPoints(..),
-         ControlSimulatorInput(..),
-         ControlledDAEInput(..),
-         DAEInput(..),
-         DAEOutput(..),
-         DPLEInput(..),
-         DPLEOutput(..),
-         Dynamics(..),
-         GradFInput(..),
-         GradFOutput(..),
-         HNLPInput(..),
-         HessLagInput(..),
-         HessLagOutput(..),
-         InputOutputScheme(..),
-         IntegratorInput(..),
-         IntegratorOutput(..),
-         JacGInput(..),
-         JacGOutput(..),
-         LPSolverInput(..),
-         LPSolverOutput(..),
-         LPStruct(..),
-         LinsolInput(..),
-         LinsolOutput(..),
-         MayerInput(..),
-         NLPInput(..),
-         NLPOutput(..),
-         NLPSolverInput(..),
-         NLPSolverOutput(..),
-         OCPInput(..),
-         OCPOutput(..),
-         Operation(..),
-         Opt_type(..),
-         QCQPSolverInput(..),
-         QCQPSolverOutput(..),
-         QCQPStruct(..),
-         QPSolverInput(..),
-         QPSolverOutput(..),
-         QPStruct(..),
-         RDAEInput(..),
-         RDAEOutput(..),
-         SDPInput(..),
-         SDPOutput(..),
-         SDPStruct(..),
-         SDQPInput(..),
-         SDQPOutput(..),
-         SDQPStruct(..),
-         SOCPInput(..),
-         SOCPOutput(..),
-         SOCPStruct(..),
-         SparsityType(..),
-         StabilizedQPSolverInput(..),
-         Type(..),
-         Variability(..),
-       ) where
-
-
-import Foreign.C.Types ( CInt(..) )
-import Casadi.Marshal ( Marshal(..) )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
--- EnumDecl: IntegratorOutput
-data IntegratorOutput = INTEGRATOR_ZF
-                      | INTEGRATOR_XF
-                      | INTEGRATOR_RQF
-                      | INTEGRATOR_RXF
-                      | INTEGRATOR_QF
-                      | INTEGRATOR_RZF
-                      | INTEGRATOR_NUM_OUT
-                      deriving (Show, Eq)
-instance Enum IntegratorOutput where
-        fromEnum (INTEGRATOR_ZF) = 2
-        fromEnum (INTEGRATOR_XF) = 0
-        fromEnum (INTEGRATOR_RQF) = 4
-        fromEnum (INTEGRATOR_RXF) = 3
-        fromEnum (INTEGRATOR_QF) = 1
-        fromEnum (INTEGRATOR_RZF) = 5
-        fromEnum (INTEGRATOR_NUM_OUT) = 6
-        toEnum (2) = INTEGRATOR_ZF
-        toEnum (0) = INTEGRATOR_XF
-        toEnum (4) = INTEGRATOR_RQF
-        toEnum (3) = INTEGRATOR_RXF
-        toEnum (1) = INTEGRATOR_QF
-        toEnum (5) = INTEGRATOR_RZF
-        toEnum (6) = INTEGRATOR_NUM_OUT
-        toEnum k
-          = error $ "IntegratorOutput: toEnum: got unhandled number: " ++
-              show k
-instance Marshal IntegratorOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt IntegratorOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: Category
-data Category = CAT_ALGEBRAIC
-              | CAT_UNKNOWN
-              | CAT_INDEPENDENT_PARAMETER
-              | CAT_DERIVATIVE
-              | CAT_DEPENDENT_CONSTANT
-              | CAT_INDEPENDENT_CONSTANT
-              | CAT_DEPENDENT_PARAMETER
-              | CAT_STATE
-              deriving (Show, Eq)
-instance Enum Category where
-        fromEnum (CAT_ALGEBRAIC) = 7
-        fromEnum (CAT_UNKNOWN) = 0
-        fromEnum (CAT_INDEPENDENT_PARAMETER) = 6
-        fromEnum (CAT_DERIVATIVE) = 1
-        fromEnum (CAT_DEPENDENT_CONSTANT) = 3
-        fromEnum (CAT_INDEPENDENT_CONSTANT) = 4
-        fromEnum (CAT_DEPENDENT_PARAMETER) = 5
-        fromEnum (CAT_STATE) = 2
-        toEnum (7) = CAT_ALGEBRAIC
-        toEnum (0) = CAT_UNKNOWN
-        toEnum (6) = CAT_INDEPENDENT_PARAMETER
-        toEnum (1) = CAT_DERIVATIVE
-        toEnum (3) = CAT_DEPENDENT_CONSTANT
-        toEnum (4) = CAT_INDEPENDENT_CONSTANT
-        toEnum (5) = CAT_DEPENDENT_PARAMETER
-        toEnum (2) = CAT_STATE
-        toEnum k
-          = error $ "Category: toEnum: got unhandled number: " ++ show k
-instance Marshal Category CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt Category where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: Causality
-data Causality = INPUT
-               | INTERNAL
-               | OUTPUT
-               deriving (Show, Eq)
-instance Enum Causality where
-        fromEnum (INPUT) = 0
-        fromEnum (INTERNAL) = 2
-        fromEnum (OUTPUT) = 1
-        toEnum (0) = INPUT
-        toEnum (2) = INTERNAL
-        toEnum (1) = OUTPUT
-        toEnum k
-          = error $ "Causality: toEnum: got unhandled number: " ++ show k
-instance Marshal Causality CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt Causality where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: SDPOutput
-data SDPOutput = SDP_SOLVER_LAM_A
-               | SDP_SOLVER_DUAL_COST
-               | SDP_SOLVER_P
-               | SDP_SOLVER_X
-               | SDP_SOLVER_NUM_OUT
-               | SDP_SOLVER_LAM_X
-               | SDP_SOLVER_COST
-               | SDP_SOLVER_DUAL
-               deriving (Show, Eq)
-instance Enum SDPOutput where
-        fromEnum (SDP_SOLVER_LAM_A) = 5
-        fromEnum (SDP_SOLVER_DUAL_COST) = 4
-        fromEnum (SDP_SOLVER_P) = 1
-        fromEnum (SDP_SOLVER_X) = 0
-        fromEnum (SDP_SOLVER_NUM_OUT) = 7
-        fromEnum (SDP_SOLVER_LAM_X) = 6
-        fromEnum (SDP_SOLVER_COST) = 3
-        fromEnum (SDP_SOLVER_DUAL) = 2
-        toEnum (5) = SDP_SOLVER_LAM_A
-        toEnum (4) = SDP_SOLVER_DUAL_COST
-        toEnum (1) = SDP_SOLVER_P
-        toEnum (0) = SDP_SOLVER_X
-        toEnum (7) = SDP_SOLVER_NUM_OUT
-        toEnum (6) = SDP_SOLVER_LAM_X
-        toEnum (3) = SDP_SOLVER_COST
-        toEnum (2) = SDP_SOLVER_DUAL
-        toEnum k
-          = error $ "SDPOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal SDPOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt SDPOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: HessLagOutput
-data HessLagOutput = HESSLAG_G
-                   | HESSLAG_F
-                   | HESSLAG_HESS
-                   | HESSLAG_NUM_OUT
-                   | HESSLAG_GRAD_P
-                   | HESSLAG_GRAD_X
-                   deriving (Show, Eq)
-instance Enum HessLagOutput where
-        fromEnum (HESSLAG_G) = 2
-        fromEnum (HESSLAG_F) = 1
-        fromEnum (HESSLAG_HESS) = 0
-        fromEnum (HESSLAG_NUM_OUT) = 5
-        fromEnum (HESSLAG_GRAD_P) = 4
-        fromEnum (HESSLAG_GRAD_X) = 3
-        toEnum (2) = HESSLAG_G
-        toEnum (1) = HESSLAG_F
-        toEnum (0) = HESSLAG_HESS
-        toEnum (5) = HESSLAG_NUM_OUT
-        toEnum (4) = HESSLAG_GRAD_P
-        toEnum (3) = HESSLAG_GRAD_X
-        toEnum k
-          = error $ "HessLagOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal HessLagOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt HessLagOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: LinsolInput
-data LinsolInput = LINSOL_NUM_IN
-                 | LINSOL_A
-                 | LINSOL_B
-                 deriving (Show, Eq)
-instance Enum LinsolInput where
-        fromEnum (LINSOL_NUM_IN) = 2
-        fromEnum (LINSOL_A) = 0
-        fromEnum (LINSOL_B) = 1
-        toEnum (2) = LINSOL_NUM_IN
-        toEnum (0) = LINSOL_A
-        toEnum (1) = LINSOL_B
-        toEnum k
-          = error $ "LinsolInput: toEnum: got unhandled number: " ++ show k
-instance Marshal LinsolInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt LinsolInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: SOCPOutput
-data SOCPOutput = SOCP_SOLVER_NUM_OUT
-                | SOCP_SOLVER_X
-                | SOCP_SOLVER_LAM_X
-                | SOCP_SOLVER_COST
-                | SOCP_SOLVER_LAM_A
-                deriving (Show, Eq)
-instance Enum SOCPOutput where
-        fromEnum (SOCP_SOLVER_NUM_OUT) = 4
-        fromEnum (SOCP_SOLVER_X) = 0
-        fromEnum (SOCP_SOLVER_LAM_X) = 3
-        fromEnum (SOCP_SOLVER_COST) = 1
-        fromEnum (SOCP_SOLVER_LAM_A) = 2
-        toEnum (4) = SOCP_SOLVER_NUM_OUT
-        toEnum (0) = SOCP_SOLVER_X
-        toEnum (3) = SOCP_SOLVER_LAM_X
-        toEnum (1) = SOCP_SOLVER_COST
-        toEnum (2) = SOCP_SOLVER_LAM_A
-        toEnum k
-          = error $ "SOCPOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal SOCPOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt SOCPOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: LPStruct
-data LPStruct = LP_STRUCT_NUM
-              | LP_STRUCT_A
-              deriving (Show, Eq)
-instance Enum LPStruct where
-        fromEnum (LP_STRUCT_NUM) = 1
-        fromEnum (LP_STRUCT_A) = 0
-        toEnum (1) = LP_STRUCT_NUM
-        toEnum (0) = LP_STRUCT_A
-        toEnum k
-          = error $ "LPStruct: toEnum: got unhandled number: " ++ show k
-instance Marshal LPStruct CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt LPStruct where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: Opt_type
-data Opt_type = OT_CALLBACK
-              | OT_SOCPSOLVER
-              | OT_VOIDPTR
-              | OT_BOOLEAN
-              | OT_INTEGERVECTOR
-              | OT_REALVECTOR
-              | OT_LINEARSOLVER
-              | OT_BOOLVECTOR
-              | OT_STABILIZEDQPSOLVER
-              | OT_REAL
-              | OT_DERIVATIVEGENERATOR
-              | OT_STRING
-              | OT_NLPSOLVER
-              | OT_LPSOLVER
-              | OT_IMPLICITFUNCTION
-              | OT_SDQPSOLVER
-              | OT_QCQPSOLVER
-              | OT_Function
-              | OT_SDPSOLVER
-              | OT_INTEGRATOR
-              | OT_UNKNOWN
-              | OT_STRINGVECTOR
-              | OT_INTEGER
-              | OT_QPSOLVER
-              | OT_DICTIONARY
-              deriving (Show, Eq)
-instance Enum Opt_type where
-        fromEnum (OT_CALLBACK) = 22
-        fromEnum (OT_SOCPSOLVER) = 15
-        fromEnum (OT_VOIDPTR) = 23
-        fromEnum (OT_BOOLEAN) = 0
-        fromEnum (OT_INTEGERVECTOR) = 4
-        fromEnum (OT_REALVECTOR) = 6
-        fromEnum (OT_LINEARSOLVER) = 11
-        fromEnum (OT_BOOLVECTOR) = 5
-        fromEnum (OT_STABILIZEDQPSOLVER) = 14
-        fromEnum (OT_REAL) = 2
-        fromEnum (OT_DERIVATIVEGENERATOR) = 20
-        fromEnum (OT_STRING) = 3
-        fromEnum (OT_NLPSOLVER) = 9
-        fromEnum (OT_LPSOLVER) = 10
-        fromEnum (OT_IMPLICITFUNCTION) = 19
-        fromEnum (OT_SDQPSOLVER) = 18
-        fromEnum (OT_QCQPSOLVER) = 16
-        fromEnum (OT_Function) = 21
-        fromEnum (OT_SDPSOLVER) = 17
-        fromEnum (OT_INTEGRATOR) = 12
-        fromEnum (OT_UNKNOWN) = 24
-        fromEnum (OT_STRINGVECTOR) = 7
-        fromEnum (OT_INTEGER) = 1
-        fromEnum (OT_QPSOLVER) = 13
-        fromEnum (OT_DICTIONARY) = 8
-        toEnum (22) = OT_CALLBACK
-        toEnum (15) = OT_SOCPSOLVER
-        toEnum (23) = OT_VOIDPTR
-        toEnum (0) = OT_BOOLEAN
-        toEnum (4) = OT_INTEGERVECTOR
-        toEnum (6) = OT_REALVECTOR
-        toEnum (11) = OT_LINEARSOLVER
-        toEnum (5) = OT_BOOLVECTOR
-        toEnum (14) = OT_STABILIZEDQPSOLVER
-        toEnum (2) = OT_REAL
-        toEnum (20) = OT_DERIVATIVEGENERATOR
-        toEnum (3) = OT_STRING
-        toEnum (9) = OT_NLPSOLVER
-        toEnum (10) = OT_LPSOLVER
-        toEnum (19) = OT_IMPLICITFUNCTION
-        toEnum (18) = OT_SDQPSOLVER
-        toEnum (16) = OT_QCQPSOLVER
-        toEnum (21) = OT_Function
-        toEnum (17) = OT_SDPSOLVER
-        toEnum (12) = OT_INTEGRATOR
-        toEnum (24) = OT_UNKNOWN
-        toEnum (7) = OT_STRINGVECTOR
-        toEnum (1) = OT_INTEGER
-        toEnum (13) = OT_QPSOLVER
-        toEnum (8) = OT_DICTIONARY
-        toEnum k
-          = error $ "Opt_type: toEnum: got unhandled number: " ++ show k
-instance Marshal Opt_type CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt Opt_type where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: SDPInput
-data SDPInput = SDP_SOLVER_UBX
-              | SDP_SOLVER_NUM_IN
-              | SDP_SOLVER_F
-              | SDP_SOLVER_G
-              | SDP_SOLVER_C
-              | SDP_SOLVER_LBX
-              | SDP_SOLVER_A
-              | SDP_SOLVER_LBA
-              | SDP_SOLVER_UBA
-              deriving (Show, Eq)
-instance Enum SDPInput where
-        fromEnum (SDP_SOLVER_UBX) = 7
-        fromEnum (SDP_SOLVER_NUM_IN) = 8
-        fromEnum (SDP_SOLVER_F) = 0
-        fromEnum (SDP_SOLVER_G) = 2
-        fromEnum (SDP_SOLVER_C) = 1
-        fromEnum (SDP_SOLVER_LBX) = 6
-        fromEnum (SDP_SOLVER_A) = 3
-        fromEnum (SDP_SOLVER_LBA) = 4
-        fromEnum (SDP_SOLVER_UBA) = 5
-        toEnum (7) = SDP_SOLVER_UBX
-        toEnum (8) = SDP_SOLVER_NUM_IN
-        toEnum (0) = SDP_SOLVER_F
-        toEnum (2) = SDP_SOLVER_G
-        toEnum (1) = SDP_SOLVER_C
-        toEnum (6) = SDP_SOLVER_LBX
-        toEnum (3) = SDP_SOLVER_A
-        toEnum (4) = SDP_SOLVER_LBA
-        toEnum (5) = SDP_SOLVER_UBA
-        toEnum k
-          = error $ "SDPInput: toEnum: got unhandled number: " ++ show k
-instance Marshal SDPInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt SDPInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: LPSolverInput
-data LPSolverInput = LP_SOLVER_UBX
-                   | LP_SOLVER_LBX
-                   | LP_SOLVER_NUM_IN
-                   | LP_SOLVER_A
-                   | LP_SOLVER_C
-                   | LP_SOLVER_UBA
-                   | LP_SOLVER_LBA
-                   deriving (Show, Eq)
-instance Enum LPSolverInput where
-        fromEnum (LP_SOLVER_UBX) = 5
-        fromEnum (LP_SOLVER_LBX) = 4
-        fromEnum (LP_SOLVER_NUM_IN) = 6
-        fromEnum (LP_SOLVER_A) = 1
-        fromEnum (LP_SOLVER_C) = 0
-        fromEnum (LP_SOLVER_UBA) = 3
-        fromEnum (LP_SOLVER_LBA) = 2
-        toEnum (5) = LP_SOLVER_UBX
-        toEnum (4) = LP_SOLVER_LBX
-        toEnum (6) = LP_SOLVER_NUM_IN
-        toEnum (1) = LP_SOLVER_A
-        toEnum (0) = LP_SOLVER_C
-        toEnum (3) = LP_SOLVER_UBA
-        toEnum (2) = LP_SOLVER_LBA
-        toEnum k
-          = error $ "LPSolverInput: toEnum: got unhandled number: " ++ show k
-instance Marshal LPSolverInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt LPSolverInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: RDAEInput
-data RDAEInput = RDAE_Z
-               | RDAE_X
-               | RDAE_NUM_IN
-               | RDAE_P
-               | RDAE_T
-               | RDAE_RZ
-               | RDAE_RX
-               | RDAE_RP
-               deriving (Show, Eq)
-instance Enum RDAEInput where
-        fromEnum (RDAE_Z) = 4
-        fromEnum (RDAE_X) = 3
-        fromEnum (RDAE_NUM_IN) = 7
-        fromEnum (RDAE_P) = 5
-        fromEnum (RDAE_T) = 6
-        fromEnum (RDAE_RZ) = 1
-        fromEnum (RDAE_RX) = 0
-        fromEnum (RDAE_RP) = 2
-        toEnum (4) = RDAE_Z
-        toEnum (3) = RDAE_X
-        toEnum (7) = RDAE_NUM_IN
-        toEnum (5) = RDAE_P
-        toEnum (6) = RDAE_T
-        toEnum (1) = RDAE_RZ
-        toEnum (0) = RDAE_RX
-        toEnum (2) = RDAE_RP
-        toEnum k
-          = error $ "RDAEInput: toEnum: got unhandled number: " ++ show k
-instance Marshal RDAEInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt RDAEInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: NLPSolverOutput
-data NLPSolverOutput = NLP_SOLVER_LAM_X
-                     | NLP_SOLVER_X
-                     | NLP_SOLVER_LAM_P
-                     | NLP_SOLVER_G
-                     | NLP_SOLVER_F
-                     | NLP_SOLVER_NUM_OUT
-                     | NLP_SOLVER_LAM_G
-                     deriving (Show, Eq)
-instance Enum NLPSolverOutput where
-        fromEnum (NLP_SOLVER_LAM_X) = 3
-        fromEnum (NLP_SOLVER_X) = 0
-        fromEnum (NLP_SOLVER_LAM_P) = 5
-        fromEnum (NLP_SOLVER_G) = 2
-        fromEnum (NLP_SOLVER_F) = 1
-        fromEnum (NLP_SOLVER_NUM_OUT) = 6
-        fromEnum (NLP_SOLVER_LAM_G) = 4
-        toEnum (3) = NLP_SOLVER_LAM_X
-        toEnum (0) = NLP_SOLVER_X
-        toEnum (5) = NLP_SOLVER_LAM_P
-        toEnum (2) = NLP_SOLVER_G
-        toEnum (1) = NLP_SOLVER_F
-        toEnum (6) = NLP_SOLVER_NUM_OUT
-        toEnum (4) = NLP_SOLVER_LAM_G
-        toEnum k
-          = error $ "NLPSolverOutput: toEnum: got unhandled number: " ++
-              show k
-instance Marshal NLPSolverOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt NLPSolverOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: DAEOutput
-data DAEOutput = DAE_NUM_OUT
-               | DAE_ODE
-               | DAE_QUAD
-               | DAE_ALG
-               deriving (Show, Eq)
-instance Enum DAEOutput where
-        fromEnum (DAE_NUM_OUT) = 3
-        fromEnum (DAE_ODE) = 0
-        fromEnum (DAE_QUAD) = 2
-        fromEnum (DAE_ALG) = 1
-        toEnum (3) = DAE_NUM_OUT
-        toEnum (0) = DAE_ODE
-        toEnum (2) = DAE_QUAD
-        toEnum (1) = DAE_ALG
-        toEnum k
-          = error $ "DAEOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal DAEOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt DAEOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: Dynamics
-data Dynamics = ALGEBRAIC
-              | DIFFERENTIAL
-              deriving (Show, Eq)
-instance Enum Dynamics where
-        fromEnum (ALGEBRAIC) = 0
-        fromEnum (DIFFERENTIAL) = 1
-        toEnum (0) = ALGEBRAIC
-        toEnum (1) = DIFFERENTIAL
-        toEnum k
-          = error $ "Dynamics: toEnum: got unhandled number: " ++ show k
-instance Marshal Dynamics CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt Dynamics where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: SOCPInput
-data SOCPInput = SOCP_SOLVER_NUM_IN
-               | SOCP_SOLVER_H
-               | SOCP_SOLVER_UBX
-               | SOCP_SOLVER_C
-               | SOCP_SOLVER_A
-               | SOCP_SOLVER_G
-               | SOCP_SOLVER_F
-               | SOCP_SOLVER_E
-               | SOCP_SOLVER_LBX
-               | SOCP_SOLVER_LBA
-               | SOCP_SOLVER_UBA
-               deriving (Show, Eq)
-instance Enum SOCPInput where
-        fromEnum (SOCP_SOLVER_NUM_IN) = 10
-        fromEnum (SOCP_SOLVER_H) = 1
-        fromEnum (SOCP_SOLVER_UBX) = 9
-        fromEnum (SOCP_SOLVER_C) = 4
-        fromEnum (SOCP_SOLVER_A) = 5
-        fromEnum (SOCP_SOLVER_G) = 0
-        fromEnum (SOCP_SOLVER_F) = 3
-        fromEnum (SOCP_SOLVER_E) = 2
-        fromEnum (SOCP_SOLVER_LBX) = 8
-        fromEnum (SOCP_SOLVER_LBA) = 6
-        fromEnum (SOCP_SOLVER_UBA) = 7
-        toEnum (10) = SOCP_SOLVER_NUM_IN
-        toEnum (1) = SOCP_SOLVER_H
-        toEnum (9) = SOCP_SOLVER_UBX
-        toEnum (4) = SOCP_SOLVER_C
-        toEnum (5) = SOCP_SOLVER_A
-        toEnum (0) = SOCP_SOLVER_G
-        toEnum (3) = SOCP_SOLVER_F
-        toEnum (2) = SOCP_SOLVER_E
-        toEnum (8) = SOCP_SOLVER_LBX
-        toEnum (6) = SOCP_SOLVER_LBA
-        toEnum (7) = SOCP_SOLVER_UBA
-        toEnum k
-          = error $ "SOCPInput: toEnum: got unhandled number: " ++ show k
-instance Marshal SOCPInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt SOCPInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: QCQPSolverInput
-data QCQPSolverInput = QCQP_SOLVER_NUM_IN
-                     | QCQP_SOLVER_H
-                     | QCQP_SOLVER_X0
-                     | QCQP_SOLVER_UBX
-                     | QCQP_SOLVER_A
-                     | QCQP_SOLVER_G
-                     | QCQP_SOLVER_LAM_X0
-                     | QCQP_SOLVER_LBX
-                     | QCQP_SOLVER_R
-                     | QCQP_SOLVER_Q
-                     | QCQP_SOLVER_P
-                     | QCQP_SOLVER_LBA
-                     | QCQP_SOLVER_UBA
-                     deriving (Show, Eq)
-instance Enum QCQPSolverInput where
-        fromEnum (QCQP_SOLVER_NUM_IN) = 12
-        fromEnum (QCQP_SOLVER_H) = 0
-        fromEnum (QCQP_SOLVER_X0) = 10
-        fromEnum (QCQP_SOLVER_UBX) = 9
-        fromEnum (QCQP_SOLVER_A) = 5
-        fromEnum (QCQP_SOLVER_G) = 1
-        fromEnum (QCQP_SOLVER_LAM_X0) = 11
-        fromEnum (QCQP_SOLVER_LBX) = 8
-        fromEnum (QCQP_SOLVER_R) = 4
-        fromEnum (QCQP_SOLVER_Q) = 3
-        fromEnum (QCQP_SOLVER_P) = 2
-        fromEnum (QCQP_SOLVER_LBA) = 6
-        fromEnum (QCQP_SOLVER_UBA) = 7
-        toEnum (12) = QCQP_SOLVER_NUM_IN
-        toEnum (0) = QCQP_SOLVER_H
-        toEnum (10) = QCQP_SOLVER_X0
-        toEnum (9) = QCQP_SOLVER_UBX
-        toEnum (5) = QCQP_SOLVER_A
-        toEnum (1) = QCQP_SOLVER_G
-        toEnum (11) = QCQP_SOLVER_LAM_X0
-        toEnum (8) = QCQP_SOLVER_LBX
-        toEnum (4) = QCQP_SOLVER_R
-        toEnum (3) = QCQP_SOLVER_Q
-        toEnum (2) = QCQP_SOLVER_P
-        toEnum (6) = QCQP_SOLVER_LBA
-        toEnum (7) = QCQP_SOLVER_UBA
-        toEnum k
-          = error $ "QCQPSolverInput: toEnum: got unhandled number: " ++
-              show k
-instance Marshal QCQPSolverInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt QCQPSolverInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: Variability
-data Variability = PARAMETER
-                 | CONTINUOUS
-                 | CONSTANT
-                 | DISCRETE
-                 deriving (Show, Eq)
-instance Enum Variability where
-        fromEnum (PARAMETER) = 1
-        fromEnum (CONTINUOUS) = 3
-        fromEnum (CONSTANT) = 0
-        fromEnum (DISCRETE) = 2
-        toEnum (1) = PARAMETER
-        toEnum (3) = CONTINUOUS
-        toEnum (0) = CONSTANT
-        toEnum (2) = DISCRETE
-        toEnum k
-          = error $ "Variability: toEnum: got unhandled number: " ++ show k
-instance Marshal Variability CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt Variability where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: NLPSolverInput
-data NLPSolverInput = NLP_SOLVER_LBX
-                    | NLP_SOLVER_LAM_X0
-                    | NLP_SOLVER_UBX
-                    | NLP_SOLVER_P
-                    | NLP_SOLVER_NUM_IN
-                    | NLP_SOLVER_X0
-                    | NLP_SOLVER_LAM_G0
-                    | NLP_SOLVER_UBG
-                    | NLP_SOLVER_LBG
-                    deriving (Show, Eq)
-instance Enum NLPSolverInput where
-        fromEnum (NLP_SOLVER_LBX) = 2
-        fromEnum (NLP_SOLVER_LAM_X0) = 6
-        fromEnum (NLP_SOLVER_UBX) = 3
-        fromEnum (NLP_SOLVER_P) = 1
-        fromEnum (NLP_SOLVER_NUM_IN) = 8
-        fromEnum (NLP_SOLVER_X0) = 0
-        fromEnum (NLP_SOLVER_LAM_G0) = 7
-        fromEnum (NLP_SOLVER_UBG) = 5
-        fromEnum (NLP_SOLVER_LBG) = 4
-        toEnum (2) = NLP_SOLVER_LBX
-        toEnum (6) = NLP_SOLVER_LAM_X0
-        toEnum (3) = NLP_SOLVER_UBX
-        toEnum (1) = NLP_SOLVER_P
-        toEnum (8) = NLP_SOLVER_NUM_IN
-        toEnum (0) = NLP_SOLVER_X0
-        toEnum (7) = NLP_SOLVER_LAM_G0
-        toEnum (5) = NLP_SOLVER_UBG
-        toEnum (4) = NLP_SOLVER_LBG
-        toEnum k
-          = error $ "NLPSolverInput: toEnum: got unhandled number: " ++
-              show k
-instance Marshal NLPSolverInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt NLPSolverInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: DAEInput
-data DAEInput = DAE_T
-              | DAE_Z
-              | DAE_P
-              | DAE_X
-              | DAE_NUM_IN
-              deriving (Show, Eq)
-instance Enum DAEInput where
-        fromEnum (DAE_T) = 3
-        fromEnum (DAE_Z) = 1
-        fromEnum (DAE_P) = 2
-        fromEnum (DAE_X) = 0
-        fromEnum (DAE_NUM_IN) = 4
-        toEnum (3) = DAE_T
-        toEnum (1) = DAE_Z
-        toEnum (2) = DAE_P
-        toEnum (0) = DAE_X
-        toEnum (4) = DAE_NUM_IN
-        toEnum k
-          = error $ "DAEInput: toEnum: got unhandled number: " ++ show k
-instance Marshal DAEInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt DAEInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: NLPOutput
-data NLPOutput = NL_NUM_OUT
-               | NL_G
-               | NL_F
-               deriving (Show, Eq)
-instance Enum NLPOutput where
-        fromEnum (NL_NUM_OUT) = 2
-        fromEnum (NL_G) = 1
-        fromEnum (NL_F) = 0
-        toEnum (2) = NL_NUM_OUT
-        toEnum (1) = NL_G
-        toEnum (0) = NL_F
-        toEnum k
-          = error $ "NLPOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal NLPOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt NLPOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: InputOutputScheme
-data InputOutputScheme = SCHEME_SDPOutput
-                       | SCHEME_OCPOutput
-                       | SCHEME_DAEOutput
-                       | SCHEME_HessLagInput
-                       | SCHEME_SDQPInput
-                       | SCHEME_LinsolInput
-                       | SCHEME_DAEInput
-                       | SCHEME_IntegratorOutput
-                       | SCHEME_IntegratorInput
-                       | SCHEME_HessLagOutput
-                       | SCHEME_LPSolverInput
-                       | SCHEME_JacGOutput
-                       | SCHEME_SOCPStruct
-                       | SCHEME_ControlledDAEInput
-                       | SCHEME_QPStruct
-                       | SCHEME_QCQPSolverInput
-                       | SCHEME_ControlSimulatorInput
-                       | SCHEME_QCQPSolverOutput
-                       | SCHEME_MayerInput
-                       | SCHEME_OCPInput
-                       | SCHEME_QPSolverOutput
-                       | SCHEME_RDAEOutput
-                       | SCHEME_NLPOutput
-                       | SCHEME_SDPInput
-                       | SCHEME_SOCPOutput
-                       | SCHEME_SDQPStruct
-                       | SCHEME_GradFInput
-                       | SCHEME_NLPInput
-                       | SCHEME_LPSolverOutput
-                       | SCHEME_NLPSolverInput
-                       | SCHEME_RDAEInput
-                       | SCHEME_QPSolverInput
-                       | SCHEME_SDPStruct
-                       | SCHEME_LinsolOutput
-                       | SCHEME_StabilizedQPSolverInput
-                       | SCHEME_SOCPInput
-                       | SCHEME_HNLPInput
-                       | SCHEME_DPLEInput
-                       | SCHEME_GradFOutput
-                       | SCHEME_NLPSolverOutput
-                       | SCHEME_DPLEOutput
-                       | SCHEME_LPStruct
-                       | SCHEME_SDQPOutput
-                       | SCHEME_QCQPStruct
-                       | SCHEME_JacGInput
-                       deriving (Show, Eq)
-instance Enum InputOutputScheme where
-        fromEnum (SCHEME_SDPOutput) = 36
-        fromEnum (SCHEME_OCPOutput) = 28
-        fromEnum (SCHEME_DAEOutput) = 6
-        fromEnum (SCHEME_HessLagInput) = 22
-        fromEnum (SCHEME_SDQPInput) = 38
-        fromEnum (SCHEME_LinsolInput) = 11
-        fromEnum (SCHEME_DAEInput) = 5
-        fromEnum (SCHEME_IntegratorOutput) = 10
-        fromEnum (SCHEME_IntegratorInput) = 9
-        fromEnum (SCHEME_HessLagOutput) = 23
-        fromEnum (SCHEME_LPSolverInput) = 13
-        fromEnum (SCHEME_JacGOutput) = 21
-        fromEnum (SCHEME_SOCPStruct) = 43
-        fromEnum (SCHEME_ControlledDAEInput) = 2
-        fromEnum (SCHEME_QPStruct) = 34
-        fromEnum (SCHEME_QCQPSolverInput) = 29
-        fromEnum (SCHEME_ControlSimulatorInput) = 3
-        fromEnum (SCHEME_QCQPSolverOutput) = 30
-        fromEnum (SCHEME_MayerInput) = 26
-        fromEnum (SCHEME_OCPInput) = 27
-        fromEnum (SCHEME_QPSolverOutput) = 33
-        fromEnum (SCHEME_RDAEOutput) = 8
-        fromEnum (SCHEME_NLPOutput) = 17
-        fromEnum (SCHEME_SDPInput) = 35
-        fromEnum (SCHEME_SOCPOutput) = 42
-        fromEnum (SCHEME_SDQPStruct) = 40
-        fromEnum (SCHEME_GradFInput) = 18
-        fromEnum (SCHEME_NLPInput) = 16
-        fromEnum (SCHEME_LPSolverOutput) = 14
-        fromEnum (SCHEME_NLPSolverInput) = 24
-        fromEnum (SCHEME_RDAEInput) = 7
-        fromEnum (SCHEME_QPSolverInput) = 32
-        fromEnum (SCHEME_SDPStruct) = 37
-        fromEnum (SCHEME_LinsolOutput) = 12
-        fromEnum (SCHEME_StabilizedQPSolverInput) = 44
-        fromEnum (SCHEME_SOCPInput) = 41
-        fromEnum (SCHEME_HNLPInput) = 4
-        fromEnum (SCHEME_DPLEInput) = 0
-        fromEnum (SCHEME_GradFOutput) = 19
-        fromEnum (SCHEME_NLPSolverOutput) = 25
-        fromEnum (SCHEME_DPLEOutput) = 1
-        fromEnum (SCHEME_LPStruct) = 15
-        fromEnum (SCHEME_SDQPOutput) = 39
-        fromEnum (SCHEME_QCQPStruct) = 31
-        fromEnum (SCHEME_JacGInput) = 20
-        toEnum (36) = SCHEME_SDPOutput
-        toEnum (28) = SCHEME_OCPOutput
-        toEnum (6) = SCHEME_DAEOutput
-        toEnum (22) = SCHEME_HessLagInput
-        toEnum (38) = SCHEME_SDQPInput
-        toEnum (11) = SCHEME_LinsolInput
-        toEnum (5) = SCHEME_DAEInput
-        toEnum (10) = SCHEME_IntegratorOutput
-        toEnum (9) = SCHEME_IntegratorInput
-        toEnum (23) = SCHEME_HessLagOutput
-        toEnum (13) = SCHEME_LPSolverInput
-        toEnum (21) = SCHEME_JacGOutput
-        toEnum (43) = SCHEME_SOCPStruct
-        toEnum (2) = SCHEME_ControlledDAEInput
-        toEnum (34) = SCHEME_QPStruct
-        toEnum (29) = SCHEME_QCQPSolverInput
-        toEnum (3) = SCHEME_ControlSimulatorInput
-        toEnum (30) = SCHEME_QCQPSolverOutput
-        toEnum (26) = SCHEME_MayerInput
-        toEnum (27) = SCHEME_OCPInput
-        toEnum (33) = SCHEME_QPSolverOutput
-        toEnum (8) = SCHEME_RDAEOutput
-        toEnum (17) = SCHEME_NLPOutput
-        toEnum (35) = SCHEME_SDPInput
-        toEnum (42) = SCHEME_SOCPOutput
-        toEnum (40) = SCHEME_SDQPStruct
-        toEnum (18) = SCHEME_GradFInput
-        toEnum (16) = SCHEME_NLPInput
-        toEnum (14) = SCHEME_LPSolverOutput
-        toEnum (24) = SCHEME_NLPSolverInput
-        toEnum (7) = SCHEME_RDAEInput
-        toEnum (32) = SCHEME_QPSolverInput
-        toEnum (37) = SCHEME_SDPStruct
-        toEnum (12) = SCHEME_LinsolOutput
-        toEnum (44) = SCHEME_StabilizedQPSolverInput
-        toEnum (41) = SCHEME_SOCPInput
-        toEnum (4) = SCHEME_HNLPInput
-        toEnum (0) = SCHEME_DPLEInput
-        toEnum (19) = SCHEME_GradFOutput
-        toEnum (25) = SCHEME_NLPSolverOutput
-        toEnum (1) = SCHEME_DPLEOutput
-        toEnum (15) = SCHEME_LPStruct
-        toEnum (39) = SCHEME_SDQPOutput
-        toEnum (31) = SCHEME_QCQPStruct
-        toEnum (20) = SCHEME_JacGInput
-        toEnum k
-          = error $ "InputOutputScheme: toEnum: got unhandled number: " ++
-              show k
-instance Marshal InputOutputScheme CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt InputOutputScheme where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: StabilizedQPSolverInput
-data StabilizedQPSolverInput = STABILIZED_QP_SOLVER_LBA
-                             | STABILIZED_QP_SOLVER_MUR
-                             | STABILIZED_QP_SOLVER_NUM_IN
-                             | STABILIZED_QP_SOLVER_X0
-                             | STABILIZED_QP_SOLVER_UBA
-                             | STABILIZED_QP_SOLVER_MU
-                             | STABILIZED_QP_SOLVER_LAM_X0
-                             | STABILIZED_QP_SOLVER_G
-                             | STABILIZED_QP_SOLVER_A
-                             | STABILIZED_QP_SOLVER_LBX
-                             | STABILIZED_QP_SOLVER_MUE
-                             | STABILIZED_QP_SOLVER_H
-                             | STABILIZED_QP_SOLVER_UBX
-                             deriving (Show, Eq)
-instance Enum StabilizedQPSolverInput where
-        fromEnum (STABILIZED_QP_SOLVER_LBA) = 3
-        fromEnum (STABILIZED_QP_SOLVER_MUR) = 9
-        fromEnum (STABILIZED_QP_SOLVER_NUM_IN) = 12
-        fromEnum (STABILIZED_QP_SOLVER_X0) = 7
-        fromEnum (STABILIZED_QP_SOLVER_UBA) = 4
-        fromEnum (STABILIZED_QP_SOLVER_MU) = 11
-        fromEnum (STABILIZED_QP_SOLVER_LAM_X0) = 8
-        fromEnum (STABILIZED_QP_SOLVER_G) = 1
-        fromEnum (STABILIZED_QP_SOLVER_A) = 2
-        fromEnum (STABILIZED_QP_SOLVER_LBX) = 5
-        fromEnum (STABILIZED_QP_SOLVER_MUE) = 10
-        fromEnum (STABILIZED_QP_SOLVER_H) = 0
-        fromEnum (STABILIZED_QP_SOLVER_UBX) = 6
-        toEnum (3) = STABILIZED_QP_SOLVER_LBA
-        toEnum (9) = STABILIZED_QP_SOLVER_MUR
-        toEnum (12) = STABILIZED_QP_SOLVER_NUM_IN
-        toEnum (7) = STABILIZED_QP_SOLVER_X0
-        toEnum (4) = STABILIZED_QP_SOLVER_UBA
-        toEnum (11) = STABILIZED_QP_SOLVER_MU
-        toEnum (8) = STABILIZED_QP_SOLVER_LAM_X0
-        toEnum (1) = STABILIZED_QP_SOLVER_G
-        toEnum (2) = STABILIZED_QP_SOLVER_A
-        toEnum (5) = STABILIZED_QP_SOLVER_LBX
-        toEnum (10) = STABILIZED_QP_SOLVER_MUE
-        toEnum (0) = STABILIZED_QP_SOLVER_H
-        toEnum (6) = STABILIZED_QP_SOLVER_UBX
-        toEnum k
-          = error $ "StabilizedQPSolverInput: toEnum: got unhandled number: "
-              ++ show k
-instance Marshal StabilizedQPSolverInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt StabilizedQPSolverInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: GradFInput
-data GradFInput = GRADF_X
-                | GRADF_P
-                | GRADF_NUM_IN
-                deriving (Show, Eq)
-instance Enum GradFInput where
-        fromEnum (GRADF_X) = 0
-        fromEnum (GRADF_P) = 1
-        fromEnum (GRADF_NUM_IN) = 2
-        toEnum (0) = GRADF_X
-        toEnum (1) = GRADF_P
-        toEnum (2) = GRADF_NUM_IN
-        toEnum k
-          = error $ "GradFInput: toEnum: got unhandled number: " ++ show k
-instance Marshal GradFInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt GradFInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: LPSolverOutput
-data LPSolverOutput = LP_SOLVER_COST
-                    | LP_SOLVER_NUM_OUT
-                    | LP_SOLVER_X
-                    | LP_SOLVER_LAM_A
-                    | LP_SOLVER_LAM_X
-                    deriving (Show, Eq)
-instance Enum LPSolverOutput where
-        fromEnum (LP_SOLVER_COST) = 1
-        fromEnum (LP_SOLVER_NUM_OUT) = 4
-        fromEnum (LP_SOLVER_X) = 0
-        fromEnum (LP_SOLVER_LAM_A) = 2
-        fromEnum (LP_SOLVER_LAM_X) = 3
-        toEnum (1) = LP_SOLVER_COST
-        toEnum (4) = LP_SOLVER_NUM_OUT
-        toEnum (0) = LP_SOLVER_X
-        toEnum (2) = LP_SOLVER_LAM_A
-        toEnum (3) = LP_SOLVER_LAM_X
-        toEnum k
-          = error $ "LPSolverOutput: toEnum: got unhandled number: " ++
-              show k
-instance Marshal LPSolverOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt LPSolverOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: GradFOutput
-data GradFOutput = GRADF_NUM_OUT
-                 | GRADF_GRAD
-                 | GRADF_F
-                 | GRADF_G
-                 deriving (Show, Eq)
-instance Enum GradFOutput where
-        fromEnum (GRADF_NUM_OUT) = 3
-        fromEnum (GRADF_GRAD) = 0
-        fromEnum (GRADF_F) = 1
-        fromEnum (GRADF_G) = 2
-        toEnum (3) = GRADF_NUM_OUT
-        toEnum (0) = GRADF_GRAD
-        toEnum (1) = GRADF_F
-        toEnum (2) = GRADF_G
-        toEnum k
-          = error $ "GradFOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal GradFOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt GradFOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: SDQPInput
-data SDQPInput = SDQP_SOLVER_LBX
-               | SDQP_SOLVER_UBX
-               | SDQP_SOLVER_UBA
-               | SDQP_SOLVER_NUM_IN
-               | SDQP_SOLVER_F
-               | SDQP_SOLVER_G
-               | SDQP_SOLVER_A
-               | SDQP_SOLVER_C
-               | SDQP_SOLVER_LBA
-               | SDQP_SOLVER_H
-               deriving (Show, Eq)
-instance Enum SDQPInput where
-        fromEnum (SDQP_SOLVER_LBX) = 7
-        fromEnum (SDQP_SOLVER_UBX) = 8
-        fromEnum (SDQP_SOLVER_UBA) = 6
-        fromEnum (SDQP_SOLVER_NUM_IN) = 9
-        fromEnum (SDQP_SOLVER_F) = 2
-        fromEnum (SDQP_SOLVER_G) = 3
-        fromEnum (SDQP_SOLVER_A) = 4
-        fromEnum (SDQP_SOLVER_C) = 1
-        fromEnum (SDQP_SOLVER_LBA) = 5
-        fromEnum (SDQP_SOLVER_H) = 0
-        toEnum (7) = SDQP_SOLVER_LBX
-        toEnum (8) = SDQP_SOLVER_UBX
-        toEnum (6) = SDQP_SOLVER_UBA
-        toEnum (9) = SDQP_SOLVER_NUM_IN
-        toEnum (2) = SDQP_SOLVER_F
-        toEnum (3) = SDQP_SOLVER_G
-        toEnum (4) = SDQP_SOLVER_A
-        toEnum (1) = SDQP_SOLVER_C
-        toEnum (5) = SDQP_SOLVER_LBA
-        toEnum (0) = SDQP_SOLVER_H
-        toEnum k
-          = error $ "SDQPInput: toEnum: got unhandled number: " ++ show k
-instance Marshal SDQPInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt SDQPInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: OCPInput
-data OCPInput = OCP_LBX
-              | OCP_LBH
-              | OCP_UBP
-              | OCP_LBP
-              | OCP_UBU
-              | OCP_LBU
-              | OCP_UBG
-              | OCP_U_INIT
-              | OCP_P_INIT
-              | OCP_NUM_IN
-              | OCP_X_INIT
-              | OCP_UBX
-              | OCP_LBG
-              | OCP_UBH
-              deriving (Show, Eq)
-instance Enum OCPInput where
-        fromEnum (OCP_LBX) = 0
-        fromEnum (OCP_LBH) = 9
-        fromEnum (OCP_UBP) = 7
-        fromEnum (OCP_LBP) = 6
-        fromEnum (OCP_UBU) = 4
-        fromEnum (OCP_LBU) = 3
-        fromEnum (OCP_UBG) = 12
-        fromEnum (OCP_U_INIT) = 5
-        fromEnum (OCP_P_INIT) = 8
-        fromEnum (OCP_NUM_IN) = 13
-        fromEnum (OCP_X_INIT) = 2
-        fromEnum (OCP_UBX) = 1
-        fromEnum (OCP_LBG) = 11
-        fromEnum (OCP_UBH) = 10
-        toEnum (0) = OCP_LBX
-        toEnum (9) = OCP_LBH
-        toEnum (7) = OCP_UBP
-        toEnum (6) = OCP_LBP
-        toEnum (4) = OCP_UBU
-        toEnum (3) = OCP_LBU
-        toEnum (12) = OCP_UBG
-        toEnum (5) = OCP_U_INIT
-        toEnum (8) = OCP_P_INIT
-        toEnum (13) = OCP_NUM_IN
-        toEnum (2) = OCP_X_INIT
-        toEnum (1) = OCP_UBX
-        toEnum (11) = OCP_LBG
-        toEnum (10) = OCP_UBH
-        toEnum k
-          = error $ "OCPInput: toEnum: got unhandled number: " ++ show k
-instance Marshal OCPInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt OCPInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: CollocationPoints
-data CollocationPoints = LEGENDRE
-                       | RADAU
-                       deriving (Show, Eq)
-instance Enum CollocationPoints where
-        fromEnum (LEGENDRE) = 0
-        fromEnum (RADAU) = 1
-        toEnum (0) = LEGENDRE
-        toEnum (1) = RADAU
-        toEnum k
-          = error $ "CollocationPoints: toEnum: got unhandled number: " ++
-              show k
-instance Marshal CollocationPoints CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt CollocationPoints where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: QCQPSolverOutput
-data QCQPSolverOutput = QCQP_SOLVER_NUM_OUT
-                      | QCQP_SOLVER_X
-                      | QCQP_SOLVER_LAM_X
-                      | QCQP_SOLVER_COST
-                      | QCQP_SOLVER_LAM_A
-                      deriving (Show, Eq)
-instance Enum QCQPSolverOutput where
-        fromEnum (QCQP_SOLVER_NUM_OUT) = 4
-        fromEnum (QCQP_SOLVER_X) = 0
-        fromEnum (QCQP_SOLVER_LAM_X) = 3
-        fromEnum (QCQP_SOLVER_COST) = 1
-        fromEnum (QCQP_SOLVER_LAM_A) = 2
-        toEnum (4) = QCQP_SOLVER_NUM_OUT
-        toEnum (0) = QCQP_SOLVER_X
-        toEnum (3) = QCQP_SOLVER_LAM_X
-        toEnum (1) = QCQP_SOLVER_COST
-        toEnum (2) = QCQP_SOLVER_LAM_A
-        toEnum k
-          = error $ "QCQPSolverOutput: toEnum: got unhandled number: " ++
-              show k
-instance Marshal QCQPSolverOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt QCQPSolverOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: QPStruct
-data QPStruct = QP_STRUCT_A
-              | QP_STRUCT_H
-              | QP_STRUCT_NUM
-              deriving (Show, Eq)
-instance Enum QPStruct where
-        fromEnum (QP_STRUCT_A) = 1
-        fromEnum (QP_STRUCT_H) = 0
-        fromEnum (QP_STRUCT_NUM) = 2
-        toEnum (1) = QP_STRUCT_A
-        toEnum (0) = QP_STRUCT_H
-        toEnum (2) = QP_STRUCT_NUM
-        toEnum k
-          = error $ "QPStruct: toEnum: got unhandled number: " ++ show k
-instance Marshal QPStruct CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt QPStruct where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: MayerInput
-data MayerInput = MAYER_X
-                | MAYER_P
-                | MAYER_NUM_IN
-                deriving (Show, Eq)
-instance Enum MayerInput where
-        fromEnum (MAYER_X) = 0
-        fromEnum (MAYER_P) = 1
-        fromEnum (MAYER_NUM_IN) = 2
-        toEnum (0) = MAYER_X
-        toEnum (1) = MAYER_P
-        toEnum (2) = MAYER_NUM_IN
-        toEnum k
-          = error $ "MayerInput: toEnum: got unhandled number: " ++ show k
-instance Marshal MayerInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt MayerInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: ControlledDAEInput
-data ControlledDAEInput = CONTROL_DAE_X
-                        | CONTROL_DAE_Z
-                        | CONTROL_DAE_NUM_IN
-                        | CONTROL_DAE_P
-                        | CONTROL_DAE_X_MAJOR
-                        | CONTROL_DAE_TF
-                        | CONTROL_DAE_T
-                        | CONTROL_DAE_U
-                        | CONTROL_DAE_U_INTERP
-                        | CONTROL_DAE_T0
-                        deriving (Show, Eq)
-instance Enum ControlledDAEInput where
-        fromEnum (CONTROL_DAE_X) = 1
-        fromEnum (CONTROL_DAE_Z) = 2
-        fromEnum (CONTROL_DAE_NUM_IN) = 9
-        fromEnum (CONTROL_DAE_P) = 3
-        fromEnum (CONTROL_DAE_X_MAJOR) = 6
-        fromEnum (CONTROL_DAE_TF) = 8
-        fromEnum (CONTROL_DAE_T) = 0
-        fromEnum (CONTROL_DAE_U) = 4
-        fromEnum (CONTROL_DAE_U_INTERP) = 5
-        fromEnum (CONTROL_DAE_T0) = 7
-        toEnum (1) = CONTROL_DAE_X
-        toEnum (2) = CONTROL_DAE_Z
-        toEnum (9) = CONTROL_DAE_NUM_IN
-        toEnum (3) = CONTROL_DAE_P
-        toEnum (6) = CONTROL_DAE_X_MAJOR
-        toEnum (8) = CONTROL_DAE_TF
-        toEnum (0) = CONTROL_DAE_T
-        toEnum (4) = CONTROL_DAE_U
-        toEnum (5) = CONTROL_DAE_U_INTERP
-        toEnum (7) = CONTROL_DAE_T0
-        toEnum k
-          = error $ "ControlledDAEInput: toEnum: got unhandled number: " ++
-              show k
-instance Marshal ControlledDAEInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt ControlledDAEInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: SDQPStruct
-data SDQPStruct = SDQP_STRUCT_NUM
-                | SDQP_STRUCT_H
-                | SDQP_STRUCT_A
-                | SDQP_STRUCT_F
-                | SDQP_STRUCT_G
-                deriving (Show, Eq)
-instance Enum SDQPStruct where
-        fromEnum (SDQP_STRUCT_NUM) = 4
-        fromEnum (SDQP_STRUCT_H) = 0
-        fromEnum (SDQP_STRUCT_A) = 3
-        fromEnum (SDQP_STRUCT_F) = 1
-        fromEnum (SDQP_STRUCT_G) = 2
-        toEnum (4) = SDQP_STRUCT_NUM
-        toEnum (0) = SDQP_STRUCT_H
-        toEnum (3) = SDQP_STRUCT_A
-        toEnum (1) = SDQP_STRUCT_F
-        toEnum (2) = SDQP_STRUCT_G
-        toEnum k
-          = error $ "SDQPStruct: toEnum: got unhandled number: " ++ show k
-instance Marshal SDQPStruct CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt SDQPStruct where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: NLPInput
-data NLPInput = NL_P
-              | NL_NUM_IN
-              | NL_X
-              deriving (Show, Eq)
-instance Enum NLPInput where
-        fromEnum (NL_P) = 1
-        fromEnum (NL_NUM_IN) = 2
-        fromEnum (NL_X) = 0
-        toEnum (1) = NL_P
-        toEnum (2) = NL_NUM_IN
-        toEnum (0) = NL_X
-        toEnum k
-          = error $ "NLPInput: toEnum: got unhandled number: " ++ show k
-instance Marshal NLPInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt NLPInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: SOCPStruct
-data SOCPStruct = SOCP_STRUCT_G
-                | SOCP_STRUCT_A
-                | SOCP_STRUCT_NUM
-                deriving (Show, Eq)
-instance Enum SOCPStruct where
-        fromEnum (SOCP_STRUCT_G) = 0
-        fromEnum (SOCP_STRUCT_A) = 1
-        fromEnum (SOCP_STRUCT_NUM) = 2
-        toEnum (0) = SOCP_STRUCT_G
-        toEnum (1) = SOCP_STRUCT_A
-        toEnum (2) = SOCP_STRUCT_NUM
-        toEnum k
-          = error $ "SOCPStruct: toEnum: got unhandled number: " ++ show k
-instance Marshal SOCPStruct CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt SOCPStruct where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: IntegratorInput
-data IntegratorInput = INTEGRATOR_RZ0
-                     | INTEGRATOR_RX0
-                     | INTEGRATOR_RP
-                     | INTEGRATOR_NUM_IN
-                     | INTEGRATOR_X0
-                     | INTEGRATOR_Z0
-                     | INTEGRATOR_P
-                     deriving (Show, Eq)
-instance Enum IntegratorInput where
-        fromEnum (INTEGRATOR_RZ0) = 5
-        fromEnum (INTEGRATOR_RX0) = 3
-        fromEnum (INTEGRATOR_RP) = 4
-        fromEnum (INTEGRATOR_NUM_IN) = 6
-        fromEnum (INTEGRATOR_X0) = 0
-        fromEnum (INTEGRATOR_Z0) = 2
-        fromEnum (INTEGRATOR_P) = 1
-        toEnum (5) = INTEGRATOR_RZ0
-        toEnum (3) = INTEGRATOR_RX0
-        toEnum (4) = INTEGRATOR_RP
-        toEnum (6) = INTEGRATOR_NUM_IN
-        toEnum (0) = INTEGRATOR_X0
-        toEnum (2) = INTEGRATOR_Z0
-        toEnum (1) = INTEGRATOR_P
-        toEnum k
-          = error $ "IntegratorInput: toEnum: got unhandled number: " ++
-              show k
-instance Marshal IntegratorInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt IntegratorInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: QPSolverInput
-data QPSolverInput = QP_SOLVER_LBA
-                   | QP_SOLVER_UBA
-                   | QP_SOLVER_LAM_X0
-                   | QP_SOLVER_NUM_IN
-                   | QP_SOLVER_LBX
-                   | QP_SOLVER_UBX
-                   | QP_SOLVER_H
-                   | QP_SOLVER_X0
-                   | QP_SOLVER_G
-                   | QP_SOLVER_A
-                   deriving (Show, Eq)
-instance Enum QPSolverInput where
-        fromEnum (QP_SOLVER_LBA) = 3
-        fromEnum (QP_SOLVER_UBA) = 4
-        fromEnum (QP_SOLVER_LAM_X0) = 8
-        fromEnum (QP_SOLVER_NUM_IN) = 9
-        fromEnum (QP_SOLVER_LBX) = 5
-        fromEnum (QP_SOLVER_UBX) = 6
-        fromEnum (QP_SOLVER_H) = 0
-        fromEnum (QP_SOLVER_X0) = 7
-        fromEnum (QP_SOLVER_G) = 1
-        fromEnum (QP_SOLVER_A) = 2
-        toEnum (3) = QP_SOLVER_LBA
-        toEnum (4) = QP_SOLVER_UBA
-        toEnum (8) = QP_SOLVER_LAM_X0
-        toEnum (9) = QP_SOLVER_NUM_IN
-        toEnum (5) = QP_SOLVER_LBX
-        toEnum (6) = QP_SOLVER_UBX
-        toEnum (0) = QP_SOLVER_H
-        toEnum (7) = QP_SOLVER_X0
-        toEnum (1) = QP_SOLVER_G
-        toEnum (2) = QP_SOLVER_A
-        toEnum k
-          = error $ "QPSolverInput: toEnum: got unhandled number: " ++ show k
-instance Marshal QPSolverInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt QPSolverInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: Alias
-data Alias = ALIAS
-           | NO_ALIAS
-           | NEGATED_ALIAS
-           deriving (Show, Eq)
-instance Enum Alias where
-        fromEnum (ALIAS) = 1
-        fromEnum (NO_ALIAS) = 0
-        fromEnum (NEGATED_ALIAS) = 2
-        toEnum (1) = ALIAS
-        toEnum (0) = NO_ALIAS
-        toEnum (2) = NEGATED_ALIAS
-        toEnum k
-          = error $ "Alias: toEnum: got unhandled number: " ++ show k
-instance Marshal Alias CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt Alias where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: OCPOutput
-data OCPOutput = OCP_X_OPT
-               | OCP_P_OPT
-               | OCP_U_OPT
-               | OCP_COST
-               | OCP_NUM_OUT
-               deriving (Show, Eq)
-instance Enum OCPOutput where
-        fromEnum (OCP_X_OPT) = 0
-        fromEnum (OCP_P_OPT) = 2
-        fromEnum (OCP_U_OPT) = 1
-        fromEnum (OCP_COST) = 3
-        fromEnum (OCP_NUM_OUT) = 4
-        toEnum (0) = OCP_X_OPT
-        toEnum (2) = OCP_P_OPT
-        toEnum (1) = OCP_U_OPT
-        toEnum (3) = OCP_COST
-        toEnum (4) = OCP_NUM_OUT
-        toEnum k
-          = error $ "OCPOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal OCPOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt OCPOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: RDAEOutput
-data RDAEOutput = RDAE_ODE
-                | RDAE_NUM_OUT
-                | RDAE_QUAD
-                | RDAE_ALG
-                deriving (Show, Eq)
-instance Enum RDAEOutput where
-        fromEnum (RDAE_ODE) = 0
-        fromEnum (RDAE_NUM_OUT) = 3
-        fromEnum (RDAE_QUAD) = 2
-        fromEnum (RDAE_ALG) = 1
-        toEnum (0) = RDAE_ODE
-        toEnum (3) = RDAE_NUM_OUT
-        toEnum (2) = RDAE_QUAD
-        toEnum (1) = RDAE_ALG
-        toEnum k
-          = error $ "RDAEOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal RDAEOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt RDAEOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: DPLEInput
-data DPLEInput = DPLE_V
-               | DPLE_NUM_IN
-               | DPLE_A
-               deriving (Show, Eq)
-instance Enum DPLEInput where
-        fromEnum (DPLE_V) = 1
-        fromEnum (DPLE_NUM_IN) = 2
-        fromEnum (DPLE_A) = 0
-        toEnum (1) = DPLE_V
-        toEnum (2) = DPLE_NUM_IN
-        toEnum (0) = DPLE_A
-        toEnum k
-          = error $ "DPLEInput: toEnum: got unhandled number: " ++ show k
-instance Marshal DPLEInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt DPLEInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: JacGOutput
-data JacGOutput = JACG_F
-                | JACG_G
-                | JACG_JAC
-                | JACG_NUM_OUT
-                deriving (Show, Eq)
-instance Enum JacGOutput where
-        fromEnum (JACG_F) = 1
-        fromEnum (JACG_G) = 2
-        fromEnum (JACG_JAC) = 0
-        fromEnum (JACG_NUM_OUT) = 3
-        toEnum (1) = JACG_F
-        toEnum (2) = JACG_G
-        toEnum (0) = JACG_JAC
-        toEnum (3) = JACG_NUM_OUT
-        toEnum k
-          = error $ "JacGOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal JacGOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt JacGOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: QCQPStruct
-data QCQPStruct = QCQP_STRUCT_NUM
-                | QCQP_STRUCT_A
-                | QCQP_STRUCT_H
-                | QCQP_STRUCT_P
-                deriving (Show, Eq)
-instance Enum QCQPStruct where
-        fromEnum (QCQP_STRUCT_NUM) = 3
-        fromEnum (QCQP_STRUCT_A) = 2
-        fromEnum (QCQP_STRUCT_H) = 0
-        fromEnum (QCQP_STRUCT_P) = 1
-        toEnum (3) = QCQP_STRUCT_NUM
-        toEnum (2) = QCQP_STRUCT_A
-        toEnum (0) = QCQP_STRUCT_H
-        toEnum (1) = QCQP_STRUCT_P
-        toEnum k
-          = error $ "QCQPStruct: toEnum: got unhandled number: " ++ show k
-instance Marshal QCQPStruct CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt QCQPStruct where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: LinsolOutput
-data LinsolOutput = LINSOL_X
-                  | LINSOL_NUM_OUT
-                  deriving (Show, Eq)
-instance Enum LinsolOutput where
-        fromEnum (LINSOL_X) = 0
-        fromEnum (LINSOL_NUM_OUT) = 1
-        toEnum (0) = LINSOL_X
-        toEnum (1) = LINSOL_NUM_OUT
-        toEnum k
-          = error $ "LinsolOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal LinsolOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt LinsolOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: SDQPOutput
-data SDQPOutput = SDQP_SOLVER_P
-                | SDQP_SOLVER_LAM_X
-                | SDQP_SOLVER_DUAL
-                | SDQP_SOLVER_X
-                | SDQP_SOLVER_DUAL_COST
-                | SDQP_SOLVER_COST
-                | SDQP_SOLVER_NUM_OUT
-                | SDQP_SOLVER_LAM_A
-                deriving (Show, Eq)
-instance Enum SDQPOutput where
-        fromEnum (SDQP_SOLVER_P) = 1
-        fromEnum (SDQP_SOLVER_LAM_X) = 6
-        fromEnum (SDQP_SOLVER_DUAL) = 2
-        fromEnum (SDQP_SOLVER_X) = 0
-        fromEnum (SDQP_SOLVER_DUAL_COST) = 4
-        fromEnum (SDQP_SOLVER_COST) = 3
-        fromEnum (SDQP_SOLVER_NUM_OUT) = 7
-        fromEnum (SDQP_SOLVER_LAM_A) = 5
-        toEnum (1) = SDQP_SOLVER_P
-        toEnum (6) = SDQP_SOLVER_LAM_X
-        toEnum (2) = SDQP_SOLVER_DUAL
-        toEnum (0) = SDQP_SOLVER_X
-        toEnum (4) = SDQP_SOLVER_DUAL_COST
-        toEnum (3) = SDQP_SOLVER_COST
-        toEnum (7) = SDQP_SOLVER_NUM_OUT
-        toEnum (5) = SDQP_SOLVER_LAM_A
-        toEnum k
-          = error $ "SDQPOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal SDQPOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt SDQPOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: Type
-data Type = INT
-          | SLICE
-          | IVECTOR
-          | NILL
-          deriving (Show, Eq)
-instance Enum Type where
-        fromEnum (INT) = 1
-        fromEnum (SLICE) = 2
-        fromEnum (IVECTOR) = 3
-        fromEnum (NILL) = 0
-        toEnum (1) = INT
-        toEnum (2) = SLICE
-        toEnum (3) = IVECTOR
-        toEnum (0) = NILL
-        toEnum k = error $ "Type: toEnum: got unhandled number: " ++ show k
-instance Marshal Type CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt Type where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: ControlSimulatorInput
-data ControlSimulatorInput = CONTROLSIMULATOR_X0
-                           | CONTROLSIMULATOR_NUM_IN
-                           | CONTROLSIMULATOR_P
-                           | CONTROLSIMULATOR_U
-                           deriving (Show, Eq)
-instance Enum ControlSimulatorInput where
-        fromEnum (CONTROLSIMULATOR_X0) = 0
-        fromEnum (CONTROLSIMULATOR_NUM_IN) = 3
-        fromEnum (CONTROLSIMULATOR_P) = 1
-        fromEnum (CONTROLSIMULATOR_U) = 2
-        toEnum (0) = CONTROLSIMULATOR_X0
-        toEnum (3) = CONTROLSIMULATOR_NUM_IN
-        toEnum (1) = CONTROLSIMULATOR_P
-        toEnum (2) = CONTROLSIMULATOR_U
-        toEnum k
-          = error $ "ControlSimulatorInput: toEnum: got unhandled number: "
-              ++ show k
-instance Marshal ControlSimulatorInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt ControlSimulatorInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: SDPStruct
-data SDPStruct = SDP_STRUCT_A
-               | SDP_STRUCT_NUM
-               | SDP_STRUCT_F
-               | SDP_STRUCT_G
-               deriving (Show, Eq)
-instance Enum SDPStruct where
-        fromEnum (SDP_STRUCT_A) = 2
-        fromEnum (SDP_STRUCT_NUM) = 3
-        fromEnum (SDP_STRUCT_F) = 0
-        fromEnum (SDP_STRUCT_G) = 1
-        toEnum (2) = SDP_STRUCT_A
-        toEnum (3) = SDP_STRUCT_NUM
-        toEnum (0) = SDP_STRUCT_F
-        toEnum (1) = SDP_STRUCT_G
-        toEnum k
-          = error $ "SDPStruct: toEnum: got unhandled number: " ++ show k
-instance Marshal SDPStruct CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt SDPStruct where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: JacGInput
-data JacGInput = JACG_NUM_IN
-               | JACG_P
-               | JACG_X
-               deriving (Show, Eq)
-instance Enum JacGInput where
-        fromEnum (JACG_NUM_IN) = 2
-        fromEnum (JACG_P) = 1
-        fromEnum (JACG_X) = 0
-        toEnum (2) = JACG_NUM_IN
-        toEnum (1) = JACG_P
-        toEnum (0) = JACG_X
-        toEnum k
-          = error $ "JacGInput: toEnum: got unhandled number: " ++ show k
-instance Marshal JacGInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt JacGInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: DPLEOutput
-data DPLEOutput = DPLE_NUM_OUT
-                | DPLE_P
-                deriving (Show, Eq)
-instance Enum DPLEOutput where
-        fromEnum (DPLE_NUM_OUT) = 1
-        fromEnum (DPLE_P) = 0
-        toEnum (1) = DPLE_NUM_OUT
-        toEnum (0) = DPLE_P
-        toEnum k
-          = error $ "DPLEOutput: toEnum: got unhandled number: " ++ show k
-instance Marshal DPLEOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt DPLEOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: HessLagInput
-data HessLagInput = HESSLAG_NUM_IN
-                  | HESSLAG_LAM_G
-                  | HESSLAG_LAM_F
-                  | HESSLAG_X
-                  | HESSLAG_P
-                  deriving (Show, Eq)
-instance Enum HessLagInput where
-        fromEnum (HESSLAG_NUM_IN) = 4
-        fromEnum (HESSLAG_LAM_G) = 3
-        fromEnum (HESSLAG_LAM_F) = 2
-        fromEnum (HESSLAG_X) = 0
-        fromEnum (HESSLAG_P) = 1
-        toEnum (4) = HESSLAG_NUM_IN
-        toEnum (3) = HESSLAG_LAM_G
-        toEnum (2) = HESSLAG_LAM_F
-        toEnum (0) = HESSLAG_X
-        toEnum (1) = HESSLAG_P
-        toEnum k
-          = error $ "HessLagInput: toEnum: got unhandled number: " ++ show k
-instance Marshal HessLagInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt HessLagInput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: Operation
-data Operation = OP_SETNONZEROS
-               | OP_FLOOR
-               | OP_TAN
-               | OP_NORMINF
-               | OP_ERFINV
-               | OP_FABS
-               | OP_LT
-               | OP_LIFT
-               | OP_DETERMINANT
-               | OP_SIN
-               | OP_PARAMETER
-               | OP_TANH
-               | OP_MUL
-               | OP_NOT
-               | OP_IF_ELSE_ZERO
-               | OP_PRINTME
-               | OP_ERF
-               | OP_LE
-               | OP_CALL
-               | OP_SOLVE
-               | OP_NE
-               | OP_NORM1
-               | OP_HORZCAT
-               | OP_CONSTPOW
-               | OP_DIV
-               | OP_RESHAPE
-               | OP_INV
-               | OP_NORM2
-               | OP_AND
-               | OP_COS
-               | OP_GETNONZEROS
-               | OP_FMAX
-               | OP_CEIL
-               | OP_POW
-               | OP_INVERSE
-               | OP_CONST
-               | OP_LOG
-               | OP_NEG
-               | OP_SUBASSIGN
-               | OP_ATAN
-               | OP_SQRT
-               | OP_ASSERTION
-               | OP_VERTSPLIT
-               | OP_ASINH
-               | OP_COSH
-               | OP_ASSIGN
-               | OP_FMIN
-               | OP_ADD
-               | OP_SINH
-               | OP_SUB
-               | OP_SIGN
-               | OP_SQ
-               | OP_NORMF
-               | OP_ACOSH
-               | OP_HORZSPLIT
-               | OP_EXP
-               | OP_INPUT
-               | OP_OUTPUT
-               | OP_VERTCAT
-               | OP_EQ
-               | OP_INNER_PROD
-               | OP_MATMUL
-               | OP_TRANSPOSE
-               | OP_ASIN
-               | OP_COPYSIGN
-               | OP_ATANH
-               | NUM_BUILT_IN_OPS
-               | OP_ACOS
-               | OP_OR
-               | OP_TWICE
-               | OP_SUBREF
-               | OP_ATAN2
-               | OP_SET_SPARSE
-               | OP_ADDNONZEROS
-               deriving (Show, Eq)
-instance Enum Operation where
-        fromEnum (OP_SETNONZEROS) = 63
-        fromEnum (OP_FLOOR) = 26
-        fromEnum (OP_TAN) = 15
-        fromEnum (OP_NORMINF) = 68
-        fromEnum (OP_ERFINV) = 70
-        fromEnum (OP_FABS) = 28
-        fromEnum (OP_LT) = 19
-        fromEnum (OP_LIFT) = 72
-        fromEnum (OP_DETERMINANT) = 51
-        fromEnum (OP_SIN) = 13
-        fromEnum (OP_PARAMETER) = 46
-        fromEnum (OP_TANH) = 38
-        fromEnum (OP_MUL) = 3
-        fromEnum (OP_NOT) = 23
-        fromEnum (OP_IF_ELSE_ZERO) = 31
-        fromEnum (OP_PRINTME) = 71
-        fromEnum (OP_ERF) = 32
-        fromEnum (OP_LE) = 20
-        fromEnum (OP_CALL) = 47
-        fromEnum (OP_SOLVE) = 49
-        fromEnum (OP_NE) = 22
-        fromEnum (OP_NORM1) = 67
-        fromEnum (OP_HORZCAT) = 54
-        fromEnum (OP_CONSTPOW) = 9
-        fromEnum (OP_DIV) = 4
-        fromEnum (OP_RESHAPE) = 58
-        fromEnum (OP_INV) = 35
-        fromEnum (OP_NORM2) = 66
-        fromEnum (OP_AND) = 24
-        fromEnum (OP_COS) = 14
-        fromEnum (OP_GETNONZEROS) = 61
-        fromEnum (OP_FMAX) = 34
-        fromEnum (OP_CEIL) = 27
-        fromEnum (OP_POW) = 8
-        fromEnum (OP_INVERSE) = 52
-        fromEnum (OP_CONST) = 43
-        fromEnum (OP_LOG) = 7
-        fromEnum (OP_NEG) = 5
-        fromEnum (OP_SUBASSIGN) = 60
-        fromEnum (OP_ATAN) = 18
-        fromEnum (OP_SQRT) = 10
-        fromEnum (OP_ASSERTION) = 65
-        fromEnum (OP_VERTSPLIT) = 57
-        fromEnum (OP_ASINH) = 39
-        fromEnum (OP_COSH) = 37
-        fromEnum (OP_ASSIGN) = 0
-        fromEnum (OP_FMIN) = 33
-        fromEnum (OP_ADD) = 1
-        fromEnum (OP_SINH) = 36
-        fromEnum (OP_SUB) = 2
-        fromEnum (OP_SIGN) = 29
-        fromEnum (OP_SQ) = 11
-        fromEnum (OP_NORMF) = 69
-        fromEnum (OP_ACOSH) = 40
-        fromEnum (OP_HORZSPLIT) = 56
-        fromEnum (OP_EXP) = 6
-        fromEnum (OP_INPUT) = 44
-        fromEnum (OP_OUTPUT) = 45
-        fromEnum (OP_VERTCAT) = 55
-        fromEnum (OP_EQ) = 21
-        fromEnum (OP_INNER_PROD) = 53
-        fromEnum (OP_MATMUL) = 48
-        fromEnum (OP_TRANSPOSE) = 50
-        fromEnum (OP_ASIN) = 16
-        fromEnum (OP_COPYSIGN) = 30
-        fromEnum (OP_ATANH) = 41
-        fromEnum (NUM_BUILT_IN_OPS) = 73
-        fromEnum (OP_ACOS) = 17
-        fromEnum (OP_OR) = 25
-        fromEnum (OP_TWICE) = 12
-        fromEnum (OP_SUBREF) = 59
-        fromEnum (OP_ATAN2) = 42
-        fromEnum (OP_SET_SPARSE) = 64
-        fromEnum (OP_ADDNONZEROS) = 62
-        toEnum (63) = OP_SETNONZEROS
-        toEnum (26) = OP_FLOOR
-        toEnum (15) = OP_TAN
-        toEnum (68) = OP_NORMINF
-        toEnum (70) = OP_ERFINV
-        toEnum (28) = OP_FABS
-        toEnum (19) = OP_LT
-        toEnum (72) = OP_LIFT
-        toEnum (51) = OP_DETERMINANT
-        toEnum (13) = OP_SIN
-        toEnum (46) = OP_PARAMETER
-        toEnum (38) = OP_TANH
-        toEnum (3) = OP_MUL
-        toEnum (23) = OP_NOT
-        toEnum (31) = OP_IF_ELSE_ZERO
-        toEnum (71) = OP_PRINTME
-        toEnum (32) = OP_ERF
-        toEnum (20) = OP_LE
-        toEnum (47) = OP_CALL
-        toEnum (49) = OP_SOLVE
-        toEnum (22) = OP_NE
-        toEnum (67) = OP_NORM1
-        toEnum (54) = OP_HORZCAT
-        toEnum (9) = OP_CONSTPOW
-        toEnum (4) = OP_DIV
-        toEnum (58) = OP_RESHAPE
-        toEnum (35) = OP_INV
-        toEnum (66) = OP_NORM2
-        toEnum (24) = OP_AND
-        toEnum (14) = OP_COS
-        toEnum (61) = OP_GETNONZEROS
-        toEnum (34) = OP_FMAX
-        toEnum (27) = OP_CEIL
-        toEnum (8) = OP_POW
-        toEnum (52) = OP_INVERSE
-        toEnum (43) = OP_CONST
-        toEnum (7) = OP_LOG
-        toEnum (5) = OP_NEG
-        toEnum (60) = OP_SUBASSIGN
-        toEnum (18) = OP_ATAN
-        toEnum (10) = OP_SQRT
-        toEnum (65) = OP_ASSERTION
-        toEnum (57) = OP_VERTSPLIT
-        toEnum (39) = OP_ASINH
-        toEnum (37) = OP_COSH
-        toEnum (0) = OP_ASSIGN
-        toEnum (33) = OP_FMIN
-        toEnum (1) = OP_ADD
-        toEnum (36) = OP_SINH
-        toEnum (2) = OP_SUB
-        toEnum (29) = OP_SIGN
-        toEnum (11) = OP_SQ
-        toEnum (69) = OP_NORMF
-        toEnum (40) = OP_ACOSH
-        toEnum (56) = OP_HORZSPLIT
-        toEnum (6) = OP_EXP
-        toEnum (44) = OP_INPUT
-        toEnum (45) = OP_OUTPUT
-        toEnum (55) = OP_VERTCAT
-        toEnum (21) = OP_EQ
-        toEnum (53) = OP_INNER_PROD
-        toEnum (48) = OP_MATMUL
-        toEnum (50) = OP_TRANSPOSE
-        toEnum (16) = OP_ASIN
-        toEnum (30) = OP_COPYSIGN
-        toEnum (41) = OP_ATANH
-        toEnum (73) = NUM_BUILT_IN_OPS
-        toEnum (17) = OP_ACOS
-        toEnum (25) = OP_OR
-        toEnum (12) = OP_TWICE
-        toEnum (59) = OP_SUBREF
-        toEnum (42) = OP_ATAN2
-        toEnum (64) = OP_SET_SPARSE
-        toEnum (62) = OP_ADDNONZEROS
-        toEnum k
-          = error $ "Operation: toEnum: got unhandled number: " ++ show k
-instance Marshal Operation CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt Operation where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: SparsityType
-data SparsityType = DENSE
-                  | SPARSESYM
-                  | DENSESYM
-                  | SPARSE
-                  | DENSETRANS
-                  deriving (Show, Eq)
-instance Enum SparsityType where
-        fromEnum (DENSE) = 2
-        fromEnum (SPARSESYM) = 1
-        fromEnum (DENSESYM) = 3
-        fromEnum (SPARSE) = 0
-        fromEnum (DENSETRANS) = 4
-        toEnum (2) = DENSE
-        toEnum (1) = SPARSESYM
-        toEnum (3) = DENSESYM
-        toEnum (0) = SPARSE
-        toEnum (4) = DENSETRANS
-        toEnum k
-          = error $ "SparsityType: toEnum: got unhandled number: " ++ show k
-instance Marshal SparsityType CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt SparsityType where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: QPSolverOutput
-data QPSolverOutput = QP_SOLVER_LAM_X
-                    | QP_SOLVER_COST
-                    | QP_SOLVER_LAM_A
-                    | QP_SOLVER_X
-                    | QP_SOLVER_NUM_OUT
-                    deriving (Show, Eq)
-instance Enum QPSolverOutput where
-        fromEnum (QP_SOLVER_LAM_X) = 3
-        fromEnum (QP_SOLVER_COST) = 1
-        fromEnum (QP_SOLVER_LAM_A) = 2
-        fromEnum (QP_SOLVER_X) = 0
-        fromEnum (QP_SOLVER_NUM_OUT) = 4
-        toEnum (3) = QP_SOLVER_LAM_X
-        toEnum (1) = QP_SOLVER_COST
-        toEnum (2) = QP_SOLVER_LAM_A
-        toEnum (0) = QP_SOLVER_X
-        toEnum (4) = QP_SOLVER_NUM_OUT
-        toEnum k
-          = error $ "QPSolverOutput: toEnum: got unhandled number: " ++
-              show k
-instance Marshal QPSolverOutput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt QPSolverOutput where
-        wrapReturn = return . toEnum . fromIntegral
-
--- EnumDecl: HNLPInput
-data HNLPInput = HNL_TAU
-               | HNL_X
-               | HNL_P
-               | HNL_NUM_IN
-               deriving (Show, Eq)
-instance Enum HNLPInput where
-        fromEnum (HNL_TAU) = 2
-        fromEnum (HNL_X) = 0
-        fromEnum (HNL_P) = 1
-        fromEnum (HNL_NUM_IN) = 3
-        toEnum (2) = HNL_TAU
-        toEnum (0) = HNL_X
-        toEnum (1) = HNL_P
-        toEnum (3) = HNL_NUM_IN
-        toEnum k
-          = error $ "HNLPInput: toEnum: got unhandled number: " ++ show k
-instance Marshal HNLPInput CInt where
-        marshal = return . fromIntegral . fromEnum
-instance WrapReturn CInt HNLPInput where
-        wrapReturn = return . toEnum . fromIntegral
-
diff --git a/Casadi/Wrappers/Tools.hs b/Casadi/Wrappers/Tools.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Tools.hs
+++ /dev/null
@@ -1,4962 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-
-module Casadi.Wrappers.Tools
-       (
-         addMultiple,
-         addMultiple',
-         addMultiple'',
-         addMultiple''',
-         addMultiple'''',
-         addMultiple''''',
-         adj,
-         adj',
-         adj'',
-         blkdiag,
-         blkdiag',
-         blkdiag'',
-         blkdiag''',
-         blkdiag'''',
-         blockcat,
-         blockcat',
-         blockcat'',
-         blockcat''',
-         blocksplit,
-         blocksplit',
-         blocksplit'',
-         blocksplit''',
-         blocksplit'''',
-         blocksplit''''',
-         blocksplit'''''',
-         blocksplit''''''',
-         blocksplit'''''''',
-         blocksplit''''''''',
-         blocksplit'''''''''',
-         blocksplit''''''''''',
-         blocksplit'''''''''''',
-         blocksplit''''''''''''',
-         blocksplit'''''''''''''',
-         blocksplit''''''''''''''',
-         cofactor,
-         cofactor',
-         cofactor'',
-         collocationInterpolators,
-         collocationPoints,
-         collocationPoints',
-         complement,
-         compress,
-         compress',
-         countNodes,
-         countNodes',
-         createParent,
-         createParent',
-         createParent'',
-         cross,
-         cross',
-         cross'',
-         cross''',
-         cross'''',
-         cross''''',
-         cross'''''',
-         cross''''''',
-         dense,
-         dense',
-         dense'',
-         dense''',
-         dependsOn,
-         dependsOn',
-         det,
-         det',
-         det'',
-         det''',
-         diag,
-         diag',
-         diag'',
-         diag''',
-         eig_symbolic,
-         evalf,
-         evalf',
-         expand,
-         explicitRK,
-         explicitRK',
-         explicitRK'',
-         explicitRK''',
-         extractShared,
-         extractShared',
-         extractShared'',
-         extractShared''',
-         extractShared'''',
-         extractShared''''',
-         gauss_quadrature,
-         gauss_quadrature',
-         gauss_quadrature'',
-         getFree,
-         getMinor,
-         getMinor',
-         getMinor'',
-         getOperatorRepresentation,
-         getOperatorRepresentation',
-         getSchemeEntryDoc,
-         getSchemeEntryEnum,
-         getSchemeEntryEnumName,
-         getSchemeEntryName,
-         getSchemeEntryNames,
-         getSchemeName,
-         getSchemeSize,
-         getSymbols,
-         getSymbols',
-         getSymbols'',
-         gradient,
-         gradient',
-         graph_substitute,
-         graph_substitute',
-         hash_combine,
-         hash_sparsity,
-         heaviside,
-         hessian,
-         hessian',
-         horzcat,
-         horzcat',
-         horzcat'',
-         horzcat''',
-         horzcat'''',
-         horzsplit,
-         horzsplit',
-         horzsplit'',
-         horzsplit''',
-         horzsplit'''',
-         horzsplit''''',
-         horzsplit'''''',
-         horzsplit''''''',
-         horzsplit'''''''',
-         horzsplit''''''''',
-         horzsplit'''''''''',
-         horzsplit''''''''''',
-         horzsplit'''''''''''',
-         if_else,
-         if_else',
-         inner_prod,
-         inner_prod',
-         inner_prod'',
-         inner_prod''',
-         inv,
-         inv',
-         inv'',
-         inv''',
-         isDecreasing,
-         isDecreasing',
-         isEqual,
-         isEqual',
-         isEqual'',
-         isEqual''',
-         isIncreasing,
-         isIncreasing',
-         isMonotone,
-         isMonotone',
-         isNonDecreasing,
-         isNonDecreasing',
-         isNonIncreasing,
-         isNonIncreasing',
-         isRegular,
-         isRegular',
-         isStrictlyMonotone,
-         isStrictlyMonotone',
-         jacobian,
-         jacobian',
-         jacobianTimesVector,
-         jacobianTimesVector',
-         kron,
-         kron',
-         kron'',
-         kron''',
-         linspace,
-         linspace',
-         linspace'',
-         logic_and,
-         logic_and',
-         logic_and'',
-         logic_and''',
-         logic_and'''',
-         logic_and''''',
-         logic_and'''''',
-         logic_not,
-         logic_not',
-         logic_not'',
-         logic_not''',
-         logic_not'''',
-         logic_not''''',
-         logic_not'''''',
-         logic_or,
-         logic_or',
-         logic_or'',
-         logic_or''',
-         logic_or'''',
-         logic_or''''',
-         logic_or'''''',
-         lookupvector,
-         matrix_expand,
-         matrix_expand',
-         matrix_expand'',
-         matrix_expand''',
-         mtaylor,
-         mtaylor',
-         mtaylor'',
-         mul,
-         mul',
-         mul'',
-         mul''',
-         mul'''',
-         mul''''',
-         mul'''''',
-         mul''''''',
-         mul'''''''',
-         mul''''''''',
-         mul'''''''''',
-         mul''''''''''',
-         mul'''''''''''',
-         norm_1,
-         norm_1',
-         norm_1'',
-         norm_1''',
-         norm_2,
-         norm_2',
-         norm_2'',
-         norm_2''',
-         norm_F,
-         norm_F',
-         norm_F'',
-         norm_F''',
-         norm_inf,
-         norm_inf',
-         norm_inf'',
-         norm_inf''',
-         nullspace,
-         nullspace',
-         nullspace'',
-         nullspace''',
-         outer_prod,
-         outer_prod',
-         outer_prod'',
-         outer_prod''',
-         pinv,
-         pinv',
-         pinv'',
-         poly_coeff,
-         poly_roots,
-         polyval,
-         polyval',
-         polyval'',
-         polyval''',
-         printCompact',
-         printCompact''',
-         project,
-         project',
-         project'',
-         pw_const,
-         pw_lin,
-         qr,
-         qr',
-         qr'',
-         ramp,
-         rank,
-         rectangle,
-         repmat,
-         repmat',
-         repmat'',
-         repmat''',
-         reshape,
-         reshape',
-         reshape'',
-         reshape''',
-         reshape'''',
-         reshape''''',
-         reshape'''''',
-         reshape''''''',
-         simplify,
-         simplify',
-         simplify'',
-         solve,
-         solve',
-         solve'',
-         solve''',
-         sparse,
-         sparse',
-         sparse'',
-         sparse''',
-         sparse'''',
-         sparse''''',
-         sprank,
-         sprank',
-         sprank'',
-         spy,
-         substitute,
-         substitute',
-         substitute'',
-         substitute''',
-         substituteInPlace,
-         substituteInPlace',
-         substituteInPlace'',
-         substituteInPlace''',
-         substituteInPlace'''',
-         substituteInPlace''''',
-         substituteInPlace'''''',
-         substituteInPlace''''''',
-         substituteInPlace'''''''',
-         substituteInPlace''''''''',
-         sumAll,
-         sumAll',
-         sumAll'',
-         sumAll''',
-         sumCols,
-         sumCols',
-         sumCols'',
-         sumCols''',
-         sumRows,
-         sumRows',
-         sumRows'',
-         sumRows''',
-         tangent,
-         tangent',
-         taylor,
-         taylor',
-         taylor'',
-         trace,
-         trace',
-         trace'',
-         trace''',
-         transpose,
-         transpose',
-         transpose'',
-         transpose''',
-         transpose'''',
-         triangle,
-         tril,
-         tril',
-         tril'',
-         tril''',
-         tril'''',
-         tril''''',
-         tril2symm,
-         tril2symm',
-         tril2symm'',
-         tril2symm''',
-         triu,
-         triu',
-         triu'',
-         triu''',
-         triu'''',
-         triu''''',
-         triu2symm,
-         triu2symm',
-         triu2symm'',
-         triu2symm''',
-         unite,
-         unite',
-         unite'',
-         unite''',
-         vec,
-         vec',
-         vec'',
-         vec''',
-         vec'''',
-         vecNZ,
-         vecNZ',
-         vecNZ'',
-         vecNZ''',
-         vecNZcat,
-         vecNZcat',
-         vecNZcat'',
-         vecNZcat''',
-         veccat,
-         veccat',
-         veccat'',
-         veccat''',
-         vertcat,
-         vertcat',
-         vertcat'',
-         vertcat''',
-         vertcat'''',
-         vertsplit,
-         vertsplit',
-         vertsplit'',
-         vertsplit''',
-         vertsplit'''',
-         vertsplit''''',
-         vertsplit'''''',
-         vertsplit''''''',
-         vertsplit'''''''',
-         vertsplit''''''''',
-         vertsplit'''''''''',
-         vertsplit''''''''''',
-         vertsplit'''''''''''',
-       ) where
-
-
-import Data.Vector ( Vector )
-import Foreign.C.Types
-import Foreign.Ptr ( Ptr )
-
-import Casadi.Wrappers.Data
-import Casadi.Wrappers.Enums
-import Casadi.Wrappers.CToolsInstances ( )
-import Casadi.MarshalTypes ( CppVec, StdString' )
-import Casadi.Marshal ( withMarshal )
-import Casadi.WrapReturn ( WrapReturn(..) )
-
-foreign import ccall unsafe "CasADi__getSchemeEntryName" c_CasADi__getSchemeEntryName
-  :: CInt -> CInt -> IO (Ptr StdString')
-getSchemeEntryName
-  :: InputOutputScheme -> Int -> IO String
-getSchemeEntryName x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__getSchemeEntryName x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getSchemeEntryDoc" c_CasADi__getSchemeEntryDoc
-  :: CInt -> CInt -> IO (Ptr StdString')
-getSchemeEntryDoc
-  :: InputOutputScheme -> Int -> IO String
-getSchemeEntryDoc x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__getSchemeEntryDoc x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getSchemeEntryEnumName" c_CasADi__getSchemeEntryEnumName
-  :: CInt -> CInt -> IO (Ptr StdString')
-getSchemeEntryEnumName
-  :: InputOutputScheme -> Int -> IO String
-getSchemeEntryEnumName x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__getSchemeEntryEnumName x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getSchemeEntryEnum" c_CasADi__getSchemeEntryEnum
-  :: CInt -> Ptr StdString' -> IO CInt
-getSchemeEntryEnum
-  :: InputOutputScheme -> String -> IO Int
-getSchemeEntryEnum x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__getSchemeEntryEnum x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getSchemeSize" c_CasADi__getSchemeSize
-  :: CInt -> IO CInt
-getSchemeSize
-  :: InputOutputScheme -> IO Int
-getSchemeSize x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__getSchemeSize x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getSchemeName" c_CasADi__getSchemeName
-  :: CInt -> IO (Ptr StdString')
-getSchemeName
-  :: InputOutputScheme -> IO String
-getSchemeName x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__getSchemeName x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getSchemeEntryNames" c_CasADi__getSchemeEntryNames
-  :: CInt -> IO (Ptr StdString')
-getSchemeEntryNames
-  :: InputOutputScheme -> IO String
-getSchemeEntryNames x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__getSchemeEntryNames x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__complement" c_CasADi__complement
-  :: Ptr (CppVec CInt) -> CInt -> IO (Ptr (CppVec CInt))
-{-|
->Returns the list of all i in [0,size[ not found in supplied list.
->
->The supplied vector may contain duplicates and may be non-monotonous The
->supplied vector will be checked for bounds The result vector is guaranteed
->to be monotonously increasing
--}
-complement
-  :: Vector Int -> Int -> IO (Vector Int)
-complement x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__complement x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__lookupvector" c_CasADi__lookupvector
-  :: Ptr (CppVec CInt) -> CInt -> IO (Ptr (CppVec CInt))
-{-|
->Returns a vector for quickly looking up entries of supplied list.
->
->lookupvector[i]!=-1 <=> v contains i v[lookupvector[i]] == i <=> v contains
->i
->
->Duplicates are treated by looking up last occurence
--}
-lookupvector
-  :: Vector Int -> Int -> IO (Vector Int)
-lookupvector x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__lookupvector x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isIncreasing" c_CasADi__isIncreasing
-  :: Ptr (CppVec CInt) -> IO CInt
-{-|
->Check if the vector is strictly increasing.
--}
-isIncreasing
-  :: Vector Int -> IO Bool
-isIncreasing x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isIncreasing x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isDecreasing" c_CasADi__isDecreasing
-  :: Ptr (CppVec CInt) -> IO CInt
-{-|
->Check if the vector is strictly decreasing.
--}
-isDecreasing
-  :: Vector Int -> IO Bool
-isDecreasing x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isDecreasing x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isNonIncreasing" c_CasADi__isNonIncreasing
-  :: Ptr (CppVec CInt) -> IO CInt
-{-|
->Check if the vector is non-increasing.
--}
-isNonIncreasing
-  :: Vector Int -> IO Bool
-isNonIncreasing x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isNonIncreasing x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isNonDecreasing" c_CasADi__isNonDecreasing
-  :: Ptr (CppVec CInt) -> IO CInt
-{-|
->Check if the vector is non-decreasing.
--}
-isNonDecreasing
-  :: Vector Int -> IO Bool
-isNonDecreasing x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isNonDecreasing x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isMonotone" c_CasADi__isMonotone
-  :: Ptr (CppVec CInt) -> IO CInt
-{-|
->Check if the vector is monotone.
--}
-isMonotone
-  :: Vector Int -> IO Bool
-isMonotone x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isMonotone x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isStrictlyMonotone" c_CasADi__isStrictlyMonotone
-  :: Ptr (CppVec CInt) -> IO CInt
-{-|
->Check if the vector is strictly monotone.
--}
-isStrictlyMonotone
-  :: Vector Int -> IO Bool
-isStrictlyMonotone x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isStrictlyMonotone x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isRegular" c_CasADi__isRegular
-  :: Ptr (CppVec CInt) -> IO CInt
-{-|
->>  bool CasADi::isRegular(const Matrix< DataType > &ex)
->
->>  bool CasADi::isRegular(const MX &ex)
->
->>  bool CasADi::isRegular(const SXElement &ex)
->
->>  bool CasADi::isRegular(const SX &ex)
->------------------------------------------------------------------------
->
->[DEPRECATED]
->
->>  bool CasADi::isRegular(const std::vector< T > &v)
->------------------------------------------------------------------------
->
->Checks if vector does not contain NaN or Inf.
--}
-isRegular
-  :: Vector Int -> IO Bool
-isRegular x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isRegular x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isIncreasing_TIC" c_CasADi__isIncreasing_TIC
-  :: Ptr (CppVec CDouble) -> IO CInt
-isIncreasing'
-  :: Vector Double -> IO Bool
-isIncreasing' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isIncreasing_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isDecreasing_TIC" c_CasADi__isDecreasing_TIC
-  :: Ptr (CppVec CDouble) -> IO CInt
-isDecreasing'
-  :: Vector Double -> IO Bool
-isDecreasing' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isDecreasing_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isNonIncreasing_TIC" c_CasADi__isNonIncreasing_TIC
-  :: Ptr (CppVec CDouble) -> IO CInt
-isNonIncreasing'
-  :: Vector Double -> IO Bool
-isNonIncreasing' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isNonIncreasing_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isNonDecreasing_TIC" c_CasADi__isNonDecreasing_TIC
-  :: Ptr (CppVec CDouble) -> IO CInt
-isNonDecreasing'
-  :: Vector Double -> IO Bool
-isNonDecreasing' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isNonDecreasing_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isMonotone_TIC" c_CasADi__isMonotone_TIC
-  :: Ptr (CppVec CDouble) -> IO CInt
-isMonotone'
-  :: Vector Double -> IO Bool
-isMonotone' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isMonotone_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isStrictlyMonotone_TIC" c_CasADi__isStrictlyMonotone_TIC
-  :: Ptr (CppVec CDouble) -> IO CInt
-isStrictlyMonotone'
-  :: Vector Double -> IO Bool
-isStrictlyMonotone' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isStrictlyMonotone_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isRegular_TIC" c_CasADi__isRegular_TIC
-  :: Ptr (CppVec CDouble) -> IO CInt
-isRegular'
-  :: Vector Double -> IO Bool
-isRegular' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__isRegular_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__hash_combine" c_CasADi__hash_combine
-  :: CSize -> Ptr (CppVec CInt) -> IO ()
-{-|
->[INTERNAL]  Generate a hash
->value incrementally (function taken from boost)
--}
-hash_combine
-  :: CSize -> Vector Int -> IO ()
-hash_combine x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__hash_combine x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__hash_sparsity" c_CasADi__hash_sparsity
-  :: CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO CSize
-{-|
->Hash a sparsity pattern.
--}
-hash_sparsity
-  :: Int -> Int -> Vector Int -> Vector Int -> IO CSize
-hash_sparsity x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__hash_sparsity x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__transpose" c_CasADi__transpose
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::transpose(const MX &x)
->------------------------------------------------------------------------
->
->Transpose an expression.
->
->>  Matrix< DataType > CasADi::transpose(const Matrix< DataType > &x)
->------------------------------------------------------------------------
->
->Transpose of a matrix.
->
->>  Sparsity CasADi::transpose(const Sparsity &a)
->------------------------------------------------------------------------
->
->Transpose the pattern.
--}
-transpose
-  :: IMatrix -> IO IMatrix
-transpose x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__transpose x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul" c_CasADi__mul
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::mul(const MX &x, const MX &y, const Sparsity &sp_z=Sparsity())
->------------------------------------------------------------------------
->
->Take the matrix product of 2 MX objects.
->
->With optional sp_z you can specify the sparsity of the result A typical use
->case might be where the product is only constructed to inspect the trace of
->it. sp_z diagonal will be more efficient then.
->
->>  MX CasADi::mul(const std::vector< MX > &x)
->------------------------------------------------------------------------
->
->Take the matrix product of n MX objects.
->
->>  Matrix< DataType > CasADi::mul(const Matrix< DataType > &x, const Matrix< DataType > &y, const Sparsity &sp_z=Sparsity())
->------------------------------------------------------------------------
->
->Matrix product of two matrices.
->
->With optional sp_z you can specify the sparsity of the result A typical use
->case might be where the product is only constructed to inspect the trace of
->it. sp_z diagonal will be more efficient then.
->
->>  Matrix< DataType > CasADi::mul(const std::vector< Matrix< DataType > > &args)
->------------------------------------------------------------------------
->
->Matrix product of n matrices.
->
->>  Sparsity CasADi::mul(const Sparsity &a, const Sparsity &b)
->------------------------------------------------------------------------
->
->Get the sparsity resulting from a matrix multiplication.
--}
-mul
-  :: IMatrix -> IMatrix -> Sparsity -> IO IMatrix
-mul x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__mul x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC" c_CasADi__mul_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-mul'
-  :: IMatrix -> IMatrix -> IO IMatrix
-mul' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__mul_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC_TIC" c_CasADi__mul_TIC_TIC
-  :: Ptr (CppVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-mul''
-  :: Vector IMatrix -> IO IMatrix
-mul'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__mul_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__det" c_CasADi__det
-  :: Ptr IMatrix' -> IO CInt
-{-|
->>  MX CasADi::det(const MX &A)
->------------------------------------------------------------------------
->
->Matrix determinant (experimental)
--}
-det
-  :: IMatrix -> IO Int
-det x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__det x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getMinor" c_CasADi__getMinor
-  :: Ptr IMatrix' -> CInt -> CInt -> IO CInt
-getMinor
-  :: IMatrix -> Int -> Int -> IO Int
-getMinor x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__getMinor x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__cofactor" c_CasADi__cofactor
-  :: Ptr IMatrix' -> CInt -> CInt -> IO CInt
-cofactor
-  :: IMatrix -> Int -> Int -> IO Int
-cofactor x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__cofactor x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__adj" c_CasADi__adj
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-adj
-  :: IMatrix -> IO IMatrix
-adj x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__adj x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__inv" c_CasADi__inv
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::inv(const MX &A)
->------------------------------------------------------------------------
->
->Matrix inverse (experimental)
--}
-inv
-  :: IMatrix -> IO IMatrix
-inv x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__inv x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__reshape" c_CasADi__reshape
-  :: Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::reshape(const MX &x, std::pair< int, int > rc)
->------------------------------------------------------------------------
->
->Returns a reshaped version of the MX, dimensions as a vector.
->
->>  MX CasADi::reshape(const MX &x, int nrow, int ncol)
->------------------------------------------------------------------------
->
->Returns a reshaped version of the MX.
->
->>  MX CasADi::reshape(const MX &x, const Sparsity &sp)
->------------------------------------------------------------------------
->
->Reshape the MX.
->
->>  Sparsity CasADi::reshape(const Sparsity &a, int nrow, int ncol)
->------------------------------------------------------------------------
->
->Reshape the sparsity pattern keeping the relative location of the nonzeros.
--}
-reshape
-  :: IMatrix -> Int -> Int -> IO IMatrix
-reshape x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__reshape x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__reshape_TIC" c_CasADi__reshape_TIC
-  :: Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-reshape'
-  :: IMatrix -> Sparsity -> IO IMatrix
-reshape' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__reshape_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vec" c_CasADi__vec
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::vec(const MX &x)
->------------------------------------------------------------------------
->
->Returns a vectorized version of the MX Same as reshape(x, x.numel(),1)
->
->a c b d
->
->turns into
->
->a b c d
->
->>  Matrix< DataType > CasADi::vec(const Matrix< DataType > &a)
->------------------------------------------------------------------------
->
->make a vector Reshapes/vectorizes the Matrix<DataType> such that the shape
->becomes (expr.numel(),1). Columns are stacked on top of each other. Same as
->reshape(expr, expr.numel(),1)
->
->a c b d  turns into
->
->a b c d
->
->>  Sparsity CasADi::vec(const Sparsity &a)
->------------------------------------------------------------------------
->
->Vectorize the pattern.
--}
-vec
-  :: IMatrix -> IO IMatrix
-vec x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vec x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vecNZ" c_CasADi__vecNZ
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::vecNZ(const MX &x)
->------------------------------------------------------------------------
->
->Returns a vectorized version of the MX, prseverving only nonzeros.
->
->>  Matrix< DataType > CasADi::vecNZ(const Matrix< DataType > &a)
->------------------------------------------------------------------------
->
->Returns a flattened version of the Matrix, preserving only nonzeros.
--}
-vecNZ
-  :: IMatrix -> IO IMatrix
-vecNZ x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZ x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blockcat" c_CasADi__blockcat
-  :: Ptr (CppVec (Ptr (CppVec (Ptr IMatrix')))) -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::blockcat(const std::vector< std::vector< MX > > &v)
->------------------------------------------------------------------------
->
->Construct a matrix from a list of list of blocks.
->
->blockcat(blocksplit(x,...,...)) = x
->
->>  MX CasADi::blockcat(const MX &A, const MX &B, const MX &C, const MX &D)
->
->>  Matrix< DataType > CasADi::blockcat(const std::vector< std::vector< Matrix< DataType > > > &v)
->------------------------------------------------------------------------
->
->Construct a matrix from a list of list of blocks.
->
->>  Matrix< DataType > CasADi::blockcat(const Matrix< DataType > &A, const Matrix< DataType > &B, const Matrix< DataType > &C, const Matrix< DataType > &D)
->------------------------------------------------------------------------
->[INTERNAL] 
->Construct a matrix from 4 blocks.
--}
-blockcat
-  :: Vector (Vector IMatrix) -> IO IMatrix
-blockcat x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blockcat x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit" c_CasADi__blocksplit
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr (CppVec (Ptr IMatrix')))))
-{-|
->>  std::vector< std::vector< MX > > CasADi::blocksplit(const MX &x, const std::vector< int > &vert_offset, const std::vector< int > &horz_offset)
->------------------------------------------------------------------------
->
->chop up into blocks
->
->vert_offset Defines the boundaries of the block cols horz_offset Defines the
->boundaries of the block rows
->
->blockcat(blocksplit(x,...,...)) = x
->
->>  std::vector< std::vector< MX > > CasADi::blocksplit(const MX &x, int vert_incr=1, int horz_incr=1)
->------------------------------------------------------------------------
->
->chop up into blocks
->
->vert_incr Defines the increment for block boundaries in col dimension
->horz_incr Defines the increment for block boundaries in row dimension
->
->blockcat(blocksplit(x,...,...)) = x
->
->>  std::vector< std::vector< Matrix< DataType > > > CasADi::blocksplit(const Matrix< DataType > &x, const std::vector< int > &vert_offset, const std::vector< int > &horz_offset)
->------------------------------------------------------------------------
->
->chop up into blocks
->
->vert_offset Defines the boundaries of the block rows horz_offset Defines the
->boundaries of the block columns
->
->blockcat(blocksplit(x,...,...)) = x
->
->>  std::vector< std::vector< Matrix< DataType > > > CasADi::blocksplit(const Matrix< DataType > &x, int vert_incr=1, int horz_incr=1)
->------------------------------------------------------------------------
->
->chop up into blocks
->
->vert_incr Defines the increment for block boundaries in row dimension
->horz_incr Defines the increment for block boundaries in column dimension
->
->blockcat(blocksplit(x,...,...)) = x
--}
-blocksplit
-  :: IMatrix -> Vector Int -> Vector Int -> IO (Vector (Vector IMatrix))
-blocksplit x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__blocksplit x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC" c_CasADi__blocksplit_TIC
-  :: Ptr IMatrix' -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr IMatrix')))))
-blocksplit'
-  :: IMatrix -> Int -> Int -> IO (Vector (Vector IMatrix))
-blocksplit' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__blocksplit_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC" c_CasADi__blocksplit_TIC_TIC
-  :: Ptr IMatrix' -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr IMatrix')))))
-blocksplit''
-  :: IMatrix -> Int -> IO (Vector (Vector IMatrix))
-blocksplit'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__blocksplit_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC
-  :: Ptr IMatrix' -> IO (Ptr (CppVec (Ptr (CppVec (Ptr IMatrix')))))
-blocksplit'''
-  :: IMatrix -> IO (Vector (Vector IMatrix))
-blocksplit''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertcat" c_CasADi__vertcat
-  :: Ptr (CppVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::vertcat(const MX &a, const MX &b)
->------------------------------------------------------------------------
->
->concatenate horizontally, two matrices
->
->>  MX CasADi::vertcat(const std::vector< MX > &comp)
->------------------------------------------------------------------------
->
->concatenate horizontally
->
->vertcat(vertsplit(x,...)) = x
->
->>  Matrix< DataType > CasADi::vertcat(const std::vector< Matrix< DataType > > &v)
->------------------------------------------------------------------------
->
->Concatenate a list of matrices horizontally Alternative terminology:
->horizontal stack, hstack, horizontal append, [a b].
->
->vertcat(vertsplit(x,...)) = x
->
->>  Matrix< DataType > CasADi::vertcat(const Matrix< DataType > &x, const Matrix< DataType > &y)
->------------------------------------------------------------------------
->[INTERNAL]
->
->>  Sparsity CasADi::vertcat(const std::vector< Sparsity > &v)
->------------------------------------------------------------------------
->
->Concatenate a list of sparsities vertically Alternative terminology:
->vertical stack, vstack, vertical append, [a;b].
--}
-vertcat
-  :: Vector IMatrix -> IO IMatrix
-vertcat x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vertcat x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit" c_CasADi__vertsplit
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr IMatrix')))
-{-|
->>  std::vector< MX > CasADi::vertsplit(const MX &x, const std::vector< int > &output_offset)
->
->>  std::vector< Matrix< DataType > > CasADi::vertsplit(const Matrix< DataType > &v, const std::vector< int > &offset)
->------------------------------------------------------------------------
->
->split horizontally, retaining groups of rows
->
->Parameters:
->-----------
->
->output_offset:  List of all start rows for each group the last row group
->will run to the end.
->
->vertcat(vertsplit(x,...)) = x
->
->>  std::vector< MX > CasADi::vertsplit(const MX &x, int incr=1)
->
->>  std::vector< Matrix< DataType > > CasADi::vertsplit(const Matrix< DataType > &v, int incr=1)
->------------------------------------------------------------------------
->
->split horizontally, retaining fixed-sized groups of rows
->
->Parameters:
->-----------
->
->incr:  Size of each group of rows
->
->vertcat(vertsplit(x,...)) = x
->
->>  std::vector< Sparsity > CasADi::vertsplit(const Sparsity &sp, const std::vector< int > &output_offset)
->------------------------------------------------------------------------
->
->Split up a sparsity pattern vertically.
--}
-vertsplit
-  :: IMatrix -> Vector Int -> IO (Vector IMatrix)
-vertsplit x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC" c_CasADi__vertsplit_TIC
-  :: Ptr IMatrix' -> CInt -> IO (Ptr (CppVec (Ptr IMatrix')))
-vertsplit'
-  :: IMatrix -> Int -> IO (Vector IMatrix)
-vertsplit' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC_TIC" c_CasADi__vertsplit_TIC_TIC
-  :: Ptr IMatrix' -> IO (Ptr (CppVec (Ptr IMatrix')))
-vertsplit''
-  :: IMatrix -> IO (Vector IMatrix)
-vertsplit'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vertsplit_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzcat" c_CasADi__horzcat
-  :: Ptr (CppVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::horzcat(const MX &a, const MX &b)
->------------------------------------------------------------------------
->
->concatenate vertically, two matrices
->
->>  MX CasADi::horzcat(const std::vector< MX > &x)
->------------------------------------------------------------------------
->
->concatenate vertically
->
->horzcat(horzsplit(x,...)) = x
->
->>  Matrix< DataType > CasADi::horzcat(const std::vector< Matrix< DataType > > &v)
->------------------------------------------------------------------------
->
->Concatenate a list of matrices vertically Alternative terminology: vertical
->stack, vstack, vertical append, [a;b].
->
->horzcat(horzsplit(x,...)) = x
->
->>  Matrix< DataType > CasADi::horzcat(const Matrix< DataType > &x, const Matrix< DataType > &y)
->------------------------------------------------------------------------
->[INTERNAL]
->
->>  Sparsity CasADi::horzcat(const std::vector< Sparsity > &v)
->------------------------------------------------------------------------
->
->Concatenate a list of sparsities horizontally Alternative terminology:
->horizontal stack, hstack, horizontal append, [a b].
--}
-horzcat
-  :: Vector IMatrix -> IO IMatrix
-horzcat x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__horzcat x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit" c_CasADi__horzsplit
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr IMatrix')))
-{-|
->>  std::vector< MX > CasADi::horzsplit(const MX &x, const std::vector< int > &output_offset)
->------------------------------------------------------------------------
->
->split vertically, retaining groups of cols
->
->Parameters:
->-----------
->
->output_offset:  List of all start cols for each group the last col group
->will run to the end.
->
->horzcat(horzsplit(x,...)) = x
->
->>  std::vector< MX > CasADi::horzsplit(const MX &x, int incr=1)
->
->>  std::vector< Matrix< DataType > > CasADi::horzsplit(const Matrix< DataType > &v, int incr=1)
->------------------------------------------------------------------------
->
->split vertically, retaining fixed-sized groups of cols
->
->Parameters:
->-----------
->
->incr:  Size of each group of cols
->
->horzcat(horzsplit(x,...)) = x
->
->>  std::vector< Matrix< DataType > > CasADi::horzsplit(const Matrix< DataType > &v, const std::vector< int > &offset)
->------------------------------------------------------------------------
->
->split vertically, retaining groups of cols
->
->Parameters:
->-----------
->
->offset:  List of all start cols for each group the last col group will run
->to the end.
->
->horzcat(horzsplit(x,...)) = x
->
->>  std::vector< Sparsity > CasADi::horzsplit(const Sparsity &sp, const std::vector< int > &output_offset)
->------------------------------------------------------------------------
->
->Split up a sparsity pattern horizontally.
--}
-horzsplit
-  :: IMatrix -> Vector Int -> IO (Vector IMatrix)
-horzsplit x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC" c_CasADi__horzsplit_TIC
-  :: Ptr IMatrix' -> CInt -> IO (Ptr (CppVec (Ptr IMatrix')))
-horzsplit'
-  :: IMatrix -> Int -> IO (Vector IMatrix)
-horzsplit' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC_TIC" c_CasADi__horzsplit_TIC_TIC
-  :: Ptr IMatrix' -> IO (Ptr (CppVec (Ptr IMatrix')))
-horzsplit''
-  :: IMatrix -> IO (Vector IMatrix)
-horzsplit'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__horzsplit_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__inner_prod" c_CasADi__inner_prod
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::inner_prod(const MX &x, const MX &y)
->------------------------------------------------------------------------
->
->Take the inner product of two vectors Equals.
->
->with x and y vectors
->
->>  Matrix< DataType > CasADi::inner_prod(const Matrix< DataType > &x, const Matrix< DataType > &y)
->------------------------------------------------------------------------
->
->Inner product of two matrices Equals.
->
->with x and y matrices of the same dimension
->
->>  T CasADi::inner_prod(const std::vector< T > &a, const std::vector< T > &b)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-inner_prod
-  :: IMatrix -> IMatrix -> IO IMatrix
-inner_prod x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__inner_prod x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__outer_prod" c_CasADi__outer_prod
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::outer_prod(const MX &x, const MX &y)
->------------------------------------------------------------------------
->
->Take the outer product of two vectors Equals.
->
->with x and y vectors
->
->>  Matrix< DataType > CasADi::outer_prod(const Matrix< DataType > &x, const Matrix< DataType > &y)
->------------------------------------------------------------------------
->
->Outer product of two vectors Equals.
->
->with x and y vectors
--}
-outer_prod
-  :: IMatrix -> IMatrix -> IO IMatrix
-outer_prod x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__outer_prod x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_1" c_CasADi__norm_1
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::norm_1(const MX &x)
->
->>  Matrix< DataType > CasADi::norm_1(const Matrix< DataType > &x)
->------------------------------------------------------------------------
->
->1-norm
->
->>  T CasADi::norm_1(const std::vector< T > &x)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-norm_1
-  :: IMatrix -> IO IMatrix
-norm_1 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_1 x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_2" c_CasADi__norm_2
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::norm_2(const MX &x)
->
->>  Matrix< DataType > CasADi::norm_2(const Matrix< DataType > &x)
->------------------------------------------------------------------------
->
->2-norm
->
->>  T CasADi::norm_2(const std::vector< T > &x)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-norm_2
-  :: IMatrix -> IO IMatrix
-norm_2 x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_2 x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_inf" c_CasADi__norm_inf
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::norm_inf(const MX &x)
->
->>  Matrix< DataType > CasADi::norm_inf(const Matrix< DataType > &x)
->------------------------------------------------------------------------
->
->Infinity-norm.
->
->>  T CasADi::norm_inf(const std::vector< T > &x)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-norm_inf
-  :: IMatrix -> IO IMatrix
-norm_inf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_inf x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_F" c_CasADi__norm_F
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Frobenius norm.
--}
-norm_F
-  :: IMatrix -> IO IMatrix
-norm_F x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_F x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__qr" c_CasADi__qr
-  :: Ptr IMatrix' -> Ptr IMatrix' -> Ptr IMatrix' -> IO ()
-{-|
->[INTERNAL]  QR factorization using the
->modified Gram-Schmidt algorithm More stable than the classical Gram-Schmidt,
->but may break down if the rows of A are nearly linearly dependent See J.
->Demmel: Applied Numerical Linear Algebra (algorithm 3.1.). Note that in
->SWIG, Q and R are returned by value.
--}
-qr
-  :: IMatrix -> IMatrix -> IMatrix -> IO ()
-qr x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__qr x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__nullspace" c_CasADi__nullspace
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Computes the nullspace of a matrix A.
->
->Finds Z m-by-(m-n) such that AZ = 0 with A n-by-m with m > n
->
->Assumes A is full rank
->
->Inspired by Numerical Methods in Scientific Computing by Ake Bjorck
--}
-nullspace
-  :: IMatrix -> IO IMatrix
-nullspace x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__nullspace x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__solve" c_CasADi__solve
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  Matrix< double > CasADi::solve(const Matrix< double > &A, const Matrix< double > &b, linearSolverCreator lsolver, const Dictionary &dict=Dictionary())
->
->>  MX CasADi::solve(const MX &A, const MX &b, linearSolverCreator lsolver=SymbolicQR::creator, const Dictionary &dict=Dictionary())
->------------------------------------------------------------------------
->
->Solve a system of equations: A*x = b.
->
->>  Matrix< DataType > CasADi::solve(const Matrix< DataType > &A, const Matrix< DataType > &b)
->------------------------------------------------------------------------
->
->Solve a system of equations: A*x = b The solve routine works similar to
->Matlab's backslash when A is square and nonsingular. The algorithm used is
->the following:
->
->A simple forward or backward substitution if A is upper or lower triangular
->
->If the linear system is at most 3-by-3, form the inverse via minor expansion
->and multiply
->
->Permute the variables and equations as to get a (structurally) nonzero
->diagonal, then perform a QR factorization without pivoting and solve the
->factorized system.
->
->Note 1: If there are entries of the linear system known to be zero, these
->will be removed. Elements that are very small, or will evaluate to be zero,
->can still cause numerical errors, due to the lack of pivoting (which is not
->possible since cannot compare the size of entries)
->
->Note 2: When permuting the linear system, a BLT (block lower triangular)
->transformation is formed. Only the permutation part of this is however used.
->An improvement would be to solve block-by-block if there are multiple BLT
->blocks.
--}
-solve
-  :: IMatrix -> IMatrix -> IO IMatrix
-solve x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__solve x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__pinv" c_CasADi__pinv
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  Matrix< double > CasADi::pinv(const Matrix< double > &A, linearSolverCreator lsolver, const Dictionary &dict=Dictionary())
->
->>  MX CasADi::pinv(const MX &A, linearSolverCreator lsolver, const Dictionary &dict=Dictionary())
->------------------------------------------------------------------------
->
->Computes the Moore-Penrose pseudo-inverse.
->
->If the matrix A is fat (size1>size2), mul(A,pinv(A)) is unity. If the matrix
->A is slender (size2<size1), mul(pinv(A),A) is unity.
->
->>  Matrix< DataType > CasADi::pinv(const Matrix< DataType > &A)
->------------------------------------------------------------------------
->
->Computes the Moore-Penrose pseudo-inverse.
->
->If the matrix A is fat (size2>size1), mul(A,pinv(A)) is unity. If the matrix
->A is slender (size1<size2), mul(pinv(A),A) is unity.
--}
-pinv
-  :: IMatrix -> IO IMatrix
-pinv x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__pinv x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__repmat" c_CasADi__repmat
-  :: Ptr IMatrix' -> CInt -> CInt -> IO (Ptr IMatrix')
-{-|
->Repeat matrix A n times vertically and m times horizontally.
--}
-repmat
-  :: IMatrix -> Int -> Int -> IO IMatrix
-repmat x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__repmat x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__unite" c_CasADi__unite
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Unite two matrices no overlapping sparsity.
--}
-unite
-  :: IMatrix -> IMatrix -> IO IMatrix
-unite x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__unite x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumRows" c_CasADi__sumRows
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Return a row-wise summation of elements.
--}
-sumRows
-  :: IMatrix -> IO IMatrix
-sumRows x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumRows x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumCols" c_CasADi__sumCols
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Return a col-wise summation of elements.
--}
-sumCols
-  :: IMatrix -> IO IMatrix
-sumCols x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumCols x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumAll" c_CasADi__sumAll
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Return summation of all elements.
--}
-sumAll
-  :: IMatrix -> IO IMatrix
-sumAll x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumAll x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__trace" c_CasADi__trace
-  :: Ptr IMatrix' -> IO CInt
-{-|
->>  MX CasADi::trace(const MX &A)
->------------------------------------------------------------------------
->
->Matrix trace.
--}
-trace
-  :: IMatrix -> IO Int
-trace x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__trace x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__diag" c_CasADi__diag
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::diag(const MX &x)
->------------------------------------------------------------------------
->
->Get the diagonal of a matrix or construct a diagonal.
->
->When the input is square, the diagonal elements are returned. If the input
->is vector-like, a diagonal matrix is constructed with it.
->
->>  Matrix< DataType > CasADi::diag(const Matrix< DataType > &A)
->------------------------------------------------------------------------
->
->Get the diagonal of a matrix or construct a diagonal When the input is
->square, the diagonal elements are returned. If the input is vector- like, a
->diagonal matrix is constructed with it.
--}
-diag
-  :: IMatrix -> IO IMatrix
-diag x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__diag x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blkdiag" c_CasADi__blkdiag
-  :: Ptr (CppVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::blkdiag(const std::vector< MX > &A)
->
->>  MX CasADi::blkdiag(const MX &A, const MX &B)
->------------------------------------------------------------------------
->
->Construct a matrix with given blocks on the diagonal.
->
->>  Matrix< DataType > CasADi::blkdiag(const std::vector< Matrix< DataType > > &A)
->------------------------------------------------------------------------
->
->Construct a matrix with given block on the diagonal.
->
->>  Sparsity CasADi::blkdiag(const std::vector< Sparsity > &v)
->------------------------------------------------------------------------
->
->Construct a Sparsity with given blocks on the diagonal.
--}
-blkdiag
-  :: Vector IMatrix -> IO IMatrix
-blkdiag x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blkdiag x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__polyval" c_CasADi__polyval
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Evaluate a polynomial with coefficeints p in x.
--}
-polyval
-  :: IMatrix -> IMatrix -> IO IMatrix
-polyval x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__polyval x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__addMultiple" c_CasADi__addMultiple
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> CInt -> IO ()
-{-|
->same as: res += mul(A,v)
--}
-addMultiple
-  :: IMatrix -> Vector Int -> Vector Int -> Bool -> IO ()
-addMultiple x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__addMultiple x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__addMultiple_TIC" c_CasADi__addMultiple_TIC
-  :: Ptr IMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO ()
-addMultiple'
-  :: IMatrix -> Vector Int -> Vector Int -> IO ()
-addMultiple' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__addMultiple_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__veccat" c_CasADi__veccat
-  :: Ptr (CppVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::veccat(const std::vector< MX > &comp)
->------------------------------------------------------------------------
->
->Concatenate vertically while vectorizing all arguments.
->
->>  Matrix< DataType > CasADi::veccat(const std::vector< Matrix< DataType > > &comp)
->------------------------------------------------------------------------
->
->concatenate vertically while vectorizing all arguments with vec
--}
-veccat
-  :: Vector IMatrix -> IO IMatrix
-veccat x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__veccat x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vecNZcat" c_CasADi__vecNZcat
-  :: Ptr (CppVec (Ptr IMatrix')) -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::vecNZcat(const std::vector< MX > &comp)
->------------------------------------------------------------------------
->
->concatenate vertically while vecing all arguments with vecNZ
->
->>  Matrix< DataType > CasADi::vecNZcat(const std::vector< Matrix< DataType > > &comp)
->------------------------------------------------------------------------
->
->concatenate vertically while vectorizing all arguments with vecNZ
--}
-vecNZcat
-  :: Vector IMatrix -> IO IMatrix
-vecNZcat x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZcat x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__project" c_CasADi__project
-  :: Ptr IMatrix' -> Ptr Sparsity' -> IO (Ptr IMatrix')
-{-|
->Create a new matrix with a given sparsity pattern but with the nonzeros
->taken from an existing matrix.
--}
-project
-  :: IMatrix -> Sparsity -> IO IMatrix
-project x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__project x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sprank" c_CasADi__sprank
-  :: Ptr IMatrix' -> IO CInt
-{-|
->Obtain the structural rank of a sparsity-pattern.
--}
-sprank
-  :: IMatrix -> IO Int
-sprank x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sprank x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__kron" c_CasADi__kron
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->Kronecker tensor product.
->
->Creates a block matrix in which each element (i,j) is a_ij*b
--}
-kron
-  :: IMatrix -> IMatrix -> IO IMatrix
-kron x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__kron x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sparse" c_CasADi__sparse
-  :: Ptr IMatrix' -> CDouble -> IO (Ptr IMatrix')
-{-|
->Make a matrix sparse by removing numerical zeros.
--}
-sparse
-  :: IMatrix -> Double -> IO IMatrix
-sparse x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__sparse x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sparse_TIC" c_CasADi__sparse_TIC
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-sparse'
-  :: IMatrix -> IO IMatrix
-sparse' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sparse_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__dense" c_CasADi__dense
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MX CasADi::dense(const MX &x)
->------------------------------------------------------------------------
->
->create a clipped view into a matrix Create a sparse matrix from a dense
->matrix A, with sparsity pattern sp
->
->MX clip(const MX& A, const Sparsity& sp) { Join the sparsity patterns
->std::vector<int> mapping; Sparsity sp =
->A.sparsity().patternIntersection(sp,mapping);
->
->Split up the mapping std::vector<int> nzA,nzB;
->
->Copy sparsity for(int k=0; k<mapping.size(); ++k){ if(mapping[k]<0){
->nzA.push_back(k); } else if(mapping[k]>0){ nzB.push_back(k); } else { throw
->CasadiException("Pattern intersection not empty"); } }
->
->Create mapping MX ret; ret.assignNode(new Mapping(sp));
->ret->assign(A,range(nzA.size()),nzA); ret->assign(B,range(nzB.size()),nzB);
->return ret;
->
->}
->
->Make the matrix dense if not already
->
->>  Matrix< DataType > CasADi::dense(const Matrix< DataType > &A)
->------------------------------------------------------------------------
->
->Make a matrix dense.
--}
-dense
-  :: IMatrix -> IO IMatrix
-dense x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__dense x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__transpose_TIC" c_CasADi__transpose_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-transpose'
-  :: DMatrix -> IO DMatrix
-transpose' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__transpose_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC_TIC_TIC" c_CasADi__mul_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-mul'''
-  :: DMatrix -> DMatrix -> Sparsity -> IO DMatrix
-mul''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__mul_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC_TIC_TIC_TIC" c_CasADi__mul_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-mul''''
-  :: DMatrix -> DMatrix -> IO DMatrix
-mul'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC_TIC_TIC_TIC_TIC" c_CasADi__mul_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-mul'''''
-  :: Vector DMatrix -> IO DMatrix
-mul''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__det_TIC" c_CasADi__det_TIC
-  :: Ptr DMatrix' -> IO CDouble
-det'
-  :: DMatrix -> IO Double
-det' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__det_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getMinor_TIC" c_CasADi__getMinor_TIC
-  :: Ptr DMatrix' -> CInt -> CInt -> IO CDouble
-getMinor'
-  :: DMatrix -> Int -> Int -> IO Double
-getMinor' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__getMinor_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__cofactor_TIC" c_CasADi__cofactor_TIC
-  :: Ptr DMatrix' -> CInt -> CInt -> IO CDouble
-cofactor'
-  :: DMatrix -> Int -> Int -> IO Double
-cofactor' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__cofactor_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__adj_TIC" c_CasADi__adj_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-adj'
-  :: DMatrix -> IO DMatrix
-adj' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__adj_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__inv_TIC" c_CasADi__inv_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-inv'
-  :: DMatrix -> IO DMatrix
-inv' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__inv_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__reshape_TIC_TIC" c_CasADi__reshape_TIC_TIC
-  :: Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
-reshape''
-  :: DMatrix -> Int -> Int -> IO DMatrix
-reshape'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__reshape_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__reshape_TIC_TIC_TIC" c_CasADi__reshape_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-reshape'''
-  :: DMatrix -> Sparsity -> IO DMatrix
-reshape''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__reshape_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vec_TIC" c_CasADi__vec_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-vec'
-  :: DMatrix -> IO DMatrix
-vec' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vec_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vecNZ_TIC" c_CasADi__vecNZ_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-vecNZ'
-  :: DMatrix -> IO DMatrix
-vecNZ' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZ_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blockcat_TIC" c_CasADi__blockcat_TIC
-  :: Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))) -> IO (Ptr DMatrix')
-blockcat'
-  :: Vector (Vector DMatrix) -> IO DMatrix
-blockcat' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blockcat_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))))
-blocksplit''''
-  :: DMatrix -> Vector Int -> Vector Int -> IO (Vector (Vector DMatrix))
-blocksplit'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))))
-blocksplit'''''
-  :: DMatrix -> Int -> Int -> IO (Vector (Vector DMatrix))
-blocksplit''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))))
-blocksplit''''''
-  :: DMatrix -> Int -> IO (Vector (Vector DMatrix))
-blocksplit'''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> IO (Ptr (CppVec (Ptr (CppVec (Ptr DMatrix')))))
-blocksplit'''''''
-  :: DMatrix -> IO (Vector (Vector DMatrix))
-blocksplit''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertcat_TIC" c_CasADi__vertcat_TIC
-  :: Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-vertcat'
-  :: Vector DMatrix -> IO DMatrix
-vertcat' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vertcat_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC_TIC_TIC" c_CasADi__vertsplit_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr DMatrix')))
-vertsplit'''
-  :: DMatrix -> Vector Int -> IO (Vector DMatrix)
-vertsplit''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC_TIC_TIC_TIC" c_CasADi__vertsplit_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> CInt -> IO (Ptr (CppVec (Ptr DMatrix')))
-vertsplit''''
-  :: DMatrix -> Int -> IO (Vector DMatrix)
-vertsplit'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC" c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> IO (Ptr (CppVec (Ptr DMatrix')))
-vertsplit'''''
-  :: DMatrix -> IO (Vector DMatrix)
-vertsplit''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzcat_TIC" c_CasADi__horzcat_TIC
-  :: Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-horzcat'
-  :: Vector DMatrix -> IO DMatrix
-horzcat' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__horzcat_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC_TIC_TIC" c_CasADi__horzsplit_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr DMatrix')))
-horzsplit'''
-  :: DMatrix -> Vector Int -> IO (Vector DMatrix)
-horzsplit''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC_TIC_TIC_TIC" c_CasADi__horzsplit_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> CInt -> IO (Ptr (CppVec (Ptr DMatrix')))
-horzsplit''''
-  :: DMatrix -> Int -> IO (Vector DMatrix)
-horzsplit'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC" c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC
-  :: Ptr DMatrix' -> IO (Ptr (CppVec (Ptr DMatrix')))
-horzsplit'''''
-  :: DMatrix -> IO (Vector DMatrix)
-horzsplit''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__inner_prod_TIC" c_CasADi__inner_prod_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-inner_prod'
-  :: DMatrix -> DMatrix -> IO DMatrix
-inner_prod' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__inner_prod_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__outer_prod_TIC" c_CasADi__outer_prod_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-outer_prod'
-  :: DMatrix -> DMatrix -> IO DMatrix
-outer_prod' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__outer_prod_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_1_TIC" c_CasADi__norm_1_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-norm_1'
-  :: DMatrix -> IO DMatrix
-norm_1' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_1_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_2_TIC" c_CasADi__norm_2_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-norm_2'
-  :: DMatrix -> IO DMatrix
-norm_2' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_2_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_inf_TIC" c_CasADi__norm_inf_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-norm_inf'
-  :: DMatrix -> IO DMatrix
-norm_inf' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_inf_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_F_TIC" c_CasADi__norm_F_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-norm_F'
-  :: DMatrix -> IO DMatrix
-norm_F' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_F_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__qr_TIC" c_CasADi__qr_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr DMatrix' -> IO ()
-qr'
-  :: DMatrix -> DMatrix -> DMatrix -> IO ()
-qr' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__qr_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__nullspace_TIC" c_CasADi__nullspace_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-nullspace'
-  :: DMatrix -> IO DMatrix
-nullspace' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__nullspace_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__solve_TIC" c_CasADi__solve_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-solve'
-  :: DMatrix -> DMatrix -> IO DMatrix
-solve' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__solve_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__pinv_TIC" c_CasADi__pinv_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-pinv'
-  :: DMatrix -> IO DMatrix
-pinv' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__pinv_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__repmat_TIC" c_CasADi__repmat_TIC
-  :: Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
-repmat'
-  :: DMatrix -> Int -> Int -> IO DMatrix
-repmat' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__repmat_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__unite_TIC" c_CasADi__unite_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-unite'
-  :: DMatrix -> DMatrix -> IO DMatrix
-unite' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__unite_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumRows_TIC" c_CasADi__sumRows_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-sumRows'
-  :: DMatrix -> IO DMatrix
-sumRows' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumRows_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumCols_TIC" c_CasADi__sumCols_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-sumCols'
-  :: DMatrix -> IO DMatrix
-sumCols' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumCols_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumAll_TIC" c_CasADi__sumAll_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-sumAll'
-  :: DMatrix -> IO DMatrix
-sumAll' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumAll_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__trace_TIC" c_CasADi__trace_TIC
-  :: Ptr DMatrix' -> IO CDouble
-trace'
-  :: DMatrix -> IO Double
-trace' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__trace_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__diag_TIC" c_CasADi__diag_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-diag'
-  :: DMatrix -> IO DMatrix
-diag' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__diag_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blkdiag_TIC" c_CasADi__blkdiag_TIC
-  :: Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-blkdiag'
-  :: Vector DMatrix -> IO DMatrix
-blkdiag' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blkdiag_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__polyval_TIC" c_CasADi__polyval_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-polyval'
-  :: DMatrix -> DMatrix -> IO DMatrix
-polyval' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__polyval_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__addMultiple_TIC_TIC" c_CasADi__addMultiple_TIC_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CDouble) -> Ptr (CppVec CDouble) -> CInt -> IO ()
-addMultiple''
-  :: DMatrix -> Vector Double -> Vector Double -> Bool -> IO ()
-addMultiple'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__addMultiple_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__addMultiple_TIC_TIC_TIC" c_CasADi__addMultiple_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr (CppVec CDouble) -> Ptr (CppVec CDouble) -> IO ()
-addMultiple'''
-  :: DMatrix -> Vector Double -> Vector Double -> IO ()
-addMultiple''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__addMultiple_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__veccat_TIC" c_CasADi__veccat_TIC
-  :: Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-veccat'
-  :: Vector DMatrix -> IO DMatrix
-veccat' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__veccat_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vecNZcat_TIC" c_CasADi__vecNZcat_TIC
-  :: Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
-vecNZcat'
-  :: Vector DMatrix -> IO DMatrix
-vecNZcat' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZcat_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__project_TIC" c_CasADi__project_TIC
-  :: Ptr DMatrix' -> Ptr Sparsity' -> IO (Ptr DMatrix')
-project'
-  :: DMatrix -> Sparsity -> IO DMatrix
-project' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__project_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sprank_TIC" c_CasADi__sprank_TIC
-  :: Ptr DMatrix' -> IO CInt
-sprank'
-  :: DMatrix -> IO Int
-sprank' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sprank_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__kron_TIC" c_CasADi__kron_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-kron'
-  :: DMatrix -> DMatrix -> IO DMatrix
-kron' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__kron_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sparse_TIC_TIC" c_CasADi__sparse_TIC_TIC
-  :: Ptr DMatrix' -> CDouble -> IO (Ptr DMatrix')
-sparse''
-  :: DMatrix -> Double -> IO DMatrix
-sparse'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__sparse_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sparse_TIC_TIC_TIC" c_CasADi__sparse_TIC_TIC_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-sparse'''
-  :: DMatrix -> IO DMatrix
-sparse''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sparse_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__dense_TIC" c_CasADi__dense_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-dense'
-  :: DMatrix -> IO DMatrix
-dense' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__dense_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__transpose_TIC_TIC" c_CasADi__transpose_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-transpose''
-  :: SX -> IO SX
-transpose'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__transpose_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-mul''''''
-  :: SX -> SX -> Sparsity -> IO SX
-mul'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-mul'''''''
-  :: SX -> SX -> IO SX
-mul''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr SX')) -> IO (Ptr SX')
-mul''''''''
-  :: Vector SX -> IO SX
-mul'''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__det_TIC_TIC" c_CasADi__det_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SXElement')
-det''
-  :: SX -> IO SXElement
-det'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__det_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getMinor_TIC_TIC" c_CasADi__getMinor_TIC_TIC
-  :: Ptr SX' -> CInt -> CInt -> IO (Ptr SXElement')
-getMinor''
-  :: SX -> Int -> Int -> IO SXElement
-getMinor'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__getMinor_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__cofactor_TIC_TIC" c_CasADi__cofactor_TIC_TIC
-  :: Ptr SX' -> CInt -> CInt -> IO (Ptr SXElement')
-cofactor''
-  :: SX -> Int -> Int -> IO SXElement
-cofactor'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__cofactor_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__adj_TIC_TIC" c_CasADi__adj_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-adj''
-  :: SX -> IO SX
-adj'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__adj_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__inv_TIC_TIC" c_CasADi__inv_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-inv''
-  :: SX -> IO SX
-inv'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__inv_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__reshape_TIC_TIC_TIC_TIC" c_CasADi__reshape_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-reshape''''
-  :: SX -> Int -> Int -> IO SX
-reshape'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__reshape_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__reshape_TIC_TIC_TIC_TIC_TIC" c_CasADi__reshape_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-reshape'''''
-  :: SX -> Sparsity -> IO SX
-reshape''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__reshape_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vec_TIC_TIC" c_CasADi__vec_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-vec''
-  :: SX -> IO SX
-vec'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vec_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vecNZ_TIC_TIC" c_CasADi__vecNZ_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-vecNZ''
-  :: SX -> IO SX
-vecNZ'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZ_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blockcat_TIC_TIC" c_CasADi__blockcat_TIC_TIC
-  :: Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> IO (Ptr SX')
-blockcat''
-  :: Vector (Vector SX) -> IO SX
-blockcat'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blockcat_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SX')))))
-blocksplit''''''''
-  :: SX -> Vector Int -> Vector Int -> IO (Vector (Vector SX))
-blocksplit'''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SX')))))
-blocksplit'''''''''
-  :: SX -> Int -> Int -> IO (Vector (Vector SX))
-blocksplit''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SX')))))
-blocksplit''''''''''
-  :: SX -> Int -> IO (Vector (Vector SX))
-blocksplit'''''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SX')))))
-blocksplit'''''''''''
-  :: SX -> IO (Vector (Vector SX))
-blocksplit''''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertcat_TIC_TIC" c_CasADi__vertcat_TIC_TIC
-  :: Ptr (CppVec (Ptr SX')) -> IO (Ptr SX')
-vertcat''
-  :: Vector SX -> IO SX
-vertcat'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vertcat_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr SX')))
-vertsplit''''''
-  :: SX -> Vector Int -> IO (Vector SX)
-vertsplit'''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> CInt -> IO (Ptr (CppVec (Ptr SX')))
-vertsplit'''''''
-  :: SX -> Int -> IO (Vector SX)
-vertsplit''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> IO (Ptr (CppVec (Ptr SX')))
-vertsplit''''''''
-  :: SX -> IO (Vector SX)
-vertsplit'''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzcat_TIC_TIC" c_CasADi__horzcat_TIC_TIC
-  :: Ptr (CppVec (Ptr SX')) -> IO (Ptr SX')
-horzcat''
-  :: Vector SX -> IO SX
-horzcat'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__horzcat_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr SX')))
-horzsplit''''''
-  :: SX -> Vector Int -> IO (Vector SX)
-horzsplit'''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> CInt -> IO (Ptr (CppVec (Ptr SX')))
-horzsplit'''''''
-  :: SX -> Int -> IO (Vector SX)
-horzsplit''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> IO (Ptr (CppVec (Ptr SX')))
-horzsplit''''''''
-  :: SX -> IO (Vector SX)
-horzsplit'''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__inner_prod_TIC_TIC" c_CasADi__inner_prod_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-inner_prod''
-  :: SX -> SX -> IO SX
-inner_prod'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__inner_prod_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__outer_prod_TIC_TIC" c_CasADi__outer_prod_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-outer_prod''
-  :: SX -> SX -> IO SX
-outer_prod'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__outer_prod_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_1_TIC_TIC" c_CasADi__norm_1_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-norm_1''
-  :: SX -> IO SX
-norm_1'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_1_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_2_TIC_TIC" c_CasADi__norm_2_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-norm_2''
-  :: SX -> IO SX
-norm_2'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_2_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_inf_TIC_TIC" c_CasADi__norm_inf_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-norm_inf''
-  :: SX -> IO SX
-norm_inf'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_inf_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_F_TIC_TIC" c_CasADi__norm_F_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-norm_F''
-  :: SX -> IO SX
-norm_F'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_F_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__qr_TIC_TIC" c_CasADi__qr_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-qr''
-  :: SX -> SX -> SX -> IO ()
-qr'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__qr_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__nullspace_TIC_TIC" c_CasADi__nullspace_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-nullspace''
-  :: SX -> IO SX
-nullspace'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__nullspace_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__solve_TIC_TIC" c_CasADi__solve_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-solve''
-  :: SX -> SX -> IO SX
-solve'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__solve_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__pinv_TIC_TIC" c_CasADi__pinv_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-pinv''
-  :: SX -> IO SX
-pinv'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__pinv_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__repmat_TIC_TIC" c_CasADi__repmat_TIC_TIC
-  :: Ptr SX' -> CInt -> CInt -> IO (Ptr SX')
-repmat''
-  :: SX -> Int -> Int -> IO SX
-repmat'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__repmat_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__unite_TIC_TIC" c_CasADi__unite_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-unite''
-  :: SX -> SX -> IO SX
-unite'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__unite_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumRows_TIC_TIC" c_CasADi__sumRows_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-sumRows''
-  :: SX -> IO SX
-sumRows'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumRows_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumCols_TIC_TIC" c_CasADi__sumCols_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-sumCols''
-  :: SX -> IO SX
-sumCols'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumCols_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumAll_TIC_TIC" c_CasADi__sumAll_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-sumAll''
-  :: SX -> IO SX
-sumAll'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumAll_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__trace_TIC_TIC" c_CasADi__trace_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SXElement')
-trace''
-  :: SX -> IO SXElement
-trace'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__trace_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__diag_TIC_TIC" c_CasADi__diag_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-diag''
-  :: SX -> IO SX
-diag'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__diag_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blkdiag_TIC_TIC" c_CasADi__blkdiag_TIC_TIC
-  :: Ptr (CppVec (Ptr SX')) -> IO (Ptr SX')
-blkdiag''
-  :: Vector SX -> IO SX
-blkdiag'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blkdiag_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__polyval_TIC_TIC" c_CasADi__polyval_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-polyval''
-  :: SX -> SX -> IO SX
-polyval'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__polyval_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__addMultiple_TIC_TIC_TIC_TIC" c_CasADi__addMultiple_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr (CppVec (Ptr SXElement')) -> Ptr (CppVec (Ptr SXElement')) -> CInt -> IO ()
-addMultiple''''
-  :: SX -> Vector SXElement -> Vector SXElement -> Bool -> IO ()
-addMultiple'''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__addMultiple_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__addMultiple_TIC_TIC_TIC_TIC_TIC" c_CasADi__addMultiple_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr (CppVec (Ptr SXElement')) -> Ptr (CppVec (Ptr SXElement')) -> IO ()
-addMultiple'''''
-  :: SX -> Vector SXElement -> Vector SXElement -> IO ()
-addMultiple''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__addMultiple_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__veccat_TIC_TIC" c_CasADi__veccat_TIC_TIC
-  :: Ptr (CppVec (Ptr SX')) -> IO (Ptr SX')
-veccat''
-  :: Vector SX -> IO SX
-veccat'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__veccat_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vecNZcat_TIC_TIC" c_CasADi__vecNZcat_TIC_TIC
-  :: Ptr (CppVec (Ptr SX')) -> IO (Ptr SX')
-vecNZcat''
-  :: Vector SX -> IO SX
-vecNZcat'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZcat_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__project_TIC_TIC" c_CasADi__project_TIC_TIC
-  :: Ptr SX' -> Ptr Sparsity' -> IO (Ptr SX')
-project''
-  :: SX -> Sparsity -> IO SX
-project'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__project_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sprank_TIC_TIC" c_CasADi__sprank_TIC_TIC
-  :: Ptr SX' -> IO CInt
-sprank''
-  :: SX -> IO Int
-sprank'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sprank_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__kron_TIC_TIC" c_CasADi__kron_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-kron''
-  :: SX -> SX -> IO SX
-kron'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__kron_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sparse_TIC_TIC_TIC_TIC" c_CasADi__sparse_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> CDouble -> IO (Ptr SX')
-sparse''''
-  :: SX -> Double -> IO SX
-sparse'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__sparse_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sparse_TIC_TIC_TIC_TIC_TIC" c_CasADi__sparse_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-sparse'''''
-  :: SX -> IO SX
-sparse''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sparse_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__dense_TIC_TIC" c_CasADi__dense_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-dense''
-  :: SX -> IO SX
-dense'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__dense_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__cross" c_CasADi__cross
-  :: Ptr GenIMatrix' -> Ptr GenIMatrix' -> CInt -> IO (Ptr IMatrix')
-{-|
->Matlab's cross command.
--}
-cross
-  :: GenIMatrix -> GenIMatrix -> Int -> IO IMatrix
-cross x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__cross x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__cross_TIC" c_CasADi__cross_TIC
-  :: Ptr GenIMatrix' -> Ptr GenIMatrix' -> IO (Ptr IMatrix')
-cross'
-  :: GenIMatrix -> GenIMatrix -> IO IMatrix
-cross' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__cross_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tril2symm" c_CasADi__tril2symm
-  :: Ptr GenIMatrix' -> IO (Ptr IMatrix')
-{-|
->Convert a lower triangular matrix to a symmetric one.
--}
-tril2symm
-  :: GenIMatrix -> IO IMatrix
-tril2symm x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__tril2symm x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__triu2symm" c_CasADi__triu2symm
-  :: Ptr GenIMatrix' -> IO (Ptr IMatrix')
-{-|
->Convert a upper triangular matrix to a symmetric one.
--}
-triu2symm
-  :: GenIMatrix -> IO IMatrix
-triu2symm x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__triu2symm x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__triu" c_CasADi__triu
-  :: Ptr GenIMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MatType CasADi::triu(const GenericMatrix< MatType > &a)
->------------------------------------------------------------------------
->
->Get the upper triangular part of a matrix.
->
->>  Sparsity CasADi::triu(const Sparsity &sp, bool includeDiagonal=true)
->------------------------------------------------------------------------
->
->Get upper triangular part.
--}
-triu
-  :: GenIMatrix -> IO IMatrix
-triu x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__triu x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tril" c_CasADi__tril
-  :: Ptr GenIMatrix' -> IO (Ptr IMatrix')
-{-|
->>  MatType CasADi::tril(const GenericMatrix< MatType > &a)
->------------------------------------------------------------------------
->
->Get the lower triangular part of a matrix.
->
->>  Sparsity CasADi::tril(const Sparsity &sp, bool includeDiagonal=true)
->------------------------------------------------------------------------
->
->Get lower triangular part.
--}
-tril
-  :: GenIMatrix -> IO IMatrix
-tril x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__tril x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isEqual" c_CasADi__isEqual
-  :: Ptr GenIMatrix' -> Ptr GenIMatrix' -> IO CInt
-{-|
->>  bool CasADi::isEqual(const GenericMatrix< MatType > &x, const GenericMatrix< MatType > &y)
->------------------------------------------------------------------------
->
->Check if two expressions are equal, assuming that they are comparible.
->
->>  bool CasADi::isEqual(const MX &ex1, const MX &ex2)
->------------------------------------------------------------------------
->[INTERNAL] 
--}
-isEqual
-  :: GenIMatrix -> GenIMatrix -> IO Bool
-isEqual x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__isEqual x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__cross_TIC_TIC" c_CasADi__cross_TIC_TIC
-  :: Ptr GenDMatrix' -> Ptr GenDMatrix' -> CInt -> IO (Ptr DMatrix')
-cross''
-  :: GenDMatrix -> GenDMatrix -> Int -> IO DMatrix
-cross'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__cross_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__cross_TIC_TIC_TIC" c_CasADi__cross_TIC_TIC_TIC
-  :: Ptr GenDMatrix' -> Ptr GenDMatrix' -> IO (Ptr DMatrix')
-cross'''
-  :: GenDMatrix -> GenDMatrix -> IO DMatrix
-cross''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__cross_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tril2symm_TIC" c_CasADi__tril2symm_TIC
-  :: Ptr GenDMatrix' -> IO (Ptr DMatrix')
-tril2symm'
-  :: GenDMatrix -> IO DMatrix
-tril2symm' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__tril2symm_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__triu2symm_TIC" c_CasADi__triu2symm_TIC
-  :: Ptr GenDMatrix' -> IO (Ptr DMatrix')
-triu2symm'
-  :: GenDMatrix -> IO DMatrix
-triu2symm' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__triu2symm_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__triu_TIC" c_CasADi__triu_TIC
-  :: Ptr GenDMatrix' -> IO (Ptr DMatrix')
-triu'
-  :: GenDMatrix -> IO DMatrix
-triu' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__triu_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tril_TIC" c_CasADi__tril_TIC
-  :: Ptr GenDMatrix' -> IO (Ptr DMatrix')
-tril'
-  :: GenDMatrix -> IO DMatrix
-tril' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__tril_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isEqual_TIC" c_CasADi__isEqual_TIC
-  :: Ptr GenDMatrix' -> Ptr GenDMatrix' -> IO CInt
-isEqual'
-  :: GenDMatrix -> GenDMatrix -> IO Bool
-isEqual' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__isEqual_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__cross_TIC_TIC_TIC_TIC" c_CasADi__cross_TIC_TIC_TIC_TIC
-  :: Ptr GenSX' -> Ptr GenSX' -> CInt -> IO (Ptr SX')
-cross''''
-  :: GenSX -> GenSX -> Int -> IO SX
-cross'''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__cross_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__cross_TIC_TIC_TIC_TIC_TIC" c_CasADi__cross_TIC_TIC_TIC_TIC_TIC
-  :: Ptr GenSX' -> Ptr GenSX' -> IO (Ptr SX')
-cross'''''
-  :: GenSX -> GenSX -> IO SX
-cross''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__cross_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tril2symm_TIC_TIC" c_CasADi__tril2symm_TIC_TIC
-  :: Ptr GenSX' -> IO (Ptr SX')
-tril2symm''
-  :: GenSX -> IO SX
-tril2symm'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__tril2symm_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__triu2symm_TIC_TIC" c_CasADi__triu2symm_TIC_TIC
-  :: Ptr GenSX' -> IO (Ptr SX')
-triu2symm''
-  :: GenSX -> IO SX
-triu2symm'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__triu2symm_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__triu_TIC_TIC" c_CasADi__triu_TIC_TIC
-  :: Ptr GenSX' -> IO (Ptr SX')
-triu''
-  :: GenSX -> IO SX
-triu'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__triu_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tril_TIC_TIC" c_CasADi__tril_TIC_TIC
-  :: Ptr GenSX' -> IO (Ptr SX')
-tril''
-  :: GenSX -> IO SX
-tril'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__tril_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isEqual_TIC_TIC" c_CasADi__isEqual_TIC_TIC
-  :: Ptr GenSX' -> Ptr GenSX' -> IO CInt
-isEqual''
-  :: GenSX -> GenSX -> IO Bool
-isEqual'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__isEqual_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__cross_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__cross_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr GenMX' -> Ptr GenMX' -> CInt -> IO (Ptr MX')
-cross''''''
-  :: GenMX -> GenMX -> Int -> IO MX
-cross'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__cross_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__cross_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__cross_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr GenMX' -> Ptr GenMX' -> IO (Ptr MX')
-cross'''''''
-  :: GenMX -> GenMX -> IO MX
-cross''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__cross_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tril2symm_TIC_TIC_TIC" c_CasADi__tril2symm_TIC_TIC_TIC
-  :: Ptr GenMX' -> IO (Ptr MX')
-tril2symm'''
-  :: GenMX -> IO MX
-tril2symm''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__tril2symm_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__triu2symm_TIC_TIC_TIC" c_CasADi__triu2symm_TIC_TIC_TIC
-  :: Ptr GenMX' -> IO (Ptr MX')
-triu2symm'''
-  :: GenMX -> IO MX
-triu2symm''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__triu2symm_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__triu_TIC_TIC_TIC" c_CasADi__triu_TIC_TIC_TIC
-  :: Ptr GenMX' -> IO (Ptr MX')
-triu'''
-  :: GenMX -> IO MX
-triu''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__triu_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tril_TIC_TIC_TIC" c_CasADi__tril_TIC_TIC_TIC
-  :: Ptr GenMX' -> IO (Ptr MX')
-tril'''
-  :: GenMX -> IO MX
-tril''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__tril_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__isEqual_TIC_TIC_TIC" c_CasADi__isEqual_TIC_TIC_TIC
-  :: Ptr GenMX' -> Ptr GenMX' -> IO CInt
-isEqual'''
-  :: GenMX -> GenMX -> IO Bool
-isEqual''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__isEqual_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__linspace" c_CasADi__linspace
-  :: Ptr GenDMatrix' -> Ptr GenDMatrix' -> CInt -> IO (Ptr DMatrix')
-{-|
->>  MatType CasADi::linspace(const GenericMatrix< MatType > &a, const GenericMatrix< MatType > &b, int nsteps)
->------------------------------------------------------------------------
->
->Matlab's linspace command.
->
->>  void CasADi::linspace(std::vector< T > &v, const F &first, const L &last)
->------------------------------------------------------------------------
->[INTERNAL] 
->Matlab's linspace.
--}
-linspace
-  :: GenDMatrix -> GenDMatrix -> Int -> IO DMatrix
-linspace x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__linspace x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__linspace_TIC" c_CasADi__linspace_TIC
-  :: Ptr GenSX' -> Ptr GenSX' -> CInt -> IO (Ptr SX')
-linspace'
-  :: GenSX -> GenSX -> Int -> IO SX
-linspace' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__linspace_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__linspace_TIC_TIC" c_CasADi__linspace_TIC_TIC
-  :: Ptr GenMX' -> Ptr GenMX' -> CInt -> IO (Ptr MX')
-linspace''
-  :: GenMX -> GenMX -> Int -> IO MX
-linspace'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__linspace_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_and" c_CasADi__logic_and
-  :: CInt -> CInt -> IO CInt
-{-|
->Logical and, returns (an expression evaluating to) 1 if both expressions are
->nonzero and 0 otherwise.
--}
-logic_and
-  :: Int -> Int -> IO Int
-logic_and x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_and x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_or" c_CasADi__logic_or
-  :: CInt -> CInt -> IO CInt
-{-|
->Logical or, returns (an expression evaluating to) 1 if at least one
->expression is nonzero and 0 otherwise.
--}
-logic_or
-  :: Int -> Int -> IO Int
-logic_or x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_or x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_not" c_CasADi__logic_not
-  :: CInt -> IO CInt
-{-|
->Logical not, returns (an expression evaluating to) 1 if expression is zero
->and 0 otherwise.
--}
-logic_not
-  :: Int -> IO Int
-logic_not x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__logic_not x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_and_TIC" c_CasADi__logic_and_TIC
-  :: CDouble -> CDouble -> IO CDouble
-logic_and'
-  :: Double -> Double -> IO Double
-logic_and' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_and_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_or_TIC" c_CasADi__logic_or_TIC
-  :: CDouble -> CDouble -> IO CDouble
-logic_or'
-  :: Double -> Double -> IO Double
-logic_or' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_or_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_not_TIC" c_CasADi__logic_not_TIC
-  :: CDouble -> IO CDouble
-logic_not'
-  :: Double -> IO Double
-logic_not' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__logic_not_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_and_TIC_TIC" c_CasADi__logic_and_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-logic_and''
-  :: IMatrix -> IMatrix -> IO IMatrix
-logic_and'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_and_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_or_TIC_TIC" c_CasADi__logic_or_TIC_TIC
-  :: Ptr IMatrix' -> Ptr IMatrix' -> IO (Ptr IMatrix')
-logic_or''
-  :: IMatrix -> IMatrix -> IO IMatrix
-logic_or'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_or_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_not_TIC_TIC" c_CasADi__logic_not_TIC_TIC
-  :: Ptr IMatrix' -> IO (Ptr IMatrix')
-logic_not''
-  :: IMatrix -> IO IMatrix
-logic_not'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__logic_not_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_and_TIC_TIC_TIC" c_CasADi__logic_and_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-logic_and'''
-  :: DMatrix -> DMatrix -> IO DMatrix
-logic_and''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_and_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_or_TIC_TIC_TIC" c_CasADi__logic_or_TIC_TIC_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-logic_or'''
-  :: DMatrix -> DMatrix -> IO DMatrix
-logic_or''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_or_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_not_TIC_TIC_TIC" c_CasADi__logic_not_TIC_TIC_TIC
-  :: Ptr DMatrix' -> IO (Ptr DMatrix')
-logic_not'''
-  :: DMatrix -> IO DMatrix
-logic_not''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__logic_not_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_and_TIC_TIC_TIC_TIC" c_CasADi__logic_and_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-logic_and''''
-  :: SX -> SX -> IO SX
-logic_and'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_and_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_or_TIC_TIC_TIC_TIC" c_CasADi__logic_or_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-logic_or''''
-  :: SX -> SX -> IO SX
-logic_or'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_or_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_not_TIC_TIC_TIC_TIC" c_CasADi__logic_not_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> IO (Ptr SX')
-logic_not''''
-  :: SX -> IO SX
-logic_not'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__logic_not_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_and_TIC_TIC_TIC_TIC_TIC" c_CasADi__logic_and_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-logic_and'''''
-  :: MX -> MX -> IO MX
-logic_and''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_and_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_or_TIC_TIC_TIC_TIC_TIC" c_CasADi__logic_or_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-logic_or'''''
-  :: MX -> MX -> IO MX
-logic_or''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_or_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_not_TIC_TIC_TIC_TIC_TIC" c_CasADi__logic_not_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-logic_not'''''
-  :: MX -> IO MX
-logic_not''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__logic_not_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-logic_and''''''
-  :: SXElement -> SXElement -> IO SXElement
-logic_and'''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXElement' -> Ptr SXElement' -> IO (Ptr SXElement')
-logic_or''''''
-  :: SXElement -> SXElement -> IO SXElement
-logic_or'''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXElement' -> IO (Ptr SXElement')
-logic_not''''''
-  :: SXElement -> IO SXElement
-logic_not'''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> CInt -> CInt -> IO (Ptr Sparsity')
-reshape''''''
-  :: Sparsity -> Int -> Int -> IO Sparsity
-reshape'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__transpose_TIC_TIC_TIC" c_CasADi__transpose_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr Sparsity')
-transpose'''
-  :: Sparsity -> IO Sparsity
-transpose''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__transpose_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vec_TIC_TIC_TIC" c_CasADi__vec_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr Sparsity')
-vec'''
-  :: Sparsity -> IO Sparsity
-vec''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vec_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> Ptr Sparsity' -> IO (Ptr Sparsity')
-mul'''''''''
-  :: Sparsity -> Sparsity -> IO Sparsity
-mul''''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertcat_TIC_TIC_TIC" c_CasADi__vertcat_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-vertcat'''
-  :: Vector Sparsity -> IO Sparsity
-vertcat''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vertcat_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzcat_TIC_TIC_TIC" c_CasADi__horzcat_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-horzcat'''
-  :: Vector Sparsity -> IO Sparsity
-horzcat''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__horzcat_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blkdiag_TIC_TIC_TIC" c_CasADi__blkdiag_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr Sparsity')) -> IO (Ptr Sparsity')
-blkdiag'''
-  :: Vector Sparsity -> IO Sparsity
-blkdiag''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blkdiag_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr Sparsity')))
-horzsplit'''''''''
-  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
-horzsplit''''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr Sparsity')))
-vertsplit'''''''''
-  :: Sparsity -> Vector Int -> IO (Vector Sparsity)
-vertsplit''''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__rank" c_CasADi__rank
-  :: Ptr Sparsity' -> IO CInt
-{-|
->Obtain the structural rank of a sparsity-pattern.
--}
-rank
-  :: Sparsity -> IO Int
-rank x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__rank x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__triu_TIC_TIC_TIC_TIC" c_CasADi__triu_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-triu''''
-  :: Sparsity -> Bool -> IO Sparsity
-triu'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__triu_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__triu_TIC_TIC_TIC_TIC_TIC" c_CasADi__triu_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr Sparsity')
-triu'''''
-  :: Sparsity -> IO Sparsity
-triu''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__triu_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tril_TIC_TIC_TIC_TIC" c_CasADi__tril_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> CInt -> IO (Ptr Sparsity')
-tril''''
-  :: Sparsity -> Bool -> IO Sparsity
-tril'''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__tril_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tril_TIC_TIC_TIC_TIC_TIC" c_CasADi__tril_TIC_TIC_TIC_TIC_TIC
-  :: Ptr Sparsity' -> IO (Ptr Sparsity')
-tril'''''
-  :: Sparsity -> IO Sparsity
-tril''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__tril_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__expand" c_CasADi__expand
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-{-|
->Expand the expression as a weighted sum (with constant weights)
--}
-expand
-  :: SX -> SX -> SX -> IO ()
-expand x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__expand x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__simplify" c_CasADi__simplify
-  :: Ptr SXElement' -> IO ()
-{-|
->>  void CasADi::simplify(MX &ex)
->
->>  void CasADi::simplify(SX &ex)
->------------------------------------------------------------------------
->
->Simplify an expression.
->
->>  void CasADi::simplify(SXElement &ex)
->------------------------------------------------------------------------
->
->Simplify the expression: formulates the expression as and eliminates terms.
--}
-simplify
-  :: SXElement -> IO ()
-simplify x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__simplify x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__pw_const" c_CasADi__pw_const
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Create a piecewise constant function Create a piecewise constant function
->with n=val.size() intervals.
->
->Inputs:
->
->Parameters:
->-----------
->
->t:  a scalar variable (e.g. time)
->
->tval:  vector with the discrete values of t at the interval transitions
->(length n-1)
->
->val:  vector with the value of the function for each interval (length n)
--}
-pw_const
-  :: SX -> SX -> SX -> IO SX
-pw_const x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__pw_const x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__pw_lin" c_CasADi__pw_lin
-  :: Ptr SXElement' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->t a scalar variable (e.g. time)
->
->Create a piecewise linear function Create a piecewise linear function:
->
->Inputs: tval vector with the the discrete values of t (monotonically
->increasing) val vector with the corresponding function values (same length
->as tval)
--}
-pw_lin
-  :: SXElement -> SX -> SX -> IO SX
-pw_lin x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__pw_lin x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__if_else" c_CasADi__if_else
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->>  MX CasADi::if_else(const MX &cond, const MX &if_true, const MX &if_false)
->------------------------------------------------------------------------
->
->Branching on MX nodes Ternary operator, "cond ? if_true : if_false".
->
->>  SX CasADi::if_else(const SX &cond, const SX &if_true, const SX &if_false)
->------------------------------------------------------------------------
->
->Integrate f from a to b using Gaussian quadrature with n points.
->
->>  T CasADi::if_else(const SXElement &cond, const T &if_true, const T &if_false)
->------------------------------------------------------------------------
->[INTERNAL] 
->Expand the expression as a weighted sum (with constant weights)
--}
-if_else
-  :: SX -> SX -> SX -> IO SX
-if_else x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__if_else x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__heaviside" c_CasADi__heaviside
-  :: Ptr SX' -> IO (Ptr SX')
-{-|
->Heaviside function.
->
->\\[ \\begin{cases} H(x) = 0 & x<0 \\\\ H(x) = 1/2 & x=0 \\\\
->H(x) = 1 & x>0 \\\\ \\end{cases} \\]
--}
-heaviside
-  :: SX -> IO SX
-heaviside x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__heaviside x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__rectangle" c_CasADi__rectangle
-  :: Ptr SX' -> IO (Ptr SX')
-{-|
->rectangle function
->
->\\[ \\begin{cases} \\Pi(x) = 1 & |x| < 1/2 \\\\ \\Pi(x) = 1/2 &
->|x| = 1/2 \\\\ \\Pi(x) = 0 & |x| > 1/2 \\\\ \\end{cases} \\]
->
->Also called: gate function, block function, band function, pulse function,
->window function
--}
-rectangle
-  :: SX -> IO SX
-rectangle x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__rectangle x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__triangle" c_CasADi__triangle
-  :: Ptr SX' -> IO (Ptr SX')
-{-|
->triangle function
->
->\\[ \\begin{cases} \\Lambda(x) = 0 & |x| >= 1 \\\\ \\Lambda(x) =
->1-|x| & |x| < 1 \\end{cases} \\]
--}
-triangle
-  :: SX -> IO SX
-triangle x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__triangle x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__ramp" c_CasADi__ramp
-  :: Ptr SX' -> IO (Ptr SX')
-{-|
->ramp function
->
->\\[ \\begin{cases} R(x) = 0 & x <= 1 \\\\ R(x) = x & x > 1 \\\\
->\\end{cases} \\]
->
->Also called: slope function
--}
-ramp
-  :: SX -> IO SX
-ramp x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__ramp x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__gauss_quadrature" c_CasADi__gauss_quadrature
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> Ptr SX' -> IO (Ptr SX')
-{-|
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-gauss_quadrature
-  :: SX -> SX -> SX -> SX -> Int -> SX -> IO SX
-gauss_quadrature x0 x1 x2 x3 x4 x5 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  withMarshal x5 $ \x5' ->
-  c_CasADi__gauss_quadrature x0' x1' x2' x3' x4' x5' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__gauss_quadrature_TIC" c_CasADi__gauss_quadrature_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-gauss_quadrature'
-  :: SX -> SX -> SX -> SX -> Int -> IO SX
-gauss_quadrature' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__gauss_quadrature_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__gauss_quadrature_TIC_TIC" c_CasADi__gauss_quadrature_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-gauss_quadrature''
-  :: SX -> SX -> SX -> SX -> IO SX
-gauss_quadrature'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__gauss_quadrature_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__simplify_TIC" c_CasADi__simplify_TIC
-  :: Ptr SX' -> IO ()
-simplify'
-  :: SX -> IO ()
-simplify' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__simplify_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__compress" c_CasADi__compress
-  :: Ptr SX' -> CInt -> IO ()
-{-|
->Remove identical calculations.
--}
-compress
-  :: SX -> Int -> IO ()
-compress x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__compress x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__compress_TIC" c_CasADi__compress_TIC
-  :: Ptr SX' -> IO ()
-compress'
-  :: SX -> IO ()
-compress' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__compress_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substitute" c_CasADi__substitute
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->>  MX CasADi::substitute(const MX &ex, const MX &v, const MX &vdef)
->
->>  SX CasADi::substitute(const SX &ex, const SX &v, const SX &vdef)
->------------------------------------------------------------------------
->
->Substitute variable v with expression vdef in an expression ex.
->
->>  std::vector< MX > CasADi::substitute(const std::vector< MX > &ex, const std::vector< MX > &v, const std::vector< MX > &vdef)
->
->>  std::vector< SX > CasADi::substitute(const std::vector< SX > &ex, const std::vector< SX > &v, const std::vector< SX > &vdef)
->------------------------------------------------------------------------
->
->Substitute variable var with expression expr in multiple expressions.
--}
-substitute
-  :: SX -> SX -> SX -> IO SX
-substitute x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__substitute x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substitute_TIC" c_CasADi__substitute_TIC
-  :: Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> IO (Ptr (CppVec (Ptr SX')))
-substitute'
-  :: Vector SX -> Vector SX -> Vector SX -> IO (Vector SX)
-substitute' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__substitute_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substituteInPlace" c_CasADi__substituteInPlace
-  :: Ptr SX' -> Ptr SX' -> CInt -> IO ()
-{-|
->>  void CasADi::substituteInPlace(const std::vector< MX > &v, std::vector< MX > &vdef, bool reverse=false)
->------------------------------------------------------------------------
->[INTERNAL] 
->Inplace substitution Substitute variables v out of the expressions
->vdef sequentially.
->
->>  void CasADi::substituteInPlace(const std::vector< MX > &v, std::vector< MX > &vdef, std::vector< MX > &ex, bool reverse=false)
->------------------------------------------------------------------------
->[INTERNAL] 
->Inplace substitution with piggyback expressions Substitute variables v
->out of the expressions vdef sequentially, as well as out of a number
->of other expressions piggyback.
->
->>  void CasADi::substituteInPlace(const SX &v, SX &vdef, bool reverse=false)
->------------------------------------------------------------------------
->
->Substitute variable var out of or into an expression expr.
->
->>  void CasADi::substituteInPlace(const SX &v, SX &vdef, std::vector< SX > &ex, bool reverse=false)
->------------------------------------------------------------------------
->
->Substitute variable var out of or into an expression expr, with an arbitrary
->number of other expressions piggyback.
->
->>  void CasADi::substituteInPlace(const std::vector< SX > &v, std::vector< SX > &vdef, std::vector< SX > &ex, bool reverse=false)
->------------------------------------------------------------------------
->
->Substitute variable var out of or into an expression expr, with an arbitrary
->number of other expressions piggyback (vector version)
--}
-substituteInPlace
-  :: SX -> SX -> Bool -> IO ()
-substituteInPlace x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__substituteInPlace x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substituteInPlace_TIC" c_CasADi__substituteInPlace_TIC
-  :: Ptr SX' -> Ptr SX' -> IO ()
-substituteInPlace'
-  :: SX -> SX -> IO ()
-substituteInPlace' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__substituteInPlace_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substituteInPlace_TIC_TIC" c_CasADi__substituteInPlace_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr (CppVec (Ptr SX')) -> CInt -> IO ()
-substituteInPlace''
-  :: SX -> SX -> Vector SX -> Bool -> IO ()
-substituteInPlace'' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__substituteInPlace_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substituteInPlace_TIC_TIC_TIC" c_CasADi__substituteInPlace_TIC_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr (CppVec (Ptr SX')) -> IO ()
-substituteInPlace'''
-  :: SX -> SX -> Vector SX -> IO ()
-substituteInPlace''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__substituteInPlace_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substituteInPlace_TIC_TIC_TIC_TIC" c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> CInt -> IO ()
-substituteInPlace''''
-  :: Vector SX -> Vector SX -> Vector SX -> Bool -> IO ()
-substituteInPlace'''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC" c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> IO ()
-substituteInPlace'''''
-  :: Vector SX -> Vector SX -> Vector SX -> IO ()
-substituteInPlace''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__evalf" c_CasADi__evalf
-  :: Ptr SX' -> IO (Ptr DMatrix')
-{-|
->>  Matrix< double > CasADi::evalf(const SX &ex, const SX &v, const Matrix< double > &vdef)
->------------------------------------------------------------------------
->
->Substitute variable v with value vdef in an expression ex, and evaluate
->numerically Note: this is not efficient. For critical parts (loops) of your
->code, always use SXFunction.
->
->>  Matrix< double > CasADi::evalf(const SX &ex)
->------------------------------------------------------------------------
->
->Evaluate an SX graph numerically Note: this is not efficient. For critical
->parts (loops) of your code, always use SXFunction.
--}
-evalf
-  :: SX -> IO DMatrix
-evalf x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__evalf x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__evalf_TIC" c_CasADi__evalf_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr DMatrix' -> IO (Ptr DMatrix')
-evalf'
-  :: SX -> SX -> DMatrix -> IO DMatrix
-evalf' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__evalf_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__spy" c_CasADi__spy
-  :: Ptr SX' -> IO (Ptr SX')
-{-|
->Get the sparsity pattern of a matrix.
--}
-spy
-  :: SX -> IO SX
-spy x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__spy x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__dependsOn" c_CasADi__dependsOn
-  :: Ptr SX' -> Ptr SX' -> IO CInt
-{-|
->>  bool CasADi::dependsOn(const SX &f, const SX &arg)
->------------------------------------------------------------------------
->
->Check if expression depends on the argument The argument must be symbolic.
->
->>  bool CasADi::dependsOn(const MX &ex, const std::vector< MX > &arg)
->------------------------------------------------------------------------
->
->Check if expression depends on any of the arguments The arguments must be
->symbolic.
--}
-dependsOn
-  :: SX -> SX -> IO Bool
-dependsOn x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__dependsOn x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getSymbols" c_CasADi__getSymbols
-  :: Ptr SX' -> IO (Ptr (CppVec (Ptr SXElement')))
-{-|
->>  std::vector< SXElement > CasADi::getSymbols(const SX &e)
->------------------------------------------------------------------------
->
->Get all symbols contained in the supplied expression Get all symbols on
->which the supplied expression depends.
->
->See:   SXFunction::getFree()
->
->>  std::vector< MX > CasADi::getSymbols(const MX &e)
->
->>  std::vector< MX > CasADi::getSymbols(const std::vector< MX > &e)
->------------------------------------------------------------------------
->
->Get all symbols contained in the supplied expression Get all symbols on
->which the supplied expression depends.
->
->See:   MXFunction::getFree()
--}
-getSymbols
-  :: SX -> IO (Vector SXElement)
-getSymbols x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__getSymbols x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__jacobian" c_CasADi__jacobian
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->>  MX CasADi::jacobian(const MX &ex, const MX &arg)
->------------------------------------------------------------------------
->
->Calculate jacobian via source code transformation.
->
->Uses CasADi::MXFunction::jac
->
->>  SX CasADi::jacobian(const SX &ex, const SX &arg)
->------------------------------------------------------------------------
->
->Calculate jacobian via source code transformation.
->
->Uses CasADi::SXFunction::jac
--}
-jacobian
-  :: SX -> SX -> IO SX
-jacobian x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__jacobian x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__gradient" c_CasADi__gradient
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->>  MX CasADi::gradient(const MX &ex, const MX &arg)
->------------------------------------------------------------------------
->
->split vertically, retaining groups of cols
->
->Parameters:
->-----------
->
->output_offset:  List of all start cols for each group the last col group
->will run to the end.
->
->horzcat(horzsplit(x,...)) = x
->
->>  SX CasADi::gradient(const SX &ex, const SX &arg)
->------------------------------------------------------------------------
->
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-gradient
-  :: SX -> SX -> IO SX
-gradient x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__gradient x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tangent" c_CasADi__tangent
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->>  MX CasADi::tangent(const MX &ex, const MX &arg)
->------------------------------------------------------------------------
->
->split vertically, retaining groups of cols
->
->Parameters:
->-----------
->
->output_offset:  List of all start cols for each group the last col group
->will run to the end.
->
->horzcat(horzsplit(x,...)) = x
->
->>  SX CasADi::tangent(const SX &ex, const SX &arg)
->------------------------------------------------------------------------
->
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-tangent
-  :: SX -> SX -> IO SX
-tangent x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__tangent x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__hessian" c_CasADi__hessian
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->Integrate f from a to b using Gaussian quadrature with n points.
--}
-hessian
-  :: SX -> SX -> IO SX
-hessian x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__hessian x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__hessian_TIC" c_CasADi__hessian_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> Ptr SX' -> IO ()
-hessian'
-  :: SX -> SX -> SX -> SX -> IO ()
-hessian' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__hessian_TIC x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__jacobianTimesVector" c_CasADi__jacobianTimesVector
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-{-|
->Calculate the Jacobian and multiply by a vector from the left This is
->equivalent to mul(jacobian(ex,arg),v) or mul(jacobian(ex,arg).T,v) for
->transpose_jacobian set to false and true respectively. If contrast to these
->expressions, it will use directional derivatives which is typically (but not
->necessarily) more efficient if the complete Jacobian is not needed and v has
->few rows.
--}
-jacobianTimesVector
-  :: SX -> SX -> SX -> Bool -> IO SX
-jacobianTimesVector x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__jacobianTimesVector x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__jacobianTimesVector_TIC" c_CasADi__jacobianTimesVector_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-jacobianTimesVector'
-  :: SX -> SX -> SX -> IO SX
-jacobianTimesVector' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__jacobianTimesVector_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__taylor" c_CasADi__taylor
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-{-|
->univariate taylor series expansion
->
->Calculate the taylor expansion of expression 'ex' up to order 'order' with
->repsect to variable 'x' around the point 'a'
->
->$(x)=f(a)+f'(a)(x-a)+f''(a)\\frac{(x-a)^2}{2!}+f'''(a)\\frac{(x-a)^3}{3!}+\\ldots$
->
->Example usage:>>   x
--}
-taylor
-  :: SX -> SX -> SX -> Int -> IO SX
-taylor x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__taylor x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__taylor_TIC" c_CasADi__taylor_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-taylor'
-  :: SX -> SX -> SX -> IO SX
-taylor' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__taylor_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__taylor_TIC_TIC" c_CasADi__taylor_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-taylor''
-  :: SX -> SX -> IO SX
-taylor'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__taylor_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mtaylor" c_CasADi__mtaylor
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr SX')
-{-|
->>  SX CasADi::mtaylor(const SX &ex, const SX &x, const SX &a, int order=1)
->------------------------------------------------------------------------
->
->multivariate taylor series expansion
->
->Do taylor expansions until the aggregated order of a term is equal to
->'order'. The aggregated order of $x^n y^m$ equals $n+m$.
->
->>  SX CasADi::mtaylor(const SX &ex, const SX &x, const SX &a, int order, const std::vector< int > &order_contributions)
->------------------------------------------------------------------------
->
->multivariate taylor series expansion
->
->Do taylor expansions until the aggregated order of a term is equal to
->'order'. The aggregated order of $x^n y^m$ equals $n+m$.
->
->The argument order_contributions can denote how match each variable
->contributes to the aggregated order. If x=[x,y] and
->order_contributions=[1,2], then the aggregated order of $x^n y^m$ equals
->$1n+2m$.
->
->Example usage
->
->$ \\sin(b+a)+\\cos(b+a)(x-a)+\\cos(b+a)(y-b) $ $ y+x-(x^3+3y x^2+3 y^2
->x+y^3)/6 $ $ (-3 x^2 y-x^3)/6+y+x $
--}
-mtaylor
-  :: SX -> SX -> SX -> Int -> IO SX
-mtaylor x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__mtaylor x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mtaylor_TIC" c_CasADi__mtaylor_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-mtaylor'
-  :: SX -> SX -> SX -> IO SX
-mtaylor' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__mtaylor_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mtaylor_TIC_TIC" c_CasADi__mtaylor_TIC_TIC
-  :: Ptr SX' -> Ptr SX' -> Ptr SX' -> CInt -> Ptr (CppVec CInt) -> IO (Ptr SX')
-mtaylor''
-  :: SX -> SX -> SX -> Int -> Vector Int -> IO SX
-mtaylor'' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__mtaylor_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__countNodes" c_CasADi__countNodes
-  :: Ptr SX' -> IO CInt
-{-|
->>  int CasADi::countNodes(const MX &A)
->------------------------------------------------------------------------
->
->Count number of nodes
->
->>  int CasADi::countNodes(const SX &A)
->------------------------------------------------------------------------
->
->Count number of nodes.
--}
-countNodes
-  :: SX -> IO Int
-countNodes x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__countNodes x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getOperatorRepresentation" c_CasADi__getOperatorRepresentation
-  :: Ptr SXElement' -> Ptr (CppVec (Ptr StdString')) -> IO (Ptr StdString')
-{-|
->>  std::string CasADi::getOperatorRepresentation(const MX &x, const std::vector< std::string > &args)
->------------------------------------------------------------------------
->
->Get a string representation for a binary MX, using custom arguments.
->
->>  std::string CasADi::getOperatorRepresentation(const SXElement &x, const std::vector< std::string > &args)
->------------------------------------------------------------------------
->
->Get a string representation for a binary SX, using custom arguments.
--}
-getOperatorRepresentation
-  :: SXElement -> Vector String -> IO String
-getOperatorRepresentation x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__getOperatorRepresentation x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getFree" c_CasADi__getFree
-  :: Ptr SX' -> IO (Ptr SX')
-{-|
->Get all the free variables in an expression.
--}
-getFree
-  :: SX -> IO SX
-getFree x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__getFree x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__extractShared" c_CasADi__extractShared
-  :: Ptr (CppVec (Ptr SXElement')) -> Ptr (CppVec (Ptr SXElement')) -> Ptr (CppVec (Ptr SXElement')) -> Ptr StdString' -> Ptr StdString' -> IO ()
-{-|
->Extract shared subexpressions from an set of expressions.
--}
-extractShared
-  :: Vector SXElement -> Vector SXElement -> Vector SXElement -> String -> String -> IO ()
-extractShared x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__extractShared x0' x1' x2' x3' x4' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__extractShared_TIC" c_CasADi__extractShared_TIC
-  :: Ptr (CppVec (Ptr SXElement')) -> Ptr (CppVec (Ptr SXElement')) -> Ptr (CppVec (Ptr SXElement')) -> Ptr StdString' -> IO ()
-extractShared'
-  :: Vector SXElement -> Vector SXElement -> Vector SXElement -> String -> IO ()
-extractShared' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__extractShared_TIC x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__extractShared_TIC_TIC" c_CasADi__extractShared_TIC_TIC
-  :: Ptr (CppVec (Ptr SXElement')) -> Ptr (CppVec (Ptr SXElement')) -> Ptr (CppVec (Ptr SXElement')) -> IO ()
-extractShared''
-  :: Vector SXElement -> Vector SXElement -> Vector SXElement -> IO ()
-extractShared'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__extractShared_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__printCompact_TIC" c_CasADi__printCompact_TIC
-  :: Ptr SX' -> IO ()
-printCompact'
-  :: SX -> IO ()
-printCompact' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__printCompact_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__poly_coeff" c_CasADi__poly_coeff
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr SX')
-{-|
->extracts polynomial coefficients from an expression
->
->ex Scalar expression that represents a polynomial  x Scalar symbol that th
->epolynomial is build up with
--}
-poly_coeff
-  :: SX -> SX -> IO SX
-poly_coeff x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__poly_coeff x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__poly_roots" c_CasADi__poly_roots
-  :: Ptr SX' -> IO (Ptr SX')
-{-|
->Attempts to find the roots of a polynomial.
->
->This will only work for polynomials up to order 3 It is assumed that the
->roots are real.
--}
-poly_roots
-  :: SX -> IO SX
-poly_roots x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__poly_roots x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__eig_symbolic" c_CasADi__eig_symbolic
-  :: Ptr SX' -> IO (Ptr SX')
-{-|
->Attempts to find the eigenvalues of a symbolic matrix This will only work
->for up to 3x3 matrices.
->
->Bring m in block diagonal form, calculating eigenvalues of each block
->seperately 
--}
-eig_symbolic
-  :: SX -> IO SX
-eig_symbolic x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__eig_symbolic x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzcat_TIC_TIC_TIC_TIC" c_CasADi__horzcat_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
-horzcat''''
-  :: Vector MX -> IO MX
-horzcat'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__horzcat_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr MX')))
-horzsplit''''''''''
-  :: MX -> Vector Int -> IO (Vector MX)
-horzsplit'''''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> CInt -> IO (Ptr (CppVec (Ptr MX')))
-horzsplit'''''''''''
-  :: MX -> Int -> IO (Vector MX)
-horzsplit''''''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr (CppVec (Ptr MX')))
-horzsplit''''''''''''
-  :: MX -> IO (Vector MX)
-horzsplit'''''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertcat_TIC_TIC_TIC_TIC" c_CasADi__vertcat_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
-vertcat''''
-  :: Vector MX -> IO MX
-vertcat'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vertcat_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr MX')))
-vertsplit''''''''''
-  :: MX -> Vector Int -> IO (Vector MX)
-vertsplit'''''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> CInt -> IO (Ptr (CppVec (Ptr MX')))
-vertsplit'''''''''''
-  :: MX -> Int -> IO (Vector MX)
-vertsplit''''''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr (CppVec (Ptr MX')))
-vertsplit''''''''''''
-  :: MX -> IO (Vector MX)
-vertsplit'''''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blockcat_TIC_TIC_TIC" c_CasADi__blockcat_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> IO (Ptr MX')
-blockcat'''
-  :: Vector (Vector MX) -> IO MX
-blockcat''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blockcat_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr (CppVec (Ptr MX')))))
-blocksplit''''''''''''
-  :: MX -> Vector Int -> Vector Int -> IO (Vector (Vector MX))
-blocksplit'''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr MX')))))
-blocksplit'''''''''''''
-  :: MX -> Int -> Int -> IO (Vector (Vector MX))
-blocksplit''''''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr MX')))))
-blocksplit''''''''''''''
-  :: MX -> Int -> IO (Vector (Vector MX))
-blocksplit'''''''''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr (CppVec (Ptr (CppVec (Ptr MX')))))
-blocksplit'''''''''''''''
-  :: MX -> IO (Vector (Vector MX))
-blocksplit''''''''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__veccat_TIC_TIC_TIC" c_CasADi__veccat_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
-veccat'''
-  :: Vector MX -> IO MX
-veccat''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__veccat_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vecNZcat_TIC_TIC_TIC" c_CasADi__vecNZcat_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
-vecNZcat'''
-  :: Vector MX -> IO MX
-vecNZcat''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZcat_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_F_TIC_TIC_TIC" c_CasADi__norm_F_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-norm_F'''
-  :: MX -> IO MX
-norm_F''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_F_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_2_TIC_TIC_TIC" c_CasADi__norm_2_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-norm_2'''
-  :: MX -> IO MX
-norm_2''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_2_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_1_TIC_TIC_TIC" c_CasADi__norm_1_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-norm_1'''
-  :: MX -> IO MX
-norm_1''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_1_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__norm_inf_TIC_TIC_TIC" c_CasADi__norm_inf_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-norm_inf'''
-  :: MX -> IO MX
-norm_inf''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__norm_inf_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__transpose_TIC_TIC_TIC_TIC" c_CasADi__transpose_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-transpose''''
-  :: MX -> IO MX
-transpose'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__transpose_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-mul''''''''''
-  :: MX -> MX -> Sparsity -> IO MX
-mul'''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-mul'''''''''''
-  :: MX -> MX -> IO MX
-mul''''''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
-mul''''''''''''
-  :: Vector MX -> IO MX
-mul'''''''''''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__inner_prod_TIC_TIC_TIC" c_CasADi__inner_prod_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-inner_prod'''
-  :: MX -> MX -> IO MX
-inner_prod''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__inner_prod_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__outer_prod_TIC_TIC_TIC" c_CasADi__outer_prod_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-outer_prod'''
-  :: MX -> MX -> IO MX
-outer_prod''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__outer_prod_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__if_else_TIC" c_CasADi__if_else_TIC
-  :: Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-if_else'
-  :: MX -> MX -> MX -> IO MX
-if_else' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__if_else_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr Sparsity' -> IO (Ptr MX')
-reshape'''''''
-  :: MX -> Sparsity -> IO MX
-reshape''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vec_TIC_TIC_TIC_TIC" c_CasADi__vec_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-vec''''
-  :: MX -> IO MX
-vec'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vec_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__vecNZ_TIC_TIC_TIC" c_CasADi__vecNZ_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-vecNZ'''
-  :: MX -> IO MX
-vecNZ''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZ_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__unite_TIC_TIC_TIC" c_CasADi__unite_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-unite'''
-  :: MX -> MX -> IO MX
-unite''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__unite_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__simplify_TIC_TIC" c_CasADi__simplify_TIC_TIC
-  :: Ptr MX' -> IO ()
-simplify''
-  :: MX -> IO ()
-simplify'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__simplify_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__trace_TIC_TIC_TIC" c_CasADi__trace_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-trace'''
-  :: MX -> IO MX
-trace''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__trace_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__repmat_TIC_TIC_TIC" c_CasADi__repmat_TIC_TIC_TIC
-  :: Ptr MX' -> CInt -> CInt -> IO (Ptr MX')
-repmat'''
-  :: MX -> Int -> Int -> IO MX
-repmat''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__repmat_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__dense_TIC_TIC_TIC" c_CasADi__dense_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-dense'''
-  :: MX -> IO MX
-dense''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__dense_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__createParent" c_CasADi__createParent
-  :: Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->>  MX CasADi::createParent(std::vector< MX > &deps)
->------------------------------------------------------------------------
->
->Create a parent MX on which all given MX's will depend.
->
->In some sense, this function is the inverse of
->
->Parameters:
->-----------
->
->deps:  Must all be symbolic matrices.
->
->>  MX CasADi::createParent(const std::vector< Sparsity > &deps, std::vector< MX > &output_children)
->
->>  MX CasADi::createParent(const std::vector< MX > &deps, std::vector< MX > &output_children)
->------------------------------------------------------------------------
->
->Create a parent MX on which a bunch of MX's (sizes given as argument) will
->depend.
--}
-createParent
-  :: Vector MX -> IO MX
-createParent x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__createParent x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__createParent_TIC" c_CasADi__createParent_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
-createParent'
-  :: Vector MX -> Vector MX -> IO MX
-createParent' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__createParent_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__createParent_TIC_TIC" c_CasADi__createParent_TIC_TIC
-  :: Ptr (CppVec (Ptr Sparsity')) -> Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
-createParent''
-  :: Vector Sparsity -> Vector MX -> IO MX
-createParent'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__createParent_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__countNodes_TIC" c_CasADi__countNodes_TIC
-  :: Ptr MX' -> IO CInt
-countNodes'
-  :: MX -> IO Int
-countNodes' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__countNodes_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__diag_TIC_TIC_TIC" c_CasADi__diag_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-diag'''
-  :: MX -> IO MX
-diag''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__diag_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__blkdiag_TIC_TIC_TIC_TIC" c_CasADi__blkdiag_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
-blkdiag''''
-  :: Vector MX -> IO MX
-blkdiag'''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__blkdiag_TIC_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumCols_TIC_TIC_TIC" c_CasADi__sumCols_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-sumCols'''
-  :: MX -> IO MX
-sumCols''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumCols_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumRows_TIC_TIC_TIC" c_CasADi__sumRows_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-sumRows'''
-  :: MX -> IO MX
-sumRows''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumRows_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__sumAll_TIC_TIC_TIC" c_CasADi__sumAll_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-sumAll'''
-  :: MX -> IO MX
-sumAll''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__sumAll_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__polyval_TIC_TIC_TIC" c_CasADi__polyval_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-polyval'''
-  :: MX -> MX -> IO MX
-polyval''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__polyval_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getOperatorRepresentation_TIC" c_CasADi__getOperatorRepresentation_TIC
-  :: Ptr MX' -> Ptr (CppVec (Ptr StdString')) -> IO (Ptr StdString')
-getOperatorRepresentation'
-  :: MX -> Vector String -> IO String
-getOperatorRepresentation' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__getOperatorRepresentation_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substitute_TIC_TIC" c_CasADi__substitute_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-substitute''
-  :: MX -> MX -> MX -> IO MX
-substitute'' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__substitute_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substitute_TIC_TIC_TIC" c_CasADi__substitute_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> IO (Ptr (CppVec (Ptr MX')))
-substitute'''
-  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
-substitute''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__substitute_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__graph_substitute" c_CasADi__graph_substitute
-  :: Ptr MX' -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->>  MX CasADi::graph_substitute(const MX &ex, const std::vector< MX > &v, const std::vector< MX > &vdef)
->------------------------------------------------------------------------
->
->Substitute variable v with expression vdef in an expression ex, preserving
->nodes.
->
->>  std::vector< MX > CasADi::graph_substitute(const std::vector< MX > &ex, const std::vector< MX > &v, const std::vector< MX > &vdef)
->------------------------------------------------------------------------
->
->Substitute variable var with expression expr in multiple expressions,
->preserving nodes.
--}
-graph_substitute
-  :: MX -> Vector MX -> Vector MX -> IO MX
-graph_substitute x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__graph_substitute x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__graph_substitute_TIC" c_CasADi__graph_substitute_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> IO (Ptr (CppVec (Ptr MX')))
-graph_substitute'
-  :: Vector MX -> Vector MX -> Vector MX -> IO (Vector MX)
-graph_substitute' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__graph_substitute_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> CInt -> IO ()
-substituteInPlace''''''
-  :: Vector MX -> Vector MX -> Bool -> IO ()
-substituteInPlace'''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> IO ()
-substituteInPlace'''''''
-  :: Vector MX -> Vector MX -> IO ()
-substituteInPlace''''''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> CInt -> IO ()
-substituteInPlace''''''''
-  :: Vector MX -> Vector MX -> Vector MX -> Bool -> IO ()
-substituteInPlace'''''''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> IO ()
-substituteInPlace'''''''''
-  :: Vector MX -> Vector MX -> Vector MX -> IO ()
-substituteInPlace''''''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__extractShared_TIC_TIC_TIC" c_CasADi__extractShared_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr StdString' -> Ptr StdString' -> IO ()
-extractShared'''
-  :: Vector MX -> Vector MX -> Vector MX -> String -> String -> IO ()
-extractShared''' x0 x1 x2 x3 x4 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  withMarshal x4 $ \x4' ->
-  c_CasADi__extractShared_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__extractShared_TIC_TIC_TIC_TIC" c_CasADi__extractShared_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr StdString' -> IO ()
-extractShared''''
-  :: Vector MX -> Vector MX -> Vector MX -> String -> IO ()
-extractShared'''' x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__extractShared_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__extractShared_TIC_TIC_TIC_TIC_TIC" c_CasADi__extractShared_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> IO ()
-extractShared'''''
-  :: Vector MX -> Vector MX -> Vector MX -> IO ()
-extractShared''''' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__extractShared_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__printCompact_TIC_TIC_TIC" c_CasADi__printCompact_TIC_TIC_TIC
-  :: Ptr MX' -> IO ()
-printCompact'''
-  :: MX -> IO ()
-printCompact''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__printCompact_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__jacobian_TIC" c_CasADi__jacobian_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-jacobian'
-  :: MX -> MX -> IO MX
-jacobian' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__jacobian_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__gradient_TIC" c_CasADi__gradient_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-gradient'
-  :: MX -> MX -> IO MX
-gradient' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__gradient_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__tangent_TIC" c_CasADi__tangent_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-tangent'
-  :: MX -> MX -> IO MX
-tangent' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__tangent_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__nullspace_TIC_TIC_TIC" c_CasADi__nullspace_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-nullspace'''
-  :: MX -> IO MX
-nullspace''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__nullspace_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__det_TIC_TIC_TIC" c_CasADi__det_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-det'''
-  :: MX -> IO MX
-det''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__det_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__inv_TIC_TIC_TIC" c_CasADi__inv_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-inv'''
-  :: MX -> IO MX
-inv''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__inv_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getSymbols_TIC" c_CasADi__getSymbols_TIC
-  :: Ptr MX' -> IO (Ptr (CppVec (Ptr MX')))
-getSymbols'
-  :: MX -> IO (Vector MX)
-getSymbols' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__getSymbols_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__getSymbols_TIC_TIC" c_CasADi__getSymbols_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> IO (Ptr (CppVec (Ptr MX')))
-getSymbols''
-  :: Vector MX -> IO (Vector MX)
-getSymbols'' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__getSymbols_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__dependsOn_TIC" c_CasADi__dependsOn_TIC
-  :: Ptr MX' -> Ptr (CppVec (Ptr MX')) -> IO CInt
-dependsOn'
-  :: MX -> Vector MX -> IO Bool
-dependsOn' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__dependsOn_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__matrix_expand" c_CasADi__matrix_expand
-  :: Ptr MX' -> Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
-{-|
->Expand MX graph to SXFunction call.
->
->Expand the given expression e, optionally supplying expressions contained in
->it at which expansion should stop.
--}
-matrix_expand
-  :: MX -> Vector MX -> IO MX
-matrix_expand x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__matrix_expand x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__matrix_expand_TIC" c_CasADi__matrix_expand_TIC
-  :: Ptr MX' -> IO (Ptr MX')
-matrix_expand'
-  :: MX -> IO MX
-matrix_expand' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__matrix_expand_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__matrix_expand_TIC_TIC" c_CasADi__matrix_expand_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> IO (Ptr (CppVec (Ptr MX')))
-matrix_expand''
-  :: Vector MX -> Vector MX -> IO (Vector MX)
-matrix_expand'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__matrix_expand_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__matrix_expand_TIC_TIC_TIC" c_CasADi__matrix_expand_TIC_TIC_TIC
-  :: Ptr (CppVec (Ptr MX')) -> IO (Ptr (CppVec (Ptr MX')))
-matrix_expand'''
-  :: Vector MX -> IO (Vector MX)
-matrix_expand''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__matrix_expand_TIC_TIC_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__kron_TIC_TIC_TIC" c_CasADi__kron_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-kron'''
-  :: MX -> MX -> IO MX
-kron''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__kron_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__solve_TIC_TIC_TIC" c_CasADi__solve_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-solve'''
-  :: MX -> MX -> IO MX
-solve''' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__solve_TIC_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__collocationPoints" c_CasADi__collocationPoints
-  :: CInt -> Ptr StdString' -> IO (Ptr (CppVec CDouble))
-{-|
->Obtain collocation points of specific order and scheme.
->
->Parameters:
->-----------
->
->scheme:  'radau' or 'legendre'
--}
-collocationPoints
-  :: Int -> String -> IO (Vector Double)
-collocationPoints x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__collocationPoints x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__collocationPoints_TIC" c_CasADi__collocationPoints_TIC
-  :: CInt -> IO (Ptr (CppVec CDouble))
-collocationPoints'
-  :: Int -> IO (Vector Double)
-collocationPoints' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__collocationPoints_TIC x0' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__collocationInterpolators" c_CasADi__collocationInterpolators
-  :: Ptr (CppVec CDouble) -> Ptr (CppVec (Ptr (CppVec CDouble))) -> Ptr (CppVec CDouble) -> IO ()
-{-|
->[INTERNAL]  Obtain
->collocation interpolating matrices.
->
->Parameters:
->-----------
->
->tau_root:  location of collocation points, as obtained from
->collocationPoints
->
->C:  interpolating coefficients to obtain derivatives Length: order+1, order
->+ 1
->
->dX/dt (j) ~ Sum_i C[j][i]*X(i)
->
->Parameters:
->-----------
->
->D:  interpolating coefficients to obtain end state Length: order+1
--}
-collocationInterpolators
-  :: Vector Double -> Vector (Vector Double) -> Vector Double -> IO ()
-collocationInterpolators x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__collocationInterpolators x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__explicitRK" c_CasADi__explicitRK
-  :: Ptr Function' -> Ptr MX' -> CInt -> CInt -> IO (Ptr Function')
-{-|
->Construct an explicit Runge-Kutta integrator.
->
->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:
->-----------
->
->tf:  Integration end time
->
->order:  Order of integration
->
->ne:  Number of times the RK primitive is repeated over the integration
->interval
--}
-explicitRK
-  :: Function -> MX -> Int -> Int -> IO Function
-explicitRK x0 x1 x2 x3 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  withMarshal x3 $ \x3' ->
-  c_CasADi__explicitRK x0' x1' x2' x3' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__explicitRK_TIC" c_CasADi__explicitRK_TIC
-  :: Ptr Function' -> Ptr MX' -> CInt -> IO (Ptr Function')
-explicitRK'
-  :: Function -> MX -> Int -> IO Function
-explicitRK' x0 x1 x2 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  withMarshal x2 $ \x2' ->
-  c_CasADi__explicitRK_TIC x0' x1' x2' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__explicitRK_TIC_TIC" c_CasADi__explicitRK_TIC_TIC
-  :: Ptr Function' -> Ptr MX' -> IO (Ptr Function')
-explicitRK''
-  :: Function -> MX -> IO Function
-explicitRK'' x0 x1 =
-  withMarshal x0 $ \x0' ->
-  withMarshal x1 $ \x1' ->
-  c_CasADi__explicitRK_TIC_TIC x0' x1' >>= wrapReturn
-
-foreign import ccall unsafe "CasADi__explicitRK_TIC_TIC_TIC" c_CasADi__explicitRK_TIC_TIC_TIC
-  :: Ptr Function' -> IO (Ptr Function')
-explicitRK'''
-  :: Function -> IO Function
-explicitRK''' x0 =
-  withMarshal x0 $ \x0' ->
-  c_CasADi__explicitRK_TIC_TIC_TIC x0' >>= wrapReturn
-
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -10,7 +10,7 @@
 the terms and conditions of version 3 of the GNU General Public
 License, supplemented by the additional permissions listed below.
 
-  0. Additional Definitions. 
+  0. Additional Definitions.
 
   As used herein, "this License" refers to version 3 of the GNU Lesser
 General Public License, and the "GNU GPL" refers to version 3 of the GNU
@@ -111,7 +111,7 @@
        a copy of the Library already present on the user's computer
        system, and (b) will operate properly with a modified version
        of the Library that is interface-compatible with the Linked
-       Version. 
+       Version.
 
    e) Provide Installation Information, but only if you would otherwise
    be required to provide such information under section 6 of the
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,2 +1,2 @@
 import Distribution.Simple
-main = defaultMainWithHooks simpleUserHooks
+main = defaultMain
diff --git a/casadi-bindings.cabal b/casadi-bindings.cabal
--- a/casadi-bindings.cabal
+++ b/casadi-bindings.cabal
@@ -1,217 +1,61 @@
 name:                casadi-bindings
-version:             1.9.0.0
-license:             LGPL-3
-license-file:        LICENSE
-copyright:           (c) 2013-2014 Greg Horn
-author:              Greg Horn
-maintainer:          gregmainland@gmail.com
-build-type:          Simple
-cabal-version:       >=1.10
+version:             1.9.0.1
 synopsis:            low level bindings to CasADi
+category:            Numerical, Math
 description:
-    Debian/Ubuntu instructions
+    Haskell bindings to the CasADi algorithmic differentiation and optimal control library.
+    Version numbers correspond to the C++ library version numbers except the very last number
+    which may indicate breaking changes.
     .
-    Version numbers correspond to the C++ library version numbers except the very last number which may indicate breaking changes.
+    This is a metapackage which also hosts the installation instructions. The purpose is that
+    users of the library will always be able to "cabal install casadi-bindings" and have things
+    Just Work, though you may need to install additional add-on modules manually.
     .
-    This only works on Debian/Ubuntu at the moment (sorry).
+    The `casadi-bindings-internal` package is handwritten and provides some casadi memory management
+    wrappers and C++ standard type marsahalling.
     .
-    Install libcasadi from a .deb package here: https://github.com/casadi/casadi/releases, I use libcasadi-shared. (Get the version corresponding to the current casadi-bindings version, for example casadi-bindings-1.9.0.0 is libcasadi 1.9.0)
+    The rest of the modules like `casadi-bindings-core`, `casadi-bindings-ipopt-interface`, etc
+    are autogenerated from casadi's swig interface and correspond exactly to the casadi C++ API.
     .
-    Then,
-    - `cabal update; cabal install casadi-bindings`
+    For high-level bindings, see my `https://github.com/ghorn/dynobud` project
     .
-    Temporary note: there is something wrong with casadi and ipopt related to http://list.coin-or.org/pipermail/ipopt/2014-April/003670.html, and https://github.com/casadi/casadi/issues/1075. At the moment this .cabal package works for me as is, but YMMV
-
-
+    The current instructions for getting started on Debian/Ubuntu:
+    .
+    Install libcasadi-shared from https://github.com/casadi/casadi/releases/latest,
+    first download it from that website, then:
+    .
+    >> dpkg -i libcasadi-shared.deb
+    .
+    >> cabal update; cabal install casadi-bindings
+    .
+    to install the ipopt interface:
+    .
+    >> apt-get install coinor-libipopt-dev
+    .
+    >> cabal install casadi-bindings-ipopt-interface
+    .
+    Temporary note: there is something wrong with casadi and ipopt related
+    to http://list.coin-or.org/pipermail/ipopt/2014-April/003670.html,
+    and https://github.com/casadi/casadi/issues/1075.
+    At the moment this .cabal package works for me as is, but YMMV
+    .
+    I only officially support debian/ubuntu right now, but I have gotten it working on OSX
+    in the past. Everything is done with pkg-config and LD_LIBRARY_PATH, so there's no reason
+    I know that there should be problems.
 
-extra-source-files:  cbits/marshal.hpp
-extra-tmp-files:     Casadi/Callback_stub.h
+homepage:            http://github.com/ghorn/casadi-bindings
+license:             LGPL-3
+license-file:        LICENSE
+author:              Greg Horn
+maintainer:          gregmainland@gmail.com
+copyright:           (c) Greg Horn 2013-2014
+build-type:          Simple
+cabal-version:       >=1.10
 
 library
-  build-depends:       base >=4.6 && <5, vector >=0.10
-
+  build-depends:       casadi-bindings-internal == 0.1,
+                       casadi-bindings-core     == 1.9.0.1
   default-language:    Haskell2010
-
-  Include-dirs:   /usr/include/casadi
-                  /usr/share/casadi
---  Include-dirs:   /home/ghorn/casadi
---                  /home/ghorn/casadi/build/swig
-
-  extra-lib-dirs:   /usr/lib
---  extra-lib-dirs:   /home/ghorn/casadi/build/lib
---  Extra-lib-dirs:  /home/ghorn/snopt7/install_here_pls/lib
-
---  extra-libraries:
---                    casadi_ipopt_interface
---                    ipopt
---                    dl
---                    coinmumps
---                    pthread
---                    coinlapack
---                    coinmetis
---                    coinblas
---                    gfortran
---                    m
---                    gcc_s
---                    quadmath
---                    casadi_sundials_interface
---                    casadi_sundials
---                    casadi_csparse_interface
---                    casadi_csparse
---                    casadi_optimal_control
---                    casadi_control
---                    casadi_tinyxml
---                    casadi_integration
---                    casadi_convex_programming
---                    casadi_nonlinear_programming
---                    casadi
---                    dl
---                    /usr/lib/x86_64-linux-gnu/librt.so
-
-  extra-libraries:  stdc++
---                    gfortran
---                    casadi_snopt_interface
---                    snopt_fortran_c_bridge
---                    snopt7
---                    snprint7
---                    snblas
-                    casadi_ipopt_interface
-                    casadi_sundials_interface
-                    casadi_sundials
---                    casadi_qpoases_interface
---                    casadi_qpoases
---                    casadi_dsdp_interface
---                    casadi_dsdp
-                    casadi_csparse_interface
-                    casadi_csparse
---                    casadi_lapack_interface
-                    casadi_optimal_control
-                    casadi_control
-                    casadi_tinyxml
-                    casadi_integration
-                    casadi_convex_programming
-                    casadi_nonlinear_programming
-                    casadi
-                    dl
-
-  pkgconfig-depends: ipopt
-
-  ghc-prof-options: -O2 -prof -fprof-auto -fprof-cafs -rtsopts
-  ghc-options: -O2
-  cc-options: -Wall -Wno-delete-non-virtual-dtor
-
-  C-sources:        cbits/hs_tools.cpp
-                    cbits/callback.cpp
-                    cbits/autogen/all.cpp
-
-  other-modules:       Casadi.Marshal
-                       Casadi.MarshalTypes
-                       Casadi.WrapReturn
-                       Casadi.CppHelpers
-                       Casadi.Wrappers.CToolsImports
-                       Casadi.Wrappers.CToolsInstances
-                       Casadi.Wrappers.Data
-
-  exposed-modules:     Casadi.Callback
-                       Casadi.Wrappers.Tools
-                       Casadi.Wrappers.Enums
-
-                       Casadi.Wrappers.Classes.SXFunction
-                       Casadi.Wrappers.Classes.RKIntegrator
-                       Casadi.Wrappers.Classes.SQPMethod
-                       Casadi.Wrappers.Classes.SharedObject
-                       Casadi.Wrappers.Classes.MXFunction
-                       Casadi.Wrappers.Classes.HomotopyNLPSolver
-                       Casadi.Wrappers.Classes.StabilizedQPSolver
-                       Casadi.Wrappers.Classes.SymbolicNLP
-                       Casadi.Wrappers.Classes.CSparse
-                       Casadi.Wrappers.Classes.PrintableObject
-                       Casadi.Wrappers.Classes.ExpDMatrix
-                       Casadi.Wrappers.Classes.QCQPSolver
-                       Casadi.Wrappers.Classes.NLPSolver
-                       Casadi.Wrappers.Classes.GenericType
-                       Casadi.Wrappers.Classes.NLPQPSolver
-                       Casadi.Wrappers.Classes.Variable
-                       Casadi.Wrappers.Classes.LPStructure
-                       Casadi.Wrappers.Classes.ImplicitFixedStepIntegrator
-                       Casadi.Wrappers.Classes.CSparseCholesky
-                       Casadi.Wrappers.Classes.SDPSOCPSolver
-                       Casadi.Wrappers.Classes.OptionsFunctionality
-                       Casadi.Wrappers.Classes.OldCollocationIntegrator
-                       Casadi.Wrappers.Classes.FixedStepIntegrator
-                       Casadi.Wrappers.Classes.CollocationIntegrator
-                       Casadi.Wrappers.Classes.GenSX
-                       Casadi.Wrappers.Classes.IpoptSolver
-                       Casadi.Wrappers.Classes.DMatrix
---                       Casadi.Wrappers.Classes.QPOasesSolver
-                       Casadi.Wrappers.Classes.Sparsity
-                       Casadi.Wrappers.Classes.ExpMX
-                       Casadi.Wrappers.Classes.MX
-                       Casadi.Wrappers.Classes.QCQPStructure
-                       Casadi.Wrappers.Classes.DpleSolver
-                       Casadi.Wrappers.Classes.SDQPSolver
-                       Casadi.Wrappers.Classes.QPLPSolver
-                       Casadi.Wrappers.Classes.SDPSDQPSolver
---                       Casadi.Wrappers.Classes.DSDPSolver
-                       Casadi.Wrappers.Classes.SDPSolver
-                       Casadi.Wrappers.Classes.CasadiOptions
-                       Casadi.Wrappers.Classes.Slice
-                       Casadi.Wrappers.Classes.CustomEvaluate
-                       Casadi.Wrappers.Classes.GenMX
-                       Casadi.Wrappers.Classes.ControlSimulator
---                       Casadi.Wrappers.Classes.LapackQRDense
-                       Casadi.Wrappers.Classes.IMatrix
-                       Casadi.Wrappers.Classes.SXElement
-                       Casadi.Wrappers.Classes.SCPgen
-                       Casadi.Wrappers.Classes.NLPImplicitSolver
-                       Casadi.Wrappers.Classes.ExternalFunction
-                       Casadi.Wrappers.Classes.SimpleIndefDpleSolver
-                       Casadi.Wrappers.Classes.DirectCollocation
-                       Casadi.Wrappers.Classes.QPStabilizer
-                       Casadi.Wrappers.Classes.GenIMatrix
-                       Casadi.Wrappers.Classes.Callback
-                       Casadi.Wrappers.Classes.SOCPQCQPSolver
-                       Casadi.Wrappers.Classes.QCQPQPSolver
-                       Casadi.Wrappers.Classes.ExpSX
-                       Casadi.Wrappers.Classes.Integrator
-                       Casadi.Wrappers.Classes.WeakRef
-                       Casadi.Wrappers.Classes.Simulator
-                       Casadi.Wrappers.Classes.Parallelizer
-                       Casadi.Wrappers.Classes.SimpleHomotopyNLPSolver
-                       Casadi.Wrappers.Classes.SundialsIntegrator
-                       Casadi.Wrappers.Classes.QPSolver
-                       Casadi.Wrappers.Classes.Nullspace
-                       Casadi.Wrappers.Classes.IdasIntegrator
-                       Casadi.Wrappers.Classes.ExpSXElement
-                       Casadi.Wrappers.Classes.NewtonImplicitSolver
---                       Casadi.Wrappers.Classes.SnoptSolver
-                       Casadi.Wrappers.Classes.KinsolSolver
-                       Casadi.Wrappers.Classes.QPStructure
-                       Casadi.Wrappers.Classes.CasadiMeta
-                       Casadi.Wrappers.Classes.SymbolicQR
-                       Casadi.Wrappers.Classes.DirectSingleShooting
-                       Casadi.Wrappers.Classes.SX
-                       Casadi.Wrappers.Classes.DirectMultipleShooting
-                       Casadi.Wrappers.Classes.IOInterfaceFunction
-                       Casadi.Wrappers.Classes.SDQPStructure
-                       Casadi.Wrappers.Classes.SDPStructure
-                       Casadi.Wrappers.Classes.GenDMatrix
-                       Casadi.Wrappers.Classes.ExpIMatrix
-                       Casadi.Wrappers.Classes.CustomFunction
-                       Casadi.Wrappers.Classes.LPSolver
-                       Casadi.Wrappers.Classes.OCPSolver
-                       Casadi.Wrappers.Classes.LinearSolver
-                       Casadi.Wrappers.Classes.SymbolicOCP
-                       Casadi.Wrappers.Classes.Function
---                       Casadi.Wrappers.Classes.LapackLUDense
-                       Casadi.Wrappers.Classes.SOCPSolver
-                       Casadi.Wrappers.Classes.DerivativeGenerator
-                       Casadi.Wrappers.Classes.SOCPStructure
-                       Casadi.Wrappers.Classes.ImplicitFunction
-                       Casadi.Wrappers.Classes.CVodesIntegrator
-                       Casadi.Wrappers.Classes.IndexList
-                       Casadi.Wrappers.Classes.StabilizedSQPMethod
-                       Casadi.Wrappers.Classes.IOScheme
 
 source-repository head
   type: git
diff --git a/cbits/autogen/all.cpp b/cbits/autogen/all.cpp
deleted file mode 100644
# file too large to diff: cbits/autogen/all.cpp
diff --git a/cbits/callback.cpp b/cbits/callback.cpp
deleted file mode 100644
--- a/cbits/callback.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#include <iostream>
-#include <symbolic/casadi.hpp>
-#include "symbolic/function/custom_function.hpp"
-#include "symbolic/functor_internal.hpp"
-
-#include "HsFFI.h"
-
-using namespace std;
-using namespace CasADi;
-
-extern "C" {
-typedef int (*hs_callback_t)(Function &f);
-}
-
-namespace CasADi {
-  class FunctorHaskellInternal {
-    public:
-      FunctorHaskellInternal(hs_callback_t hscb)
-      {
-          hs_callback = hscb;
-      }
-      ~FunctorHaskellInternal() {
-          // free the haskell FunPtr
-          hs_free_fun_ptr(HsFunPtr(hs_callback));
-      }
-    protected:
-      hs_callback_t hs_callback;
-  };
-
-  class CallbackHaskellInternal : public CallbackInternal, FunctorHaskellInternal {
-    friend class CallbackHaskell;
-
-      CallbackHaskellInternal(hs_callback_t hscb) : FunctorHaskellInternal(hscb) {}
-    virtual int call(Function& fcn, void* user_data);
-    virtual CallbackHaskellInternal* clone() const { return new CallbackHaskellInternal(hs_callback); }
-  };
-
-  class CallbackHaskell : public Callback {
-    public:
-      CallbackHaskell(hs_callback_t hscb) { assignNode(new CallbackHaskellInternal(hscb)); }
-  };
-
-  int CallbackHaskellInternal::call(Function& fcn, void* user_data) {
-      return hs_callback(fcn);
-  }
-}
-
-extern "C" CallbackHaskell * new_callback_haskell(hs_callback_t hs_callback);
-CallbackHaskell * new_callback_haskell(hs_callback_t hs_callback){
-    return new CallbackHaskell(hs_callback);
-}
-
-extern "C" void delete_callback_haskell(CasADi::CallbackHaskell* obj);
-void delete_callback_haskell(CasADi::CallbackHaskell* obj){
-    delete obj;
-}
diff --git a/cbits/hs_tools.cpp b/cbits/hs_tools.cpp
deleted file mode 100644
--- a/cbits/hs_tools.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-#include <iostream>
-#include <vector>
-#include "string.h"
-
-using namespace std;
-
-///////////// scalars /////////////
-// string
-extern "C" int hs_length_string(string * str);
-int hs_length_string(string * str){
-    return str->length();
-}
-extern "C" void hs_copy_string(string * str, char outputs[]);
-void hs_copy_string(string * str, char outputs[]){
-    strcpy(outputs, str->c_str());
-}
-extern "C" string * hs_new_string(char x[]);
-string * hs_new_string(char x[]){
-    return new string(x);
-}
-extern "C" void hs_delete_string(string * x);
-void hs_delete_string(string * x){
-    delete x;
-}
-
-
-////////////////////////// copying vectors to arrays /////////////////////
-template <typename T>
-void hs_copy_vec_T(vector<T> * vec, T outputs[]){
-    memcpy(outputs, &((*vec)[0]), vec->size()*sizeof(T));
-}
-
-//////////////////////    CREATING VECTORS FROM ARRAYS ///////////////////////////////////
-// 1-dimensional
-template <typename T>
-vector<T> * hs_new_vec_T(T inputs[], int length){
-    vector<T> vec;
-    for (int k=0; k<length; k++)
-        vec.push_back(inputs[k]);
-    return new vector<T>(vec);
-}
-
-////////////////////////////////////////////////////////////////////////////////////////////
-#define WRITE_STUFF(name, type) \
-    extern "C" vector<type>* hs_new_vec_##name( type inputs[], int length); \
-    vector<type>* hs_new_vec_##name( type inputs[], int length){return hs_new_vec_T(inputs, length);} \
-    extern "C" void hs_delete_vec_##name(vector<type> * vec); \
-    void hs_delete_vec_##name(vector<type> * vec){ delete vec; } \
-    extern "C" void hs_copy_vec_##name(vector<type> * vec, type outputs[]); \
-    void hs_copy_vec_##name(vector<type> * vec, type outputs[]){hs_copy_vec_T(vec, outputs);} \
-    extern "C" int hs_size_vec_##name(vector<type> * vec); \
-    int hs_size_vec_##name(vector<type> * vec){ return vec->size(); }
-
-WRITE_STUFF(int,int)
-WRITE_STUFF(voidp, void*)
-WRITE_STUFF(uchar, unsigned char)
-WRITE_STUFF(double, double)
diff --git a/cbits/marshal.hpp b/cbits/marshal.hpp
deleted file mode 100644
--- a/cbits/marshal.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef __MARSHAL_THEM_BINDINGS_H__
-#define __MARSHAL_THEM_BINDINGS_H__
-
-#include <iostream>
-
-template<class T1, class T2>
-class Marshaling {
-public:
-    static T1 marshal(T2 x){ return x; }
-};
-
-template<class T>
-class Marshaling< T, T* > {
-public:
-    static T marshal(T* x){ return *x; }
-};
-
-template<class T>
-class Marshaling< T&, T* > {
-public:
-    static T& marshal(T* x){ return *x; }
-};
-
-template<class T>
-class Marshaling< T const &, T* > {
-public:
-    static T const & marshal(T* x){ return *x; }
-};
-
-template<class T1, class T2>
-class Marshaling< std::vector< T1 >, std::vector< T2 > > {
-  public:
-  static std::vector< T1 > marshal(const std::vector< T2 > inputs){
-    std::vector< T1 > vec;
-    for (unsigned int k=0; k<inputs.size(); k++){
-        vec.push_back( Marshaling< T1, T2 >::marshal(inputs[k]) );
-    }
-    return vec;
-  }
-};
-
-
-template<class T1, class T2>
-class Marshaling< T1, T2* > {
-  public:
-  static T1 marshal(T2* x){
-      return Marshaling<T1, T2>::marshal( *x );
-  }
-};
-
-
-/* ---------------------------------------------------------- */
-/* call "new" on a bunch of stuff  */
-template<class T1, class T2>
-class WrapReturn {
- public:
-    static T1 wrapReturn(T2 x){ return x; }
-};
-
-template<class T1, class T2>
-class WrapReturn< std::vector< T1 >, std::vector< T2 > > {
-  public:
-  static std::vector< T1 > wrapReturn(std::vector< T2 > inputs){
-    std::vector< T1 > vec;
-    for (unsigned int k=0; k<inputs.size(); k++){
-        vec.push_back( WrapReturn< T1, T2 >::wrapReturn(inputs[k]) );
-    }
-    return vec;
-  }
-};
-
-template<class T1, class T2>
-class WrapReturn< T1*, T2 > {
-  public:
-  static T1* wrapReturn(T2 x){
-      return new T1( WrapReturn<T1,T2>::wrapReturn(x) );
-  }
-};
-
-
-// some examples:
-
-//#include <vector>
-//#include <string>
-//class A{};
-//
-//void testWrapReturn(){
-//    // make a bunch of dummy inputs
-//    A a = A();
-//    std::vector< A > v_a = std::vector< A >();
-//    std::vector< A > const v_c_a = std::vector< A >();
-//    std::vector< std::vector< A > > v_v_a = std::vector< std::vector< A > >();
-//    std::vector< std::vector< int > > v_v_int = std::vector< std::vector< int > >();
-//    //std::vector< A >* pv_a = new std::vector< A >();
-//    //std::vector< A* > v_pa = std::vector< A* >();
-//    //std::vector< std::vector< A* >* >* pv_pv_pa = new std::vector< std::vector< A* >* >();
-//
-//    // try to use wrapReturn on the dummy inputs
-//    A* o0 __attribute__((unused)) = WrapReturn< A*, A>::wrapReturn(a);
-//
-//
-//    std::vector< A* >* o4 __attribute__((unused)) =
-//        WrapReturn< std::vector< A* >*, std::vector< A > >::wrapReturn(v_a);
-//
-//    std::vector< A* >* o7 __attribute__((unused)) =
-//        WrapReturn< std::vector< A* >*, std::vector< A > >::wrapReturn(v_c_a);
-//
-//
-//    std::vector< std::vector< A* >* >* o5 __attribute__((unused)) =
-//        WrapReturn< std::vector< std::vector< A* >* >*,
-//                    std::vector< std::vector< A > >
-//                    >::wrapReturn(v_v_a);
-//
-//
-//    std::vector< std::vector< int >* >* o6 __attribute__((unused)) =
-//        WrapReturn< std::vector< std::vector< int >* >*,
-//                    std::vector< std::vector< int > >
-//                    >::wrapReturn(v_v_int);
-//    //std::vector< A > o5 = WrapReturn< std::vector< A >, std::vector< A* > >::wrapReturn(v_pa);
-//    //
-//    //std::vector< A > o6 = WrapReturn< std::vector< A >, std::vector< A* >* >::wrapReturn(pv_pa);
-//    //std::vector< std::vector< A > > o7 =
-//    //    WrapReturn< std::vector< std::vector< A > >,
-//    //                std::vector< std::vector< A* >* >*
-//    //                >::wrapReturn(pv_pv_pa);
-//}
-//
-//void testMarshal(){
-//    // make a bunch of dummy inputs
-//    A* pa = new A();
-//    std::vector< A* >* pv_pa = new std::vector< A* >();
-//    std::vector< A >* pv_a = new std::vector< A >();
-//    std::vector< A* > v_pa = std::vector< A* >();
-//    std::vector< std::vector< A* >* >* pv_pv_pa = new std::vector< std::vector< A* >* >();
-//
-//    // try to use marshal on the dummy inputs
-//    A o0 __attribute__((unused)) = Marshaling< A, A*>::marshal(pa);
-//    A& o1 __attribute__((unused)) = Marshaling< A&, A*>::marshal(pa);
-//    A const & o2 __attribute__((unused)) = Marshaling< A const &, A*>::marshal(pa);
-//
-//    std::vector< A > o3 = Marshaling< std::vector< A >, std::vector< A >* >::marshal(pv_a);
-//    std::vector< A* > o4 = Marshaling< std::vector< A* >, std::vector< A* >* >::marshal(pv_pa);
-//    std::vector< A > o5 = Marshaling< std::vector< A >, std::vector< A* > >::marshal(v_pa);
-//
-//    std::vector< A > o6 = Marshaling< std::vector< A >, std::vector< A* >* >::marshal(pv_pa);
-//    std::vector< std::vector< A > > o7 =
-//        Marshaling< std::vector< std::vector< A > >,
-//                    std::vector< std::vector< A* >* >*
-//                    >::marshal(pv_pv_pa);
-//}
-
-
-//
-//
-//using namespace CasADi;
-//using namespace std;
-//
-//// test program
-//int main(){
-//    string name = string("x");
-//    cout << "calling ssym\n";
-//    Matrix< SX >* x = CasADi__ssym_TIC(&name, 1);
-//    cout << "ssym results: " << *x << "\n\n";
-//
-//    cout << "calling .data()\n";
-//    vector< SX* >* vecsx =
-//        CasADi__Matrix_CasADi__SX___data(x);
-//    cout << "data results: " << *vecsx << "\n";
-//    cout << "data results: " << *((*vecsx)[0]) << "\n";
-//    cout << "size of data: " << vecsx->size() << "\n\n";
-//
-//    cout << "calling SXMatrix(vector<SX*>)\n";
-//    Matrix< SX >* sxmat =
-//        CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC( vecsx );
-//    cout << "calling SXMatrix.getDescription()\n";
-//    cout << sxmat->getDescription() << "\n";
-//    cout << "\n\n===== horray =====\n";
-//    return 0;
-//}
-
-
-#endif // __MARSHAL_THEM_BINDINGS_H__
