diff --git a/Casadi/Callback.hs b/Casadi/Callback.hs
--- a/Casadi/Callback.hs
+++ b/Casadi/Callback.hs
@@ -1,5 +1,4 @@
 {-# OPTIONS_GHC -Wall #-}
-{-# Language ForeignFunctionInterface #-}
 
 module Casadi.Callback ( makeCallback
                        , fxSolveSafe
@@ -8,11 +7,11 @@
 
 import Foreign.C.Types
 import Foreign.Ptr ( Ptr, FunPtr )
-import Foreign.ForeignPtr ( newForeignPtr, newForeignPtr_ )
+import Foreign.ForeignPtr ( newForeignPtr_ )
 
-import Casadi.Wrappers.ForeignToolsInstances ( )
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
-import Casadi.Marshal ( Marshal(..) )
+import Casadi.Marshal ( withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 -- direct wrapper to a safe version of "solve"
@@ -34,9 +33,6 @@
 foreign import ccall safe "new_callback_haskell" c_newCallbackHaskell
   :: FunPtr CasadiCallback' -> IO (Ptr Callback')
 
-foreign import ccall safe "&delete_callback_haskell" c_deleteCallbackHaskell
-  :: FunPtr (Ptr Callback' -> IO ())
-
 -- | add a callback to an NLPSolver
 makeCallback :: (FX -> IO CInt) -> IO Callback
 makeCallback callback = do
@@ -50,4 +46,4 @@
   callbackFunPtr <- mkCallback callback' :: IO (FunPtr CasadiCallback')
 
   -- create the callback object
-  c_newCallbackHaskell callbackFunPtr >>= (newForeignPtr c_deleteCallbackHaskell) >>= wrapReturn
+  c_newCallbackHaskell callbackFunPtr >>= wrapReturn
diff --git a/Casadi/CppHelpers.hs b/Casadi/CppHelpers.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/CppHelpers.hs
@@ -0,0 +1,41 @@
+{-# 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
--- a/Casadi/Marshal.hs
+++ b/Casadi/Marshal.hs
@@ -1,29 +1,41 @@
 {-# OPTIONS_GHC -Wall #-}
+{-# Language ScopedTypeVariables #-}
 {-# Language MultiParamTypeClasses #-}
-{-# Language TypeSynonymInstances #-}
 {-# Language FlexibleInstances #-}
 {-# Language FlexibleContexts #-}
 
 module Casadi.Marshal ( Marshal(..)
+                      , withMarshal
+                      , newStorableVec
                       , HsToC(..)
-                      , CornerCase(..)
                       , withMarshalStorableVec
-                      , withMarshalStorableVecVec
                       ) 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 ( withArray, withArrayLen )
+import Foreign.Marshal ( withArrayLen )
 import Foreign.Storable ( Storable )
 
-import Casadi.Wrappers.ForeignToolsImports
-import Casadi.MarshalTypes
+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
-  withMarshal :: a -> (b -> IO c) -> IO c
+  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
@@ -31,8 +43,8 @@
 instance HsToC Int CLong where
   hsToC = fromIntegral
 instance HsToC Bool CInt where
-  hsToC True = 1
   hsToC False = 0
+  hsToC True = 1
 instance HsToC Double CDouble where
   hsToC = realToFrac
 instance HsToC CUChar CUChar where
@@ -41,75 +53,49 @@
   hsToC = id
 
 instance Marshal Int CInt where
-  withMarshal x f = f (hsToC x)
+  marshal = return . hsToC
 instance Marshal Int CLong where
-  withMarshal x f = f (hsToC x)
+  marshal = return . hsToC
 instance Marshal Bool CInt where
-  withMarshal x f = f (hsToC x)
+  marshal = return . hsToC
 instance Marshal Double CDouble where
-  withMarshal x f = f (hsToC x)
+  marshal = return . hsToC
 instance Marshal CUChar CUChar where
-  withMarshal x f = f (hsToC x)
+  marshal = return . hsToC
 instance Marshal CSize CSize where
-  withMarshal x f = f (hsToC x)
-
-foreign import ccall unsafe "hs_new_bool" c_newBool
-  :: CInt -> IO (Ptr CppBool')
-foreign import ccall unsafe "hs_delete_bool" c_deleteBool
-  :: Ptr CppBool' -> IO ()
-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 ()
-
-instance Marshal Bool (Ptr CppBool') where
-  withMarshal x f = do
-    boolPtr <- c_newBool (hsToC x)
-    ret <- f boolPtr
-    c_deleteBool boolPtr
-    return ret
-
-instance Marshal String (Ptr CChar) where
-  withMarshal = withCString
+  marshal = return . hsToC
 
 instance Marshal String (Ptr StdString') where
-  withMarshal str f = do
-    stdStr <- newStdString str
-    ret <- f stdStr
-    c_deleteStdString stdStr
-    return ret
+  marshal str = newStdString str
+  marshalFree _ stdStr = c_deleteStdString stdStr
 
 newStdString :: String -> IO (Ptr StdString')
 newStdString x = withCString x $ \cstring -> c_newStdString cstring
 
-newtype CornerCase a = CornerCase a
+--instance Marshal String (Ptr CChar) where
+--  withMarshal = withCString
 
-instance Marshal (CornerCase (V.Vector String)) (Ptr (CppVec (Ptr StdString'))) where
-  withMarshal (CornerCase strs) f = do
-    stdStrs <- V.mapM newStdString strs
-    ret <- withMarshalStorableVec c_newVecVoidP c_deleteVecVoidP stdStrs f
-    V.mapM_ c_deleteStdString stdStrs
-    return ret
-      
-instance Marshal (CornerCase (V.Vector Bool)) (Ptr (CppVec (Ptr CppBool'))) where
-  withMarshal (CornerCase bools) f = do
-    stdBools <- V.mapM (c_newBool . hsToC) bools
-    ret <- withMarshalStorableVec c_newVecVoidP c_deleteVecVoidP stdBools f
-    V.mapM_ c_deleteBool stdBools
-    return ret
-      
-instance ForeignPtrWrapper a b => Marshal (V.Vector a) (Ptr (CppVec (Ptr b))) where
-  withMarshal vec f =
-    let foreignPtrList = map unwrapForeignPtr (V.toList vec)
-    in withForeignPtrs foreignPtrList $ \ptrList ->
-         withMarshalStorableVec c_newVecVoidP c_deleteVecVoidP (V.fromList ptrList) f
 
-instance ForeignPtrWrapper a b => Marshal (V.Vector (V.Vector a)) (Ptr (CppVecVec (Ptr b))) where
-  withMarshal vecVec f =
-    let foreignVecVec' = V.map (V.map unwrapForeignPtr) vecVec
-    in withForeignPtrsVV foreignVecVec' $ \vecVec' ->
-         withMarshalStorableVecVec c_newVecVecVoidP c_deleteVecVecVoidP vecVec' f
 
+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))) ->
@@ -120,21 +106,4 @@
     newVec array (fromIntegral num)
   ret <- f ptrCppVec
   deleteVec ptrCppVec
-  return ret
-
-withMarshalStorableVecVec ::
-  Storable a =>
-  (Ptr a -> CInt -> Ptr CInt -> IO (Ptr (CppVecVec a))) ->
-  (Ptr (CppVecVec a) -> IO ()) ->
-  V.Vector (V.Vector a) -> (Ptr (CppVecVec a) -> IO b) -> IO b
-withMarshalStorableVecVec newVecVec deleteVecVec vecVec f = do
-  let vecList = V.toList vecVec
-      flatList = concatMap V.toList vecList
-      innerLengths = map (fromIntegral . V.length) vecList
-      outerLength = length innerLengths
-  ptrCppVecVec <- withArray flatList $ \flatArray ->
-    withArray innerLengths $ \innerLengthsArray ->
-      newVecVec flatArray (fromIntegral outerLength) innerLengthsArray
-  ret <- f ptrCppVecVec
-  deleteVecVec ptrCppVecVec
   return ret
diff --git a/Casadi/MarshalTypes.hs b/Casadi/MarshalTypes.hs
--- a/Casadi/MarshalTypes.hs
+++ b/Casadi/MarshalTypes.hs
@@ -1,42 +1,10 @@
 {-# OPTIONS_GHC -Wall #-}
-{-# Language MultiParamTypeClasses #-}
-{-# Language FunctionalDependencies #-}
 
-module Casadi.MarshalTypes ( ForeignPtrWrapper(..)
-                           , CppVec
-                           , CppVecVec
-                           , CppVecVecVec
+module Casadi.MarshalTypes ( CppVec
                            , StdString'
                            , StdOstream'
-                           , CppBool'
-                           , withForeignPtrs
-                           , withForeignPtrsVV
                            ) where
 
-import qualified Data.Vector as V
-import Foreign.Ptr ( Ptr )
-import Foreign.ForeignPtr ( ForeignPtr, touchForeignPtr )
-import Foreign.ForeignPtr.Unsafe ( unsafeForeignPtrToPtr )
-
 data CppVec a
-data CppVecVec a
-data CppVecVecVec a
-
 data StdString'
 data StdOstream'
-data CppBool'
-
-class ForeignPtrWrapper a b | a -> b, b -> a where
-  unwrapForeignPtr :: a -> ForeignPtr b
-
-withForeignPtrs :: [ForeignPtr a] -> ([Ptr a] -> IO b) -> IO b
-withForeignPtrs xs f = do
-  ret <- f (map unsafeForeignPtrToPtr xs)
-  mapM_ touchForeignPtr xs
-  return ret
-
-withForeignPtrsVV :: V.Vector (V.Vector (ForeignPtr a)) -> (V.Vector (V.Vector (Ptr a)) -> IO b) -> IO b
-withForeignPtrsVV vv f = do
-  ret <- f (V.map (V.map unsafeForeignPtrToPtr) vv)
-  V.mapM_ (V.mapM_ touchForeignPtr) vv
-  return ret
diff --git a/Casadi/WrapReturn.hs b/Casadi/WrapReturn.hs
--- a/Casadi/WrapReturn.hs
+++ b/Casadi/WrapReturn.hs
@@ -1,24 +1,24 @@
 {-# OPTIONS_GHC -Wall #-}
-{-# Language ForeignFunctionInterface #-}
 {-# Language MultiParamTypeClasses #-}
-{-# Language TypeSynonymInstances #-}
 {-# Language FlexibleInstances #-}
 {-# Language FlexibleContexts #-}
+{-# Language ScopedTypeVariables #-}
 
 module Casadi.WrapReturn ( WrapReturn(..)
                          ) where
 
-import Control.Monad ( zipWithM )
 import qualified Data.Vector as V
 import Foreign.C.Types
 import Foreign.C.String
 import Foreign.Ptr ( Ptr )
 import Foreign.Storable ( Storable )
-import Foreign.ForeignPtr ( ForeignPtr, newForeignPtr_, withForeignPtr )
-import Foreign.Marshal ( mallocArray, free, peekArray, withArray )
+import Foreign.Marshal ( mallocArray, free, peekArray )
 
-import Casadi.MarshalTypes
+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
@@ -29,106 +29,45 @@
   wrapReturn = return . realToFrac
 instance WrapReturn CLong Int where
   wrapReturn = return . fromIntegral
+instance WrapReturn CInt Bool where
+  wrapReturn 0 = return False
+  wrapReturn _ = return True
 
-foreign import ccall unsafe "hs_read_bool" c_readBool
-  :: Ptr CppBool' -> IO CInt
-instance WrapReturn (ForeignPtr CppBool') Bool where
-  wrapReturn boolPtr' = withForeignPtr boolPtr' $ \boolPtr -> do
-    ret <- c_readBool boolPtr
-    return $ case ret of 0 -> False
-                         _ -> True
-    
 
-foreign import ccall unsafe "hs_string_length" c_stringLength
-  :: Ptr StdString' -> IO CInt
-foreign import ccall unsafe "hs_string_copy" c_stringCopy
-  :: Ptr StdString' -> Ptr CChar -> IO ()
-instance WrapReturn (ForeignPtr StdString') String where
-  wrapReturn stdStr' = withForeignPtr stdStr' $ \stdStr -> do
-    len <- fmap fromIntegral $ c_stringLength stdStr
+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_stringCopy stdStr cstring
+    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) ->
-  ForeignPtr (CppVec a) -> IO (V.Vector b)
-wrapReturnVec vecSize vecCopy cToHs vecPtr' = withForeignPtr vecPtr' $ \vecPtr -> do
+  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)
 
-foreign import ccall unsafe "hs_vec_size_int" c_vecSizeCInt
-  :: Ptr (CppVec CInt) -> IO CInt
-foreign import ccall unsafe "hs_vec_copy_int" c_vecCopyCInt
-  :: Ptr (CppVec CInt) -> Ptr CInt -> IO ()
-foreign import ccall unsafe "hs_vec_size_double" c_vecSizeCDouble
-  :: Ptr (CppVec CDouble) -> IO CInt
-foreign import ccall unsafe "hs_vec_copy_double" c_vecCopyCDouble
-  :: Ptr (CppVec CDouble) -> Ptr CDouble -> IO ()
-
-instance WrapReturn (ForeignPtr (CppVec CInt)) (V.Vector Int) where
-  wrapReturn = wrapReturnVec c_vecSizeCInt c_vecCopyCInt (return . fromIntegral)
-
-instance WrapReturn (ForeignPtr (CppVec CDouble)) (V.Vector Double) where
-  wrapReturn = wrapReturnVec c_vecSizeCDouble c_vecCopyCDouble (return . realToFrac)
-
-foreign import ccall unsafe "hs_vec_size_voidp" c_vecSizeVoidP
-  :: Ptr (CppVec (Ptr a)) -> IO CInt
-foreign import ccall unsafe "hs_vec_copy_voidp" c_vecCopyVoidP
-  :: Ptr (CppVec (Ptr a)) -> Ptr (Ptr a) -> IO ()
-instance WrapReturn (ForeignPtr a) b =>
-         WrapReturn (ForeignPtr (CppVec (Ptr a))) (V.Vector b) where
-  wrapReturn = wrapReturnVec c_vecSizeVoidP c_vecCopyVoidP ((>>= wrapReturn) . newForeignPtr_)
-
-wrapReturnVecVec
-  :: Storable a =>
-     (Ptr (CppVecVec a) -> IO CInt) ->
-     (Ptr (CppVecVec a) -> Ptr CInt -> IO ()) ->
-     (Ptr (CppVecVec a) -> Ptr (Ptr a) -> IO ()) ->
-     (a -> IO b) ->
-     (ForeignPtr (CppVecVec a)) -> IO (V.Vector (V.Vector b))
-wrapReturnVecVec vecVecSize vecVecSizes vecVecCopy cToHs foreignVecPtr = withForeignPtr foreignVecPtr $ \vecPtr -> do
-  outerLength <- fmap fromIntegral $ vecVecSize vecPtr
-  innerLengthArray <- mallocArray outerLength
-  vecVecSizes vecPtr innerLengthArray
-  innerLengths <- fmap (map fromIntegral) $ peekArray outerLength innerLengthArray
-  free innerLengthArray
-
-  outputs <- mapM mallocArray innerLengths
-  withArray outputs $ \outputArray ->
-    vecVecCopy vecPtr outputArray
-  outputLists <- zipWithM peekArray innerLengths outputs
-  mapM_ free outputs
-  let f = fmap V.fromList . mapM cToHs
-  fmap V.fromList $ mapM f outputLists
-
-foreign import ccall unsafe "hs_vec_vec_size_voidp" c_vecVecSizeVoidP
-  :: Ptr (CppVecVec (Ptr a)) -> IO CInt
-foreign import ccall unsafe "hs_vec_vec_sizes_voidp" c_vecVecSizesVoidP
-  :: Ptr (CppVecVec (Ptr a)) -> Ptr CInt -> IO ()
-foreign import ccall unsafe "hs_vec_vec_copy_voidp" c_vecVecCopyVoidP
-  :: Ptr (CppVecVec (Ptr a)) -> Ptr (Ptr (Ptr a)) -> IO ()
-
-instance WrapReturn (ForeignPtr a) b => WrapReturn (ForeignPtr (CppVecVec (Ptr a))) (V.Vector (V.Vector b)) where
-  wrapReturn =
-    wrapReturnVecVec c_vecVecSizeVoidP c_vecVecSizesVoidP c_vecVecCopyVoidP
-    ((>>= wrapReturn) . newForeignPtr_)
-
-foreign import ccall unsafe "hs_vec_vec_size_int" c_vecVecSizeInt
-  :: Ptr (CppVecVec CInt) -> IO CInt
-foreign import ccall unsafe "hs_vec_vec_sizes_int" c_vecVecSizesInt
-  :: Ptr (CppVecVec CInt) -> Ptr CInt -> IO ()
-foreign import ccall unsafe "hs_vec_vec_copy_int" c_vecVecCopyInt
-  :: Ptr (CppVecVec CInt) -> Ptr (Ptr CInt) -> IO ()
+instance WrapReturn (Ptr (CppVec CInt)) (V.Vector Int) where
+  wrapReturn = wrapReturnVec c_sizeVecCInt c_copyVecCInt c_deleteVecCInt wrapReturn
 
-instance WrapReturn (ForeignPtr (CppVecVec CInt)) (V.Vector (V.Vector Int)) where
-  wrapReturn = wrapReturnVecVec c_vecVecSizeInt c_vecVecSizesInt c_vecVecCopyInt (return . fromIntegral)
+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
new file mode 100644
--- /dev/null
+++ b/Casadi/Wrappers/CToolsImports.hs
@@ -0,0 +1,49 @@
+{-# 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
new file mode 100644
--- /dev/null
+++ b/Casadi/Wrappers/CToolsInstances.hs
@@ -0,0 +1,43 @@
+{-# 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/CRSSparsity.hs b/Casadi/Wrappers/Classes/CRSSparsity.hs
--- a/Casadi/Wrappers/Classes/CRSSparsity.hs
+++ b/Casadi/Wrappers/Classes/CRSSparsity.hs
@@ -56,13 +56,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show CRSSparsity where
@@ -123,12 +121,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__CRSSparsity__empty" c_CasADi__CRSSparsity__empty
-  :: Ptr CRSSparsity' -> IO (Ptr CppBool')
+  :: Ptr CRSSparsity' -> IO CInt
 casADi__CRSSparsity__empty
   :: CRSSparsity -> IO Bool
 casADi__CRSSparsity__empty x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CRSSparsity__empty x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__CRSSparsity__empty x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -140,12 +138,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__CRSSparsity__null" c_CasADi__CRSSparsity__null
-  :: Ptr CRSSparsity' -> IO (Ptr CppBool')
+  :: Ptr CRSSparsity' -> IO CInt
 casADi__CRSSparsity__null
   :: CRSSparsity -> IO Bool
 casADi__CRSSparsity__null x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CRSSparsity__null x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__CRSSparsity__null x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -288,7 +286,7 @@
   :: CRSSparsity -> IO (Vector Int)
 casADi__CRSSparsity__colRef x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CRSSparsity__colRef x0' >>= (newForeignPtr c_delete_std__vector_int_) >>= wrapReturn
+  c_CasADi__CRSSparsity__colRef x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -305,7 +303,7 @@
   :: CRSSparsity -> IO (Vector Int)
 casADi__CRSSparsity__rowindRef x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CRSSparsity__rowindRef x0' >>= (newForeignPtr c_delete_std__vector_int_) >>= wrapReturn
+  c_CasADi__CRSSparsity__rowindRef x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -322,7 +320,7 @@
   :: CRSSparsity -> IO (Vector Int)
 casADi__CRSSparsity__getRow x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CRSSparsity__getRow x0' >>= (newForeignPtr c_delete_std__vector_int_) >>= wrapReturn
+  c_CasADi__CRSSparsity__getRow x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -377,7 +375,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__CRSSparsity__getNZ_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_std__vector_int_) >>= wrapReturn
+  c_CasADi__CRSSparsity__getNZ_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 crsSparsity_getNZ'' :: CRSSparsityClass a => a -> Vector Int -> Vector Int -> IO (Vector Int)
@@ -386,14 +384,14 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__CRSSparsity__hasNZ" c_CasADi__CRSSparsity__hasNZ
-  :: Ptr CRSSparsity' -> CInt -> CInt -> IO (Ptr CppBool')
+  :: Ptr CRSSparsity' -> CInt -> CInt -> IO CInt
 casADi__CRSSparsity__hasNZ
   :: CRSSparsity -> Int -> Int -> IO Bool
 casADi__CRSSparsity__hasNZ x0 x1 x2 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__CRSSparsity__hasNZ x0' x1' x2' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__CRSSparsity__hasNZ x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -425,13 +423,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__CRSSparsity__columnsSequential" c_CasADi__CRSSparsity__columnsSequential
-  :: Ptr CRSSparsity' -> Ptr CppBool' -> IO (Ptr CppBool')
+  :: Ptr CRSSparsity' -> CInt -> IO CInt
 casADi__CRSSparsity__columnsSequential
   :: CRSSparsity -> Bool -> IO Bool
 casADi__CRSSparsity__columnsSequential x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__CRSSparsity__columnsSequential x0' x1' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__CRSSparsity__columnsSequential x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -444,13 +442,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__CRSSparsity__getElements" c_CasADi__CRSSparsity__getElements
-  :: Ptr CRSSparsity' -> Ptr CppBool' -> IO (Ptr (CppVec CInt))
+  :: Ptr CRSSparsity' -> CInt -> IO (Ptr (CppVec CInt))
 casADi__CRSSparsity__getElements
   :: CRSSparsity -> Bool -> IO (Vector Int)
 casADi__CRSSparsity__getElements x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__CRSSparsity__getElements x0' x1' >>= (newForeignPtr c_delete_std__vector_int_) >>= wrapReturn
+  c_CasADi__CRSSparsity__getElements x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -477,7 +475,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__CRSSparsity__unidirectionalColoring x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__CRSSparsity__unidirectionalColoring x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -496,7 +494,7 @@
 casADi__CRSSparsity__unidirectionalColoring' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__CRSSparsity__unidirectionalColoring_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__CRSSparsity__unidirectionalColoring_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 crsSparsity_unidirectionalColoring' :: CRSSparsityClass a => a -> CRSSparsity -> IO CRSSparsity
@@ -510,7 +508,7 @@
   :: CRSSparsity -> IO CRSSparsity
 casADi__CRSSparsity__unidirectionalColoring'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CRSSparsity__unidirectionalColoring_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__CRSSparsity__unidirectionalColoring_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 crsSparsity_unidirectionalColoring'' :: CRSSparsityClass a => a -> IO CRSSparsity
@@ -526,7 +524,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__CRSSparsity__starColoring x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__CRSSparsity__starColoring x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -546,7 +544,7 @@
 casADi__CRSSparsity__starColoring' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__CRSSparsity__starColoring_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__CRSSparsity__starColoring_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 crsSparsity_starColoring' :: CRSSparsityClass a => a -> Int -> IO CRSSparsity
@@ -560,7 +558,7 @@
   :: CRSSparsity -> IO CRSSparsity
 casADi__CRSSparsity__starColoring'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CRSSparsity__starColoring_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__CRSSparsity__starColoring_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 crsSparsity_starColoring'' :: CRSSparsityClass a => a -> IO CRSSparsity
@@ -576,7 +574,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__CRSSparsity__starColoring2 x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__CRSSparsity__starColoring2 x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -596,7 +594,7 @@
 casADi__CRSSparsity__starColoring2' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__CRSSparsity__starColoring2_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__CRSSparsity__starColoring2_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 crsSparsity_starColoring2' :: CRSSparsityClass a => a -> Int -> IO CRSSparsity
@@ -610,7 +608,7 @@
   :: CRSSparsity -> IO CRSSparsity
 casADi__CRSSparsity__starColoring2'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CRSSparsity__starColoring2_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__CRSSparsity__starColoring2_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 crsSparsity_starColoring2'' :: CRSSparsityClass a => a -> IO CRSSparsity
@@ -624,7 +622,7 @@
   :: CRSSparsity -> IO String
 casADi__CRSSparsity__dimString x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CRSSparsity__dimString x0' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__CRSSparsity__dimString x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -691,7 +689,7 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__CRSSparsity__CRSSparsity x0' x1' x2' x3' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__CRSSparsity__CRSSparsity x0' x1' x2' x3' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -720,7 +718,7 @@
 casADi__CRSSparsity__CRSSparsity'
   :: IO CRSSparsity
 casADi__CRSSparsity__CRSSparsity'  =
-  c_CasADi__CRSSparsity__CRSSparsity_TIC  >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__CRSSparsity__CRSSparsity_TIC  >>= wrapReturn
 
 -- classy wrapper
 crsSparsity' :: IO CRSSparsity
diff --git a/Casadi/Wrappers/Classes/CSparse.hs b/Casadi/Wrappers/Classes/CSparse.hs
--- a/Casadi/Wrappers/Classes/CSparse.hs
+++ b/Casadi/Wrappers/Classes/CSparse.hs
@@ -25,25 +25,23 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+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 (Ptr CppBool')
+  :: Ptr CSparse' -> IO CInt
 casADi__CSparse__checkNode
   :: CSparse -> IO Bool
 casADi__CSparse__checkNode x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CSparse__checkNode x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__CSparse__checkNode x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -59,7 +57,7 @@
 casADi__CSparse__CSparse
   :: IO CSparse
 casADi__CSparse__CSparse  =
-  c_CasADi__CSparse__CSparse  >>= (newForeignPtr c_delete_CasADi__CSparse) >>= wrapReturn
+  c_CasADi__CSparse__CSparse  >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -85,7 +83,7 @@
 casADi__CSparse__CSparse' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__CSparse__CSparse_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__CSparse) >>= wrapReturn
+  c_CasADi__CSparse__CSparse_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 csparse' :: CRSSparsity -> Int -> IO CSparse
@@ -99,7 +97,7 @@
   :: CRSSparsity -> IO CSparse
 casADi__CSparse__CSparse'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CSparse__CSparse_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CSparse) >>= wrapReturn
+  c_CasADi__CSparse__CSparse_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 csparse'' :: CRSSparsity -> IO CSparse
diff --git a/Casadi/Wrappers/Classes/Callback.hs b/Casadi/Wrappers/Classes/Callback.hs
--- a/Casadi/Wrappers/Classes/Callback.hs
+++ b/Casadi/Wrappers/Classes/Callback.hs
@@ -22,13 +22,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show Callback where
@@ -39,7 +37,7 @@
 casADi__Callback__Callback
   :: IO Callback
 casADi__Callback__Callback  =
-  c_CasADi__Callback__Callback  >>= (newForeignPtr c_delete_CasADi__Callback) >>= wrapReturn
+  c_CasADi__Callback__Callback  >>= wrapReturn
 
 -- classy wrapper
 {-|
diff --git a/Casadi/Wrappers/Classes/CasadiMeta.hs b/Casadi/Wrappers/Classes/CasadiMeta.hs
--- a/Casadi/Wrappers/Classes/CasadiMeta.hs
+++ b/Casadi/Wrappers/Classes/CasadiMeta.hs
@@ -28,13 +28,11 @@
 import Foreign.ForeignPtr ( newForeignPtr )
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 -- direct wrapper
@@ -43,7 +41,7 @@
 casADi__CasadiMeta__getVersion
   :: IO String
 casADi__CasadiMeta__getVersion  =
-  c_CasADi__CasadiMeta__getVersion  >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__CasadiMeta__getVersion  >>= wrapReturn
 
 -- classy wrapper
 casadiMeta_getVersion :: IO String
@@ -56,7 +54,7 @@
 casADi__CasadiMeta__getGitRevision
   :: IO String
 casADi__CasadiMeta__getGitRevision  =
-  c_CasADi__CasadiMeta__getGitRevision  >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__CasadiMeta__getGitRevision  >>= wrapReturn
 
 -- classy wrapper
 casadiMeta_getGitRevision :: IO String
@@ -69,7 +67,7 @@
 casADi__CasadiMeta__getGitDescribe
   :: IO String
 casADi__CasadiMeta__getGitDescribe  =
-  c_CasADi__CasadiMeta__getGitDescribe  >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__CasadiMeta__getGitDescribe  >>= wrapReturn
 
 -- classy wrapper
 casadiMeta_getGitDescribe :: IO String
@@ -82,7 +80,7 @@
 casADi__CasadiMeta__getFeatureList
   :: IO String
 casADi__CasadiMeta__getFeatureList  =
-  c_CasADi__CasadiMeta__getFeatureList  >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__CasadiMeta__getFeatureList  >>= wrapReturn
 
 -- classy wrapper
 casadiMeta_getFeatureList :: IO String
@@ -95,7 +93,7 @@
 casADi__CasadiMeta__getBuildType
   :: IO String
 casADi__CasadiMeta__getBuildType  =
-  c_CasADi__CasadiMeta__getBuildType  >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__CasadiMeta__getBuildType  >>= wrapReturn
 
 -- classy wrapper
 casadiMeta_getBuildType :: IO String
@@ -108,7 +106,7 @@
 casADi__CasadiMeta__getCompilerId
   :: IO String
 casADi__CasadiMeta__getCompilerId  =
-  c_CasADi__CasadiMeta__getCompilerId  >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__CasadiMeta__getCompilerId  >>= wrapReturn
 
 -- classy wrapper
 casadiMeta_getCompilerId :: IO String
@@ -121,7 +119,7 @@
 casADi__CasadiMeta__getCompiler
   :: IO String
 casADi__CasadiMeta__getCompiler  =
-  c_CasADi__CasadiMeta__getCompiler  >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__CasadiMeta__getCompiler  >>= wrapReturn
 
 -- classy wrapper
 casadiMeta_getCompiler :: IO String
@@ -134,7 +132,7 @@
 casADi__CasadiMeta__getCompilerFlags
   :: IO String
 casADi__CasadiMeta__getCompilerFlags  =
-  c_CasADi__CasadiMeta__getCompilerFlags  >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__CasadiMeta__getCompilerFlags  >>= wrapReturn
 
 -- classy wrapper
 casadiMeta_getCompilerFlags :: IO String
diff --git a/Casadi/Wrappers/Classes/CasadiOptions.hs b/Casadi/Wrappers/Classes/CasadiOptions.hs
--- a/Casadi/Wrappers/Classes/CasadiOptions.hs
+++ b/Casadi/Wrappers/Classes/CasadiOptions.hs
@@ -26,18 +26,16 @@
 import Foreign.ForeignPtr ( newForeignPtr )
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+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
-  :: Ptr CppBool' -> IO ()
+  :: CInt -> IO ()
 casADi__CasadiOptions__setCatchErrorsPython
   :: Bool -> IO ()
 casADi__CasadiOptions__setCatchErrorsPython x0 =
@@ -51,11 +49,11 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__CasadiOptions__getCatchErrorsPython" c_CasADi__CasadiOptions__getCatchErrorsPython
-  :: IO (Ptr CppBool')
+  :: IO CInt
 casADi__CasadiOptions__getCatchErrorsPython
   :: IO Bool
 casADi__CasadiOptions__getCatchErrorsPython  =
-  c_CasADi__CasadiOptions__getCatchErrorsPython  >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__CasadiOptions__getCatchErrorsPython  >>= wrapReturn
 
 -- classy wrapper
 casadiOptions_getCatchErrorsPython :: IO Bool
@@ -64,7 +62,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__CasadiOptions__setSimplificationOnTheFly" c_CasADi__CasadiOptions__setSimplificationOnTheFly
-  :: Ptr CppBool' -> IO ()
+  :: CInt -> IO ()
 casADi__CasadiOptions__setSimplificationOnTheFly
   :: Bool -> IO ()
 casADi__CasadiOptions__setSimplificationOnTheFly x0 =
@@ -78,11 +76,11 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__CasadiOptions__getSimplificationOnTheFly" c_CasADi__CasadiOptions__getSimplificationOnTheFly
-  :: IO (Ptr CppBool')
+  :: IO CInt
 casADi__CasadiOptions__getSimplificationOnTheFly
   :: IO Bool
 casADi__CasadiOptions__getSimplificationOnTheFly  =
-  c_CasADi__CasadiOptions__getSimplificationOnTheFly  >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__CasadiOptions__getSimplificationOnTheFly  >>= wrapReturn
 
 -- classy wrapper
 casadiOptions_getSimplificationOnTheFly :: IO Bool
diff --git a/Casadi/Wrappers/Classes/CustomEvaluate.hs b/Casadi/Wrappers/Classes/CustomEvaluate.hs
--- a/Casadi/Wrappers/Classes/CustomEvaluate.hs
+++ b/Casadi/Wrappers/Classes/CustomEvaluate.hs
@@ -22,13 +22,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show CustomEvaluate where
@@ -39,7 +37,7 @@
 casADi__CustomEvaluate__CustomEvaluate
   :: IO CustomEvaluate
 casADi__CustomEvaluate__CustomEvaluate  =
-  c_CasADi__CustomEvaluate__CustomEvaluate  >>= (newForeignPtr c_delete_CasADi__CustomEvaluate) >>= wrapReturn
+  c_CasADi__CustomEvaluate__CustomEvaluate  >>= wrapReturn
 
 -- classy wrapper
 {-|
diff --git a/Casadi/Wrappers/Classes/CustomFunction.hs b/Casadi/Wrappers/Classes/CustomFunction.hs
--- a/Casadi/Wrappers/Classes/CustomFunction.hs
+++ b/Casadi/Wrappers/Classes/CustomFunction.hs
@@ -25,25 +25,23 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+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 (Ptr CppBool')
+  :: Ptr CustomFunction' -> IO CInt
 casADi__CustomFunction__checkNode
   :: CustomFunction -> IO Bool
 casADi__CustomFunction__checkNode x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CustomFunction__checkNode x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__CustomFunction__checkNode x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -59,7 +57,7 @@
 casADi__CustomFunction__CustomFunction
   :: IO CustomFunction
 casADi__CustomFunction__CustomFunction  =
-  c_CasADi__CustomFunction__CustomFunction  >>= (newForeignPtr c_delete_CasADi__CustomFunction) >>= wrapReturn
+  c_CasADi__CustomFunction__CustomFunction  >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -97,7 +95,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__CustomFunction__CustomFunction_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__CustomFunction) >>= wrapReturn
+  c_CasADi__CustomFunction__CustomFunction_TIC x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 customFunction' :: CustomEvaluate -> Vector CRSSparsity -> Vector CRSSparsity -> IO CustomFunction
@@ -111,7 +109,7 @@
   :: CustomEvaluate -> IO CustomFunction
 casADi__CustomFunction__CustomFunction''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CustomFunction) >>= wrapReturn
+  c_CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 customFunction''''' :: CustomEvaluate -> IO CustomFunction
diff --git a/Casadi/Wrappers/Classes/DMatrix.hs b/Casadi/Wrappers/Classes/DMatrix.hs
--- a/Casadi/Wrappers/Classes/DMatrix.hs
+++ b/Casadi/Wrappers/Classes/DMatrix.hs
@@ -162,13 +162,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show DMatrix where
@@ -231,7 +229,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_double___sanityCheck" c_CasADi__Matrix_double___sanityCheck
-  :: Ptr DMatrix' -> Ptr CppBool' -> IO ()
+  :: Ptr DMatrix' -> CInt -> IO ()
 casADi__Matrix_double___sanityCheck
   :: DMatrix -> Bool -> IO ()
 casADi__Matrix_double___sanityCheck x0 x1 =
@@ -269,12 +267,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_double___vector" c_CasADi__Matrix_double___vector
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 casADi__Matrix_double___vector
   :: DMatrix -> IO Bool
 casADi__Matrix_double___vector x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___vector x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__Matrix_double___vector x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -356,14 +354,14 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_double___hasNZ" c_CasADi__Matrix_double___hasNZ
-  :: Ptr DMatrix' -> CInt -> CInt -> IO (Ptr CppBool')
+  :: 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' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__Matrix_double___hasNZ x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -375,12 +373,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_double_____nonzero__" c_CasADi__Matrix_double_____nonzero__
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: 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' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__Matrix_double_____nonzero__ x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -415,7 +413,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___operator_plus x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___operator_plus x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___operator_plus x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_operator_plus :: DMatrixClass a => a -> IO DMatrix
@@ -429,7 +427,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___operator_minus x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___operator_minus x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___operator_minus x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_operator_minus :: DMatrixClass a => a -> IO DMatrix
@@ -445,7 +443,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___binary x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___binary x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -463,7 +461,7 @@
 casADi__Matrix_double___unary x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___unary x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___unary x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -482,7 +480,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___scalar_matrix x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___scalar_matrix x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -501,7 +499,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___matrix_scalar x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___matrix_scalar x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -520,7 +518,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___matrix_matrix x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___matrix_matrix x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -538,7 +536,7 @@
 casADi__Matrix_double_____add__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____add__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____add__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -556,7 +554,7 @@
 casADi__Matrix_double_____sub__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____sub__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____sub__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -574,7 +572,7 @@
 casADi__Matrix_double_____mul__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____mul__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____mul__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -592,7 +590,7 @@
 casADi__Matrix_double_____div__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____div__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____div__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -610,7 +608,7 @@
 casADi__Matrix_double_____lt__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____lt__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____lt__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -628,7 +626,7 @@
 casADi__Matrix_double_____le__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____le__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____le__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -646,7 +644,7 @@
 casADi__Matrix_double_____eq__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____eq__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____eq__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -664,7 +662,7 @@
 casADi__Matrix_double_____ne__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____ne__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____ne__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -682,7 +680,7 @@
 casADi__Matrix_double_____truediv__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____truediv__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____truediv__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -700,7 +698,7 @@
 casADi__Matrix_double_____pow__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____pow__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____pow__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -718,7 +716,7 @@
 casADi__Matrix_double_____constpow__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____constpow__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____constpow__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -736,7 +734,7 @@
 casADi__Matrix_double_____mpower__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____mpower__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____mpower__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -754,7 +752,7 @@
 casADi__Matrix_double_____mrdivide__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double_____mrdivide__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double_____mrdivide__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -773,7 +771,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___mul_full x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___mul_full x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -791,7 +789,7 @@
 casADi__Matrix_double___mul_full' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___mul_full_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___mul_full_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_mul_full' :: DMatrixClass a => a -> DMatrix -> IO DMatrix
@@ -807,7 +805,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___mul x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___mul x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -825,7 +823,7 @@
 casADi__Matrix_double___mul' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___mul_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___mul_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_mul' :: DMatrixClass a => a -> DMatrix -> IO DMatrix
@@ -934,7 +932,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___trans x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___trans x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___trans x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -951,7 +949,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___sin x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sin x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___sin x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -969,7 +967,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___cos x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___cos x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___cos x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -987,7 +985,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___tan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___tan x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___tan x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1005,7 +1003,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___arcsin x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arcsin x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___arcsin x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1023,7 +1021,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___arccos x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arccos x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___arccos x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1041,7 +1039,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___arctan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arctan x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___arctan x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1059,7 +1057,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___exp x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___exp x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___exp x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1077,7 +1075,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___log x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___log x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___log x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1095,7 +1093,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___sqrt x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sqrt x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___sqrt x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1113,7 +1111,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___floor x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___floor x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___floor x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1131,7 +1129,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___ceil x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___ceil x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___ceil x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1149,7 +1147,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___fabs x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___fabs x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___fabs x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1167,7 +1165,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___sign x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sign x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___sign x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1185,7 +1183,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___erfinv x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___erfinv x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___erfinv x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1204,7 +1202,7 @@
 casADi__Matrix_double___fmin x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___fmin x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___fmin x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1223,7 +1221,7 @@
 casADi__Matrix_double___fmax x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___fmax x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___fmax x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1241,7 +1239,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___erf x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___erf x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___erf x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1259,7 +1257,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___sinh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sinh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___sinh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1277,7 +1275,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___cosh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___cosh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___cosh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1295,7 +1293,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___tanh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___tanh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___tanh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1313,7 +1311,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___arcsinh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arcsinh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___arcsinh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1331,7 +1329,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___arccosh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arccosh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___arccosh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1349,7 +1347,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___arctanh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___arctanh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___arctanh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1368,7 +1366,7 @@
 casADi__Matrix_double___arctan2 x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___arctan2 x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___arctan2 x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1386,7 +1384,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___log10 x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___log10 x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___log10 x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1405,7 +1403,7 @@
 casADi__Matrix_double___printme x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___printme x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___printme x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1423,7 +1421,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___logic_not x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___logic_not x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___logic_not x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1442,7 +1440,7 @@
 casADi__Matrix_double___logic_and x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___logic_and x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___logic_and x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1461,7 +1459,7 @@
 casADi__Matrix_double___logic_or x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___logic_or x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___logic_or x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1480,7 +1478,7 @@
 casADi__Matrix_double___if_else_zero x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___if_else_zero x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___if_else_zero x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1497,7 +1495,7 @@
 casADi__Matrix_double___className
   :: IO String
 casADi__Matrix_double___className  =
-  c_CasADi__Matrix_double___className  >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__Matrix_double___className  >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1735,7 +1733,7 @@
   :: DMatrix -> IO (Vector Double)
 casADi__Matrix_double___data x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___data x0' >>= (newForeignPtr c_delete_std__vector_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___data x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1760,7 +1758,7 @@
   :: DMatrix -> IO CRSSparsity
 casADi__Matrix_double___sparsityRef x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sparsityRef x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__Matrix_double___sparsityRef x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2006,7 +2004,7 @@
 casADi__Matrix_double___sparse x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___sparse x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___sparse x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2035,7 +2033,7 @@
   :: Int -> IO DMatrix
 casADi__Matrix_double___sparse' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___sparse_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___sparse_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_sparse' :: Int -> IO DMatrix
@@ -2051,7 +2049,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___sparse_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___sparse_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_sparse'' :: Vector Int -> Vector Int -> Vector Double -> IO DMatrix
@@ -2069,7 +2067,7 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__Matrix_double___sparse_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___sparse_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_sparse''' :: Vector Int -> Vector Int -> Vector Double -> Int -> Int -> IO DMatrix
@@ -2083,7 +2081,7 @@
   :: CRSSparsity -> IO DMatrix
 casADi__Matrix_double___zeros x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___zeros x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___zeros x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2101,7 +2099,7 @@
 casADi__Matrix_double___zeros' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___zeros_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___zeros_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_zeros' :: Int -> Int -> IO DMatrix
@@ -2115,7 +2113,7 @@
   :: Int -> IO DMatrix
 casADi__Matrix_double___zeros'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___zeros_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___zeros_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_zeros'' :: Int -> IO DMatrix
@@ -2129,7 +2127,7 @@
   :: CRSSparsity -> IO DMatrix
 casADi__Matrix_double___ones x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___ones x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___ones x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2147,7 +2145,7 @@
 casADi__Matrix_double___ones' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___ones_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___ones_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_ones' :: Int -> Int -> IO DMatrix
@@ -2161,7 +2159,7 @@
   :: Int -> IO DMatrix
 casADi__Matrix_double___ones'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___ones_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___ones_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_ones'' :: Int -> IO DMatrix
@@ -2175,7 +2173,7 @@
   :: CRSSparsity -> IO DMatrix
 casADi__Matrix_double___inf x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___inf x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___inf x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2193,7 +2191,7 @@
 casADi__Matrix_double___inf' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___inf_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___inf_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_inf' :: Int -> Int -> IO DMatrix
@@ -2207,7 +2205,7 @@
   :: Int -> IO DMatrix
 casADi__Matrix_double___inf'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___inf_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___inf_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_inf'' :: Int -> IO DMatrix
@@ -2220,7 +2218,7 @@
 casADi__Matrix_double___inf'''
   :: IO DMatrix
 casADi__Matrix_double___inf'''  =
-  c_CasADi__Matrix_double___inf_TIC_TIC_TIC  >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___inf_TIC_TIC_TIC  >>= wrapReturn
 
 -- classy wrapper
 dmatrix_inf''' :: IO DMatrix
@@ -2234,7 +2232,7 @@
   :: CRSSparsity -> IO DMatrix
 casADi__Matrix_double___nan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___nan x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___nan x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2252,7 +2250,7 @@
 casADi__Matrix_double___nan' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___nan_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___nan_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_nan' :: Int -> Int -> IO DMatrix
@@ -2266,7 +2264,7 @@
   :: Int -> IO DMatrix
 casADi__Matrix_double___nan'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___nan_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___nan_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_nan'' :: Int -> IO DMatrix
@@ -2279,7 +2277,7 @@
 casADi__Matrix_double___nan'''
   :: IO DMatrix
 casADi__Matrix_double___nan'''  =
-  c_CasADi__Matrix_double___nan_TIC_TIC_TIC  >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___nan_TIC_TIC_TIC  >>= wrapReturn
 
 -- classy wrapper
 dmatrix_nan''' :: IO DMatrix
@@ -2295,7 +2293,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___repmat x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___repmat x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2313,7 +2311,7 @@
 casADi__Matrix_double___repmat' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___repmat_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___repmat_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_repmat' :: DMatrix -> Int -> IO DMatrix
@@ -2327,7 +2325,7 @@
   :: Int -> IO DMatrix
 casADi__Matrix_double___eye x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___eye x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___eye x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix_eye :: Int -> IO DMatrix
@@ -2336,12 +2334,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_double___isNull" c_CasADi__Matrix_double___isNull
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 casADi__Matrix_double___isNull
   :: DMatrix -> IO Bool
 casADi__Matrix_double___isNull x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___isNull x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__Matrix_double___isNull x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2390,7 +2388,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_double___setScientific" c_CasADi__Matrix_double___setScientific
-  :: Ptr CppBool' -> IO ()
+  :: CInt -> IO ()
 casADi__Matrix_double___setScientific
   :: Bool -> IO ()
 casADi__Matrix_double___setScientific x0 =
@@ -2412,7 +2410,7 @@
 casADi__Matrix_double___DMatrix
   :: IO DMatrix
 casADi__Matrix_double___DMatrix  =
-  c_CasADi__Matrix_double___DMatrix  >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix  >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2505,7 +2503,7 @@
   :: DMatrix -> IO DMatrix
 casADi__Matrix_double___DMatrix' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___DMatrix_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix' :: DMatrix -> IO DMatrix
@@ -2520,7 +2518,7 @@
 casADi__Matrix_double___DMatrix'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 dmatrix'' :: Int -> Int -> IO DMatrix
@@ -2536,7 +2534,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 dmatrix''' :: Int -> Int -> Double -> IO DMatrix
@@ -2554,7 +2552,7 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
 
 -- classy wrapper
 dmatrix'''' :: Int -> Int -> Vector Int -> Vector Int -> Vector Double -> IO DMatrix
@@ -2571,7 +2569,7 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
 
 -- classy wrapper
 dmatrix''''' :: Int -> Int -> Vector Int -> Vector Int -> IO DMatrix
@@ -2580,12 +2578,12 @@
 
 -- 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
-  :: Ptr (CppVecVec CDouble) -> IO (Ptr DMatrix')
+  :: 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_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix'''''' :: Vector (Vector Double) -> IO DMatrix
@@ -2600,7 +2598,7 @@
 casADi__Matrix_double___DMatrix''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 dmatrix''''''' :: CRSSparsity -> Double -> IO DMatrix
@@ -2614,7 +2612,7 @@
   :: CRSSparsity -> IO DMatrix
 casADi__Matrix_double___DMatrix'''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix'''''''' :: CRSSparsity -> IO DMatrix
@@ -2629,7 +2627,7 @@
 casADi__Matrix_double___DMatrix''''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 dmatrix''''''''' :: CRSSparsity -> Vector Double -> IO DMatrix
@@ -2643,7 +2641,7 @@
   :: Double -> 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' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix'''''''''' :: Double -> IO DMatrix
@@ -2657,7 +2655,7 @@
   :: Vector Double -> 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_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 dmatrix''''''''''' :: Vector Double -> IO DMatrix
@@ -2673,7 +2671,7 @@
   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_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 dmatrix'''''''''''' :: Vector Double -> Int -> Int -> IO DMatrix
diff --git a/Casadi/Wrappers/Classes/ExternalFunction.hs b/Casadi/Wrappers/Classes/ExternalFunction.hs
--- a/Casadi/Wrappers/Classes/ExternalFunction.hs
+++ b/Casadi/Wrappers/Classes/ExternalFunction.hs
@@ -24,25 +24,23 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+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 (Ptr CppBool')
+  :: Ptr ExternalFunction' -> IO CInt
 casADi__ExternalFunction__checkNode
   :: ExternalFunction -> IO Bool
 casADi__ExternalFunction__checkNode x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__ExternalFunction__checkNode x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__ExternalFunction__checkNode x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -58,7 +56,7 @@
 casADi__ExternalFunction__ExternalFunction
   :: IO ExternalFunction
 casADi__ExternalFunction__ExternalFunction  =
-  c_CasADi__ExternalFunction__ExternalFunction  >>= (newForeignPtr c_delete_CasADi__ExternalFunction) >>= wrapReturn
+  c_CasADi__ExternalFunction__ExternalFunction  >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -85,7 +83,7 @@
   :: String -> IO ExternalFunction
 casADi__ExternalFunction__ExternalFunction' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__ExternalFunction__ExternalFunction_TIC x0' >>= (newForeignPtr c_delete_CasADi__ExternalFunction) >>= wrapReturn
+  c_CasADi__ExternalFunction__ExternalFunction_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 externalFunction' :: String -> IO ExternalFunction
diff --git a/Casadi/Wrappers/Classes/FX.hs b/Casadi/Wrappers/Classes/FX.hs
--- a/Casadi/Wrappers/Classes/FX.hs
+++ b/Casadi/Wrappers/Classes/FX.hs
@@ -45,13 +45,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show FX where
@@ -63,7 +61,7 @@
   :: FX -> IO IOScheme
 casADi__FX__inputScheme x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__FX__inputScheme x0' >>= (newForeignPtr c_delete_CasADi__IOScheme) >>= wrapReturn
+  c_CasADi__FX__inputScheme x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -80,7 +78,7 @@
   :: FX -> IO IOScheme
 casADi__FX__outputScheme x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__FX__outputScheme x0' >>= (newForeignPtr c_delete_CasADi__IOScheme) >>= wrapReturn
+  c_CasADi__FX__outputScheme x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -133,7 +131,7 @@
   :: FX -> IO IOScheme
 casADi__FX__getInputScheme x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__FX__getInputScheme x0' >>= (newForeignPtr c_delete_CasADi__IOScheme) >>= wrapReturn
+  c_CasADi__FX__getInputScheme x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -150,7 +148,7 @@
   :: FX -> IO IOScheme
 casADi__FX__getOutputScheme x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__FX__getOutputScheme x0' >>= (newForeignPtr c_delete_CasADi__IOScheme) >>= wrapReturn
+  c_CasADi__FX__getOutputScheme x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -196,7 +194,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__FX__jacobian" c_CasADi__FX__jacobian
-  :: Ptr FX' -> CInt -> CInt -> Ptr CppBool' -> Ptr CppBool' -> IO (Ptr FX')
+  :: Ptr FX' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr FX')
 casADi__FX__jacobian
   :: FX -> Int -> Int -> Bool -> Bool -> IO FX
 casADi__FX__jacobian x0 x1 x2 x3 x4 =
@@ -205,7 +203,7 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__FX__jacobian x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_CasADi__FX) >>= wrapReturn
+  c_CasADi__FX__jacobian x0' x1' x2' x3' x4' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -240,7 +238,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__FX__gradient x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__FX) >>= wrapReturn
+  c_CasADi__FX__gradient x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -269,7 +267,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__FX__hessian x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__FX) >>= wrapReturn
+  c_CasADi__FX__hessian x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -296,7 +294,7 @@
   :: FX -> IO FX
 casADi__FX__fullJacobian x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__FX__fullJacobian x0' >>= (newForeignPtr c_delete_CasADi__FX) >>= wrapReturn
+  c_CasADi__FX__fullJacobian x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -316,7 +314,7 @@
 casADi__FX__call x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__FX__call x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  c_CasADi__FX__call x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -348,13 +346,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__FX__call_TIC_TIC" c_CasADi__FX__call_TIC_TIC
-  :: Ptr FX' -> Ptr (CppVecVec (Ptr MX')) -> IO (Ptr (CppVecVec (Ptr MX')))
+  :: Ptr FX' -> Ptr (CppVec (Ptr (CppVec (Ptr MX')))) -> IO (Ptr (CppVec (Ptr (CppVec (Ptr MX')))))
 casADi__FX__call''
   :: FX -> Vector (Vector MX) -> IO (Vector (Vector MX))
 casADi__FX__call'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__FX__call_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__MX__) >>= wrapReturn
+  c_CasADi__FX__call_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 fx_call'' :: FXClass a => a -> Vector (Vector MX) -> IO (Vector (Vector MX))
@@ -369,7 +367,7 @@
 casADi__FX__evalMX x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__FX__evalMX x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  c_CasADi__FX__evalMX x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -401,7 +399,7 @@
 casADi__FX__evalSX x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__FX__evalSX x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_CasADi__SX__) >>= wrapReturn
+  c_CasADi__FX__evalSX x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -445,12 +443,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__FX__checkNode" c_CasADi__FX__checkNode
-  :: Ptr FX' -> IO (Ptr CppBool')
+  :: Ptr FX' -> IO CInt
 casADi__FX__checkNode
   :: FX -> IO Bool
 casADi__FX__checkNode x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__FX__checkNode x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__FX__checkNode x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -468,7 +466,7 @@
 casADi__FX__getStat x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__FX__getStat x0' x1' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__FX__getStat x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -485,7 +483,7 @@
   :: FX -> IO (Vector MX)
 casADi__FX__symbolicInput x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__FX__symbolicInput x0' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  c_CasADi__FX__symbolicInput x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -503,7 +501,7 @@
   :: FX -> IO (Vector SXMatrix)
 casADi__FX__symbolicInputSX x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__FX__symbolicInputSX x0' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_CasADi__SX__) >>= wrapReturn
+  c_CasADi__FX__symbolicInputSX x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
diff --git a/Casadi/Wrappers/Classes/Functor.hs b/Casadi/Wrappers/Classes/Functor.hs
--- a/Casadi/Wrappers/Classes/Functor.hs
+++ b/Casadi/Wrappers/Classes/Functor.hs
@@ -21,13 +21,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show Functor where
diff --git a/Casadi/Wrappers/Classes/GenericType.hs b/Casadi/Wrappers/Classes/GenericType.hs
--- a/Casadi/Wrappers/Classes/GenericType.hs
+++ b/Casadi/Wrappers/Classes/GenericType.hs
@@ -54,13 +54,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show GenericType where
@@ -72,7 +70,7 @@
   :: Opt_type -> IO String
 casADi__GenericType__get_type_description x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__get_type_description x0' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__GenericType__get_type_description x0' >>= wrapReturn
 
 -- classy wrapper
 genericType_get_type_description :: Opt_type -> IO String
@@ -86,7 +84,7 @@
   :: GenericType -> IO String
 casADi__GenericType__get_description x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__get_description x0' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__GenericType__get_description x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -103,7 +101,7 @@
   :: Opt_type -> IO GenericType
 casADi__GenericType__from_type x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__from_type x0' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__GenericType__from_type x0' >>= wrapReturn
 
 -- classy wrapper
 genericType_from_type :: Opt_type -> IO GenericType
@@ -126,13 +124,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__can_cast_to" c_CasADi__GenericType__can_cast_to
-  :: Ptr GenericType' -> CInt -> IO (Ptr CppBool')
+  :: 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' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__can_cast_to x0' x1' >>= wrapReturn
 
 -- classy wrapper
 genericType_can_cast_to :: GenericTypeClass a => a -> Opt_type -> IO Bool
@@ -141,13 +139,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__can_cast_to_TIC" c_CasADi__GenericType__can_cast_to_TIC
-  :: Ptr GenericType' -> Ptr GenericType' -> IO (Ptr CppBool')
+  :: 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' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__can_cast_to_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 genericType_can_cast_to' :: GenericTypeClass a => a -> GenericType -> IO Bool
@@ -156,12 +154,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__isBool" c_CasADi__GenericType__isBool
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__isBool
   :: GenericType -> IO Bool
 casADi__GenericType__isBool x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isBool x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__isBool x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -173,12 +171,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__isInt" c_CasADi__GenericType__isInt
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__isInt
   :: GenericType -> IO Bool
 casADi__GenericType__isInt x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isInt x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__isInt x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -190,12 +188,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__isDouble" c_CasADi__GenericType__isDouble
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__isDouble
   :: GenericType -> IO Bool
 casADi__GenericType__isDouble x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isDouble x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__isDouble x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -207,12 +205,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__isString" c_CasADi__GenericType__isString
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__isString
   :: GenericType -> IO Bool
 casADi__GenericType__isString x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isString x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__isString x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -224,12 +222,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__isEmptyVector" c_CasADi__GenericType__isEmptyVector
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__isEmptyVector
   :: GenericType -> IO Bool
 casADi__GenericType__isEmptyVector x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isEmptyVector x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__isEmptyVector x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -241,12 +239,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__isIntVector" c_CasADi__GenericType__isIntVector
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__isIntVector
   :: GenericType -> IO Bool
 casADi__GenericType__isIntVector x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isIntVector x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__isIntVector x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -258,12 +256,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__isDoubleVector" c_CasADi__GenericType__isDoubleVector
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__isDoubleVector
   :: GenericType -> IO Bool
 casADi__GenericType__isDoubleVector x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isDoubleVector x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__isDoubleVector x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -275,12 +273,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__isStringVector" c_CasADi__GenericType__isStringVector
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__isStringVector
   :: GenericType -> IO Bool
 casADi__GenericType__isStringVector x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isStringVector x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__isStringVector x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -292,12 +290,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__isSharedObject" c_CasADi__GenericType__isSharedObject
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__isSharedObject
   :: GenericType -> IO Bool
 casADi__GenericType__isSharedObject x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isSharedObject x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__isSharedObject x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -309,12 +307,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__isDictionary" c_CasADi__GenericType__isDictionary
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__isDictionary
   :: GenericType -> IO Bool
 casADi__GenericType__isDictionary x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isDictionary x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__isDictionary x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -326,12 +324,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__isFX" c_CasADi__GenericType__isFX
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__isFX
   :: GenericType -> IO Bool
 casADi__GenericType__isFX x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__isFX x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__isFX x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -343,12 +341,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__toBool" c_CasADi__GenericType__toBool
-  :: Ptr GenericType' -> IO (Ptr CppBool')
+  :: Ptr GenericType' -> IO CInt
 casADi__GenericType__toBool
   :: GenericType -> IO Bool
 casADi__GenericType__toBool x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__toBool x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__toBool x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -394,13 +392,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__operator_equals" c_CasADi__GenericType__operator_equals
-  :: Ptr GenericType' -> Ptr GenericType' -> IO (Ptr CppBool')
+  :: 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' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__operator_equals x0' x1' >>= wrapReturn
 
 -- classy wrapper
 genericType_operator_equals :: GenericTypeClass a => a -> GenericType -> IO Bool
@@ -409,13 +407,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__operator_nequals" c_CasADi__GenericType__operator_nequals
-  :: Ptr GenericType' -> Ptr GenericType' -> IO (Ptr CppBool')
+  :: 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' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__GenericType__operator_nequals x0' x1' >>= wrapReturn
 
 -- classy wrapper
 genericType_operator_nequals :: GenericTypeClass a => a -> GenericType -> IO Bool
@@ -424,12 +422,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__GenericTypeBool" c_CasADi__GenericType__GenericTypeBool
-  :: Ptr CppBool' -> IO (Ptr GenericType')
+  :: CInt -> IO (Ptr GenericType')
 casADi__GenericType__GenericTypeBool
   :: Bool -> IO GenericType
 casADi__GenericType__GenericTypeBool x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericTypeBool x0' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__GenericType__GenericTypeBool x0' >>= wrapReturn
 
 -- classy wrapper
 genericTypeBool :: Bool -> IO GenericType
@@ -443,7 +441,7 @@
   :: Int -> IO GenericType
 casADi__GenericType__GenericTypeInt x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericTypeInt x0' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__GenericType__GenericTypeInt x0' >>= wrapReturn
 
 -- classy wrapper
 genericTypeInt :: Int -> IO GenericType
@@ -457,7 +455,7 @@
   :: Double -> IO GenericType
 casADi__GenericType__GenericTypeDouble x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericTypeDouble x0' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__GenericType__GenericTypeDouble x0' >>= wrapReturn
 
 -- classy wrapper
 genericTypeDouble :: Double -> IO GenericType
@@ -471,7 +469,7 @@
   :: String -> IO GenericType
 casADi__GenericType__GenericTypeString x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericTypeString x0' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__GenericType__GenericTypeString x0' >>= wrapReturn
 
 -- classy wrapper
 genericTypeString :: String -> IO GenericType
@@ -480,12 +478,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__GenericType__GenericTypeBoolVec" c_CasADi__GenericType__GenericTypeBoolVec
-  :: Ptr (CppVec (Ptr CppBool')) -> IO (Ptr GenericType')
+  :: Ptr (CppVec CInt) -> IO (Ptr GenericType')
 casADi__GenericType__GenericTypeBoolVec
   :: Vector Bool -> IO GenericType
 casADi__GenericType__GenericTypeBoolVec x0 =
-  withMarshal (CornerCase x0) $ \x0' ->
-  c_CasADi__GenericType__GenericTypeBoolVec x0' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  withMarshal x0 $ \x0' ->
+  c_CasADi__GenericType__GenericTypeBoolVec x0' >>= wrapReturn
 
 -- classy wrapper
 genericTypeBoolVec :: Vector Bool -> IO GenericType
@@ -499,7 +497,7 @@
   :: Vector Int -> IO GenericType
 casADi__GenericType__GenericTypeIntVec x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericTypeIntVec x0' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__GenericType__GenericTypeIntVec x0' >>= wrapReturn
 
 -- classy wrapper
 genericTypeIntVec :: Vector Int -> IO GenericType
@@ -513,7 +511,7 @@
   :: Vector Double -> IO GenericType
 casADi__GenericType__GenericTypeDoubleVec x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericTypeDoubleVec x0' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__GenericType__GenericTypeDoubleVec x0' >>= wrapReturn
 
 -- classy wrapper
 genericTypeDoubleVec :: Vector Double -> IO GenericType
@@ -526,8 +524,8 @@
 casADi__GenericType__GenericTypeStringVec
   :: Vector String -> IO GenericType
 casADi__GenericType__GenericTypeStringVec x0 =
-  withMarshal (CornerCase x0) $ \x0' ->
-  c_CasADi__GenericType__GenericTypeStringVec x0' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  withMarshal x0 $ \x0' ->
+  c_CasADi__GenericType__GenericTypeStringVec x0' >>= wrapReturn
 
 -- classy wrapper
 genericTypeStringVec :: Vector String -> IO GenericType
@@ -541,7 +539,7 @@
   :: FX -> IO GenericType
 casADi__GenericType__GenericTypeFX x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericTypeFX x0' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__GenericType__GenericTypeFX x0' >>= wrapReturn
 
 -- classy wrapper
 genericTypeFX :: FX -> IO GenericType
@@ -555,7 +553,7 @@
   :: Callback -> IO GenericType
 casADi__GenericType__GenericTypeCallback x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__GenericType__GenericTypeCallback x0' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__GenericType__GenericTypeCallback x0' >>= wrapReturn
 
 -- classy wrapper
 genericTypeCallback :: Callback -> IO GenericType
@@ -568,7 +566,7 @@
 casADi__GenericType__GenericType
   :: IO GenericType
 casADi__GenericType__GenericType  =
-  c_CasADi__GenericType__GenericType  >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__GenericType__GenericType  >>= wrapReturn
 
 -- classy wrapper
 genericType :: IO GenericType
diff --git a/Casadi/Wrappers/Classes/IOInterfaceFX.hs b/Casadi/Wrappers/Classes/IOInterfaceFX.hs
--- a/Casadi/Wrappers/Classes/IOInterfaceFX.hs
+++ b/Casadi/Wrappers/Classes/IOInterfaceFX.hs
@@ -50,13 +50,11 @@
 import Foreign.ForeignPtr ( newForeignPtr )
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 -- direct wrapper
@@ -67,7 +65,7 @@
 casADi__IOInterface_CasADi__FX___input x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__FX___input x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__IOInterface_CasADi__FX___input x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -84,7 +82,7 @@
   :: IOInterfaceFX -> IO DMatrix
 casADi__IOInterface_CasADi__FX___input' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__FX___input_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__IOInterface_CasADi__FX___input_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 ioInterfaceFX_input' :: IOInterfaceFXClass a => a -> IO DMatrix
@@ -99,7 +97,7 @@
 casADi__IOInterface_CasADi__FX___input'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__FX___input_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__IOInterface_CasADi__FX___input_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 ioInterfaceFX_input'' :: IOInterfaceFXClass a => a -> String -> IO DMatrix
@@ -114,7 +112,7 @@
 casADi__IOInterface_CasADi__FX___output x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__FX___output x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__IOInterface_CasADi__FX___output x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -131,7 +129,7 @@
   :: IOInterfaceFX -> IO DMatrix
 casADi__IOInterface_CasADi__FX___output' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__FX___output_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__IOInterface_CasADi__FX___output_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 ioInterfaceFX_output' :: IOInterfaceFXClass a => a -> IO DMatrix
@@ -146,7 +144,7 @@
 casADi__IOInterface_CasADi__FX___output'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__IOInterface_CasADi__FX___output_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__IOInterface_CasADi__FX___output_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 ioInterfaceFX_output'' :: IOInterfaceFXClass a => a -> String -> IO DMatrix
@@ -194,7 +192,7 @@
   :: IOInterfaceFX -> IO IOScheme
 casADi__IOInterface_CasADi__FX___getInputScheme x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__FX___getInputScheme x0' >>= (newForeignPtr c_delete_CasADi__IOScheme) >>= wrapReturn
+  c_CasADi__IOInterface_CasADi__FX___getInputScheme x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -211,7 +209,7 @@
   :: IOInterfaceFX -> IO IOScheme
 casADi__IOInterface_CasADi__FX___getOutputScheme x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IOInterface_CasADi__FX___getOutputScheme x0' >>= (newForeignPtr c_delete_CasADi__IOScheme) >>= wrapReturn
+  c_CasADi__IOInterface_CasADi__FX___getOutputScheme x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -263,7 +261,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__IOInterface_CasADi__FX___schemeEntry" c_CasADi__IOInterface_CasADi__FX___schemeEntry
-  :: Ptr IOInterfaceFX' -> Ptr IOScheme' -> Ptr StdString' -> Ptr CppBool' -> IO CInt
+  :: Ptr IOInterfaceFX' -> Ptr IOScheme' -> Ptr StdString' -> CInt -> IO CInt
 casADi__IOInterface_CasADi__FX___schemeEntry
   :: IOInterfaceFX -> IOScheme -> String -> Bool -> IO Int
 casADi__IOInterface_CasADi__FX___schemeEntry x0 x1 x2 x3 =
diff --git a/Casadi/Wrappers/Classes/IOScheme.hs b/Casadi/Wrappers/Classes/IOScheme.hs
--- a/Casadi/Wrappers/Classes/IOScheme.hs
+++ b/Casadi/Wrappers/Classes/IOScheme.hs
@@ -37,25 +37,23 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+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 (Ptr CppBool')
+  :: Ptr IOScheme' -> IO CInt
 casADi__IOScheme__checkNode
   :: IOScheme -> IO Bool
 casADi__IOScheme__checkNode x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__checkNode x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__IOScheme__checkNode x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -72,7 +70,7 @@
   :: IOScheme -> IO String
 casADi__IOScheme__name x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__name x0' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__IOScheme__name x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -89,7 +87,7 @@
   :: IOScheme -> IO String
 casADi__IOScheme__entryNames x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__entryNames x0' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__IOScheme__entryNames x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -142,7 +140,7 @@
 casADi__IOScheme__entry x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__entry x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__IOScheme__entry x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -160,7 +158,7 @@
 casADi__IOScheme__entryLabel x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__entryLabel x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__IOScheme__entryLabel x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -179,7 +177,7 @@
 casADi__IOScheme__entryEnum x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__entryEnum x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__IOScheme__entryEnum x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -197,7 +195,7 @@
 casADi__IOScheme__describeInput x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__describeInput x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__IOScheme__describeInput x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -215,7 +213,7 @@
 casADi__IOScheme__describeOutput x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__describeOutput x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__IOScheme__describeOutput x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -233,7 +231,7 @@
 casADi__IOScheme__describe x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__IOScheme__describe x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__IOScheme__describe x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -245,12 +243,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__IOScheme__known" c_CasADi__IOScheme__known
-  :: Ptr IOScheme' -> IO (Ptr CppBool')
+  :: Ptr IOScheme' -> IO CInt
 casADi__IOScheme__known
   :: IOScheme -> IO Bool
 casADi__IOScheme__known x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__known x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__IOScheme__known x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -284,7 +282,7 @@
 casADi__IOScheme__IOScheme
   :: IO IOScheme
 casADi__IOScheme__IOScheme  =
-  c_CasADi__IOScheme__IOScheme  >>= (newForeignPtr c_delete_CasADi__IOScheme) >>= wrapReturn
+  c_CasADi__IOScheme__IOScheme  >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -314,7 +312,7 @@
   :: InputOutputScheme -> IO IOScheme
 casADi__IOScheme__IOScheme' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IOScheme__IOScheme_TIC x0' >>= (newForeignPtr c_delete_CasADi__IOScheme) >>= wrapReturn
+  c_CasADi__IOScheme__IOScheme_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 ioScheme' :: InputOutputScheme -> IO IOScheme
@@ -327,8 +325,8 @@
 casADi__IOScheme__IOScheme''
   :: Vector String -> IO IOScheme
 casADi__IOScheme__IOScheme'' x0 =
-  withMarshal (CornerCase x0) $ \x0' ->
-  c_CasADi__IOScheme__IOScheme_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__IOScheme) >>= wrapReturn
+  withMarshal x0 $ \x0' ->
+  c_CasADi__IOScheme__IOScheme_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 ioScheme'' :: Vector String -> IO IOScheme
diff --git a/Casadi/Wrappers/Classes/IpoptSolver.hs b/Casadi/Wrappers/Classes/IpoptSolver.hs
--- a/Casadi/Wrappers/Classes/IpoptSolver.hs
+++ b/Casadi/Wrappers/Classes/IpoptSolver.hs
@@ -26,13 +26,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show IpoptSolver where
@@ -44,7 +42,7 @@
   :: IpoptSolver -> IO DMatrix
 casADi__IpoptSolver__getReducedHessian x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IpoptSolver__getReducedHessian x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__IpoptSolver__getReducedHessian x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -57,12 +55,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__IpoptSolver__checkNode" c_CasADi__IpoptSolver__checkNode
-  :: Ptr IpoptSolver' -> IO (Ptr CppBool')
+  :: Ptr IpoptSolver' -> IO CInt
 casADi__IpoptSolver__checkNode
   :: IpoptSolver -> IO Bool
 casADi__IpoptSolver__checkNode x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IpoptSolver__checkNode x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__IpoptSolver__checkNode x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -78,7 +76,7 @@
 casADi__IpoptSolver__IpoptSolver
   :: IO IpoptSolver
 casADi__IpoptSolver__IpoptSolver  =
-  c_CasADi__IpoptSolver__IpoptSolver  >>= (newForeignPtr c_delete_CasADi__IpoptSolver) >>= wrapReturn
+  c_CasADi__IpoptSolver__IpoptSolver  >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -109,7 +107,7 @@
 casADi__IpoptSolver__IpoptSolver' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__IpoptSolver__IpoptSolver_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__IpoptSolver) >>= wrapReturn
+  c_CasADi__IpoptSolver__IpoptSolver_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 ipoptSolver' :: FX -> FX -> IO IpoptSolver
@@ -123,7 +121,7 @@
   :: FX -> IO IpoptSolver
 casADi__IpoptSolver__IpoptSolver'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__IpoptSolver__IpoptSolver_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__IpoptSolver) >>= wrapReturn
+  c_CasADi__IpoptSolver__IpoptSolver_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 ipoptSolver'' :: FX -> IO IpoptSolver
diff --git a/Casadi/Wrappers/Classes/MX.hs b/Casadi/Wrappers/Classes/MX.hs
--- a/Casadi/Wrappers/Classes/MX.hs
+++ b/Casadi/Wrappers/Classes/MX.hs
@@ -157,13 +157,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show MX where
@@ -226,12 +224,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX____nonzero__" c_CasADi__MX____nonzero__
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 casADi__MX____nonzero__
   :: MX -> IO Bool
 casADi__MX____nonzero__ x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX____nonzero__ x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX____nonzero__ x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -248,7 +246,7 @@
   :: MX -> IO CRSSparsity
 casADi__MX__sparsityRef x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__sparsityRef x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__MX__sparsityRef x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -306,7 +304,7 @@
   :: MX -> IO MX
 casADi__MX__operator_minus x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__operator_minus x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__operator_minus x0' >>= wrapReturn
 
 -- classy wrapper
 mx_operator_minus :: MXClass a => a -> IO MX
@@ -321,7 +319,7 @@
 casADi__MX__getDep x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__getDep x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__getDep x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -338,7 +336,7 @@
   :: MX -> IO MX
 casADi__MX__getDep' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getDep_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__getDep_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx_getDep' :: MXClass a => a -> IO MX
@@ -370,7 +368,7 @@
 casADi__MX__getOutput x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__getOutput x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__getOutput x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -387,7 +385,7 @@
   :: MX -> IO MX
 casADi__MX__getOutput' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getOutput_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__getOutput_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx_getOutput' :: MXClass a => a -> IO MX
@@ -418,7 +416,7 @@
   :: MX -> IO String
 casADi__MX__getName x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getName x0' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__MX__getName x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -452,7 +450,7 @@
   :: MX -> IO DMatrix
 casADi__MX__getMatrixValue x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getMatrixValue x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__MX__getMatrixValue x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -464,12 +462,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isSymbolic" c_CasADi__MX__isSymbolic
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 casADi__MX__isSymbolic
   :: MX -> IO Bool
 casADi__MX__isSymbolic x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isSymbolic x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isSymbolic x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -481,12 +479,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isConstant" c_CasADi__MX__isConstant
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 casADi__MX__isConstant
   :: MX -> IO Bool
 casADi__MX__isConstant x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isConstant x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isConstant x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -498,12 +496,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isEvaluation" c_CasADi__MX__isEvaluation
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 casADi__MX__isEvaluation
   :: MX -> IO Bool
 casADi__MX__isEvaluation x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isEvaluation x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isEvaluation x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -515,12 +513,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isEvaluationOutput" c_CasADi__MX__isEvaluationOutput
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 casADi__MX__isEvaluationOutput
   :: MX -> IO Bool
 casADi__MX__isEvaluationOutput x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isEvaluationOutput x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isEvaluationOutput x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -550,13 +548,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isOperation" c_CasADi__MX__isOperation
-  :: Ptr MX' -> CInt -> IO (Ptr CppBool')
+  :: 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' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isOperation x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -568,12 +566,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isMultiplication" c_CasADi__MX__isMultiplication
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 casADi__MX__isMultiplication
   :: MX -> IO Bool
 casADi__MX__isMultiplication x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isMultiplication x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isMultiplication x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -585,12 +583,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isCommutative" c_CasADi__MX__isCommutative
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 casADi__MX__isCommutative
   :: MX -> IO Bool
 casADi__MX__isCommutative x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isCommutative x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isCommutative x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -602,12 +600,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isNorm" c_CasADi__MX__isNorm
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 casADi__MX__isNorm
   :: MX -> IO Bool
 casADi__MX__isNorm x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isNorm x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isNorm x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -624,7 +622,7 @@
   :: MX -> IO FX
 casADi__MX__getFunction x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__getFunction x0' >>= (newForeignPtr c_delete_CasADi__FX) >>= wrapReturn
+  c_CasADi__MX__getFunction x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -636,12 +634,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isBinary" c_CasADi__MX__isBinary
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 casADi__MX__isBinary
   :: MX -> IO Bool
 casADi__MX__isBinary x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isBinary x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isBinary x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -653,12 +651,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isUnary" c_CasADi__MX__isUnary
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 casADi__MX__isUnary
   :: MX -> IO Bool
 casADi__MX__isUnary x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__isUnary x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isUnary x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -687,14 +685,14 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isEqual" c_CasADi__MX__isEqual
-  :: Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr CppBool')
+  :: 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' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isEqual x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -714,13 +712,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__isEqual_TIC" c_CasADi__MX__isEqual_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr CppBool')
+  :: 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' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MX__isEqual_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_isEqual' :: MXClass a => a -> MX -> IO Bool
@@ -789,7 +787,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__MX__binary x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__binary x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -807,7 +805,7 @@
 casADi__MX__unary x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__unary x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__unary x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -825,7 +823,7 @@
 casADi__MX__sparse x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__sparse x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__sparse x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -842,7 +840,7 @@
   :: Int -> IO MX
 casADi__MX__sparse' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__sparse_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__sparse_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx_sparse' :: Int -> IO MX
@@ -856,7 +854,7 @@
   :: CRSSparsity -> IO MX
 casADi__MX__zeros x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__zeros x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__zeros x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -874,7 +872,7 @@
 casADi__MX__zeros' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__zeros_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__zeros_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_zeros' :: Int -> Int -> IO MX
@@ -888,7 +886,7 @@
   :: Int -> IO MX
 casADi__MX__zeros'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__zeros_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__zeros_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx_zeros'' :: Int -> IO MX
@@ -902,7 +900,7 @@
   :: CRSSparsity -> IO MX
 casADi__MX__ones x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__ones x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__ones x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -920,7 +918,7 @@
 casADi__MX__ones' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__ones_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__ones_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_ones' :: Int -> Int -> IO MX
@@ -934,7 +932,7 @@
   :: Int -> IO MX
 casADi__MX__ones'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__ones_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__ones_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx_ones'' :: Int -> IO MX
@@ -948,7 +946,7 @@
   :: CRSSparsity -> IO MX
 casADi__MX__inf x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__inf x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__inf x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -966,7 +964,7 @@
 casADi__MX__inf' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__inf_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__inf_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_inf' :: Int -> Int -> IO MX
@@ -980,7 +978,7 @@
   :: Int -> IO MX
 casADi__MX__inf'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__inf_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__inf_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx_inf'' :: Int -> IO MX
@@ -993,7 +991,7 @@
 casADi__MX__inf'''
   :: IO MX
 casADi__MX__inf'''  =
-  c_CasADi__MX__inf_TIC_TIC_TIC  >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__inf_TIC_TIC_TIC  >>= wrapReturn
 
 -- classy wrapper
 mx_inf''' :: IO MX
@@ -1007,7 +1005,7 @@
   :: CRSSparsity -> IO MX
 casADi__MX__nan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__nan x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__nan x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1025,7 +1023,7 @@
 casADi__MX__nan' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__nan_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__nan_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_nan' :: Int -> Int -> IO MX
@@ -1039,7 +1037,7 @@
   :: Int -> IO MX
 casADi__MX__nan'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__nan_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__nan_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx_nan'' :: Int -> IO MX
@@ -1052,7 +1050,7 @@
 casADi__MX__nan'''
   :: IO MX
 casADi__MX__nan'''  =
-  c_CasADi__MX__nan_TIC_TIC_TIC  >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__nan_TIC_TIC_TIC  >>= wrapReturn
 
 -- classy wrapper
 mx_nan''' :: IO MX
@@ -1068,7 +1066,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__MX__repmat x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__repmat x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1086,7 +1084,7 @@
 casADi__MX__repmat' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__repmat_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__repmat_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_repmat' :: MX -> Int -> IO MX
@@ -1100,7 +1098,7 @@
   :: Int -> IO MX
 casADi__MX__eye x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__eye x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__eye x0' >>= wrapReturn
 
 -- classy wrapper
 mx_eye :: Int -> IO MX
@@ -1115,7 +1113,7 @@
 casADi__MX__getNZ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__getNZ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__getNZ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_getNZ :: MXClass a => a -> Int -> IO MX
@@ -1130,7 +1128,7 @@
 casADi__MX__getNZ' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__getNZ_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__getNZ_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_getNZ' :: MXClass a => a -> Vector Int -> IO MX
@@ -1163,7 +1161,7 @@
 casADi__MX____add__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____add__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____add__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___add__ :: MXClass a => a -> MX -> IO MX
@@ -1178,7 +1176,7 @@
 casADi__MX____sub__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____sub__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____sub__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___sub__ :: MXClass a => a -> MX -> IO MX
@@ -1193,7 +1191,7 @@
 casADi__MX____mul__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____mul__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____mul__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___mul__ :: MXClass a => a -> MX -> IO MX
@@ -1208,7 +1206,7 @@
 casADi__MX____div__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____div__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____div__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___div__ :: MXClass a => a -> MX -> IO MX
@@ -1223,7 +1221,7 @@
 casADi__MX____lt__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____lt__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____lt__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___lt__ :: MXClass a => a -> MX -> IO MX
@@ -1238,7 +1236,7 @@
 casADi__MX____le__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____le__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____le__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___le__ :: MXClass a => a -> MX -> IO MX
@@ -1253,7 +1251,7 @@
 casADi__MX____eq__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____eq__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____eq__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___eq__ :: MXClass a => a -> MX -> IO MX
@@ -1268,7 +1266,7 @@
 casADi__MX____ne__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____ne__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____ne__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___ne__ :: MXClass a => a -> MX -> IO MX
@@ -1283,7 +1281,7 @@
 casADi__MX____truediv__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____truediv__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____truediv__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1301,7 +1299,7 @@
 casADi__MX____pow__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____pow__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____pow__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___pow__ :: MXClass a => a -> MX -> IO MX
@@ -1316,7 +1314,7 @@
 casADi__MX____constpow__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____constpow__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____constpow__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___constpow__ :: MXClass a => a -> MX -> IO MX
@@ -1331,7 +1329,7 @@
 casADi__MX____mrdivide__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____mrdivide__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____mrdivide__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___mrdivide__ :: MXClass a => a -> MX -> IO MX
@@ -1346,7 +1344,7 @@
 casADi__MX____mpower__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX____mpower__ x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX____mpower__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx___mpower__ :: MXClass a => a -> MX -> IO MX
@@ -1362,7 +1360,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__MX__mul x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__mul x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 mx_mul :: MXClass a => a -> MX -> CRSSparsity -> IO MX
@@ -1377,7 +1375,7 @@
 casADi__MX__mul' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__mul_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__mul_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_mul' :: MXClass a => a -> MX -> IO MX
@@ -1393,7 +1391,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__MX__mul_full x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__mul_full x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 mx_mul_full :: MXClass a => a -> MX -> CRSSparsity -> IO MX
@@ -1408,7 +1406,7 @@
 casADi__MX__mul_full' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__mul_full_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__mul_full_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_mul_full' :: MXClass a => a -> MX -> IO MX
@@ -1423,7 +1421,7 @@
 casADi__MX__inner_prod x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__inner_prod x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__inner_prod x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_inner_prod :: MXClass a => a -> MX -> IO MX
@@ -1438,7 +1436,7 @@
 casADi__MX__outer_prod x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__outer_prod x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__outer_prod x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_outer_prod :: MXClass a => a -> MX -> IO MX
@@ -1453,7 +1451,7 @@
 casADi__MX__constpow x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__constpow x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__constpow x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_constpow :: MXClass a => a -> MX -> IO MX
@@ -1468,7 +1466,7 @@
 casADi__MX__fmin x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__fmin x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__fmin x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_fmin :: MXClass a => a -> MX -> IO MX
@@ -1483,7 +1481,7 @@
 casADi__MX__fmax x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__fmax x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__fmax x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_fmax :: MXClass a => a -> MX -> IO MX
@@ -1498,7 +1496,7 @@
 casADi__MX__printme x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__printme x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__printme x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_printme :: MXClass a => a -> MX -> IO MX
@@ -1513,7 +1511,7 @@
 casADi__MX__arctan2 x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__arctan2 x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__arctan2 x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_arctan2 :: MXClass a => a -> MX -> IO MX
@@ -1528,7 +1526,7 @@
 casADi__MX__logic_and x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__logic_and x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__logic_and x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_logic_and :: MXClass a => a -> MX -> IO MX
@@ -1543,7 +1541,7 @@
 casADi__MX__logic_or x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__logic_or x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__logic_or x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_logic_or :: MXClass a => a -> MX -> IO MX
@@ -1558,7 +1556,7 @@
 casADi__MX__if_else_zero x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__if_else_zero x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__if_else_zero x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_if_else_zero :: MXClass a => a -> MX -> IO MX
@@ -1572,7 +1570,7 @@
   :: MX -> IO MX
 casADi__MX__exp x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__exp x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__exp x0' >>= wrapReturn
 
 -- classy wrapper
 mx_exp :: MXClass a => a -> IO MX
@@ -1586,7 +1584,7 @@
   :: MX -> IO MX
 casADi__MX__log x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__log x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__log x0' >>= wrapReturn
 
 -- classy wrapper
 mx_log :: MXClass a => a -> IO MX
@@ -1600,7 +1598,7 @@
   :: MX -> IO MX
 casADi__MX__log10 x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__log10 x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__log10 x0' >>= wrapReturn
 
 -- classy wrapper
 mx_log10 :: MXClass a => a -> IO MX
@@ -1614,7 +1612,7 @@
   :: MX -> IO MX
 casADi__MX__sqrt x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__sqrt x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__sqrt x0' >>= wrapReturn
 
 -- classy wrapper
 mx_sqrt :: MXClass a => a -> IO MX
@@ -1628,7 +1626,7 @@
   :: MX -> IO MX
 casADi__MX__sin x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__sin x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__sin x0' >>= wrapReturn
 
 -- classy wrapper
 mx_sin :: MXClass a => a -> IO MX
@@ -1642,7 +1640,7 @@
   :: MX -> IO MX
 casADi__MX__cos x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__cos x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__cos x0' >>= wrapReturn
 
 -- classy wrapper
 mx_cos :: MXClass a => a -> IO MX
@@ -1656,7 +1654,7 @@
   :: MX -> IO MX
 casADi__MX__tan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__tan x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__tan x0' >>= wrapReturn
 
 -- classy wrapper
 mx_tan :: MXClass a => a -> IO MX
@@ -1670,7 +1668,7 @@
   :: MX -> IO MX
 casADi__MX__arcsin x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arcsin x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__arcsin x0' >>= wrapReturn
 
 -- classy wrapper
 mx_arcsin :: MXClass a => a -> IO MX
@@ -1684,7 +1682,7 @@
   :: MX -> IO MX
 casADi__MX__arccos x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arccos x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__arccos x0' >>= wrapReturn
 
 -- classy wrapper
 mx_arccos :: MXClass a => a -> IO MX
@@ -1698,7 +1696,7 @@
   :: MX -> IO MX
 casADi__MX__arctan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arctan x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__arctan x0' >>= wrapReturn
 
 -- classy wrapper
 mx_arctan :: MXClass a => a -> IO MX
@@ -1712,7 +1710,7 @@
   :: MX -> IO MX
 casADi__MX__floor x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__floor x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__floor x0' >>= wrapReturn
 
 -- classy wrapper
 mx_floor :: MXClass a => a -> IO MX
@@ -1726,7 +1724,7 @@
   :: MX -> IO MX
 casADi__MX__ceil x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__ceil x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__ceil x0' >>= wrapReturn
 
 -- classy wrapper
 mx_ceil :: MXClass a => a -> IO MX
@@ -1740,7 +1738,7 @@
   :: MX -> IO MX
 casADi__MX__fabs x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__fabs x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__fabs x0' >>= wrapReturn
 
 -- classy wrapper
 mx_fabs :: MXClass a => a -> IO MX
@@ -1754,7 +1752,7 @@
   :: MX -> IO MX
 casADi__MX__sign x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__sign x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__sign x0' >>= wrapReturn
 
 -- classy wrapper
 mx_sign :: MXClass a => a -> IO MX
@@ -1768,7 +1766,7 @@
   :: MX -> IO MX
 casADi__MX__erfinv x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__erfinv x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__erfinv x0' >>= wrapReturn
 
 -- classy wrapper
 mx_erfinv :: MXClass a => a -> IO MX
@@ -1782,7 +1780,7 @@
   :: MX -> IO MX
 casADi__MX__erf x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__erf x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__erf x0' >>= wrapReturn
 
 -- classy wrapper
 mx_erf :: MXClass a => a -> IO MX
@@ -1796,7 +1794,7 @@
   :: MX -> IO MX
 casADi__MX__sinh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__sinh x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__sinh x0' >>= wrapReturn
 
 -- classy wrapper
 mx_sinh :: MXClass a => a -> IO MX
@@ -1810,7 +1808,7 @@
   :: MX -> IO MX
 casADi__MX__cosh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__cosh x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__cosh x0' >>= wrapReturn
 
 -- classy wrapper
 mx_cosh :: MXClass a => a -> IO MX
@@ -1824,7 +1822,7 @@
   :: MX -> IO MX
 casADi__MX__tanh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__tanh x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__tanh x0' >>= wrapReturn
 
 -- classy wrapper
 mx_tanh :: MXClass a => a -> IO MX
@@ -1838,7 +1836,7 @@
   :: MX -> IO MX
 casADi__MX__arcsinh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arcsinh x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__arcsinh x0' >>= wrapReturn
 
 -- classy wrapper
 mx_arcsinh :: MXClass a => a -> IO MX
@@ -1852,7 +1850,7 @@
   :: MX -> IO MX
 casADi__MX__arccosh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arccosh x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__arccosh x0' >>= wrapReturn
 
 -- classy wrapper
 mx_arccosh :: MXClass a => a -> IO MX
@@ -1866,7 +1864,7 @@
   :: MX -> IO MX
 casADi__MX__arctanh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__arctanh x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__arctanh x0' >>= wrapReturn
 
 -- classy wrapper
 mx_arctanh :: MXClass a => a -> IO MX
@@ -1880,7 +1878,7 @@
   :: MX -> IO MX
 casADi__MX__logic_not x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__logic_not x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__logic_not x0' >>= wrapReturn
 
 -- classy wrapper
 mx_logic_not :: MXClass a => a -> IO MX
@@ -1896,7 +1894,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__MX__attachAssert x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__attachAssert x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1916,7 +1914,7 @@
 casADi__MX__attachAssert' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__attachAssert_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__attachAssert_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_attachAssert' :: MXClass a => a -> MX -> IO MX
@@ -1925,14 +1923,14 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MX__setSparse" c_CasADi__MX__setSparse
-  :: Ptr MX' -> Ptr CRSSparsity' -> Ptr CppBool' -> IO (Ptr MX')
+  :: Ptr MX' -> Ptr CRSSparsity' -> CInt -> IO (Ptr MX')
 casADi__MX__setSparse
   :: MX -> CRSSparsity -> 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' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__setSparse x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1950,7 +1948,7 @@
 casADi__MX__setSparse' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__setSparse_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__setSparse_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx_setSparse' :: MXClass a => a -> CRSSparsity -> IO MX
@@ -1965,7 +1963,7 @@
 casADi__MX__makeDense x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__makeDense x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__makeDense x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1982,7 +1980,7 @@
   :: MX -> IO MX
 casADi__MX__makeDense' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__makeDense_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__makeDense_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx_makeDense' :: MXClass a => a -> IO MX
@@ -2093,7 +2091,7 @@
 casADi__MX__MX
   :: IO MX
 casADi__MX__MX  =
-  c_CasADi__MX__MX  >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX  >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2159,7 +2157,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__MX__MX_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 mx' :: String -> Int -> Int -> IO MX
@@ -2174,7 +2172,7 @@
 casADi__MX__MX'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__MX_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx'' :: String -> Int -> IO MX
@@ -2188,7 +2186,7 @@
   :: String -> IO MX
 casADi__MX__MX''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx''' :: String -> IO MX
@@ -2203,7 +2201,7 @@
 casADi__MX__MX'''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx'''' :: String -> CRSSparsity -> IO MX
@@ -2218,7 +2216,7 @@
 casADi__MX__MX''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx''''' :: CRSSparsity -> MX -> IO MX
@@ -2232,7 +2230,7 @@
   :: CRSSparsity -> IO MX
 casADi__MX__MX'''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx'''''' :: CRSSparsity -> IO MX
@@ -2246,7 +2244,7 @@
   :: Double -> IO MX
 casADi__MX__MX''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx''''''' :: Double -> IO MX
@@ -2260,7 +2258,7 @@
   :: MX -> IO MX
 casADi__MX__MX'''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx'''''''' :: MX -> IO MX
@@ -2274,7 +2272,7 @@
   :: Vector Double -> IO MX
 casADi__MX__MX''''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx''''''''' :: Vector Double -> IO MX
@@ -2288,7 +2286,7 @@
   :: DMatrix -> IO MX
 casADi__MX__MX'''''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mx'''''''''' :: DMatrix -> IO MX
@@ -2303,7 +2301,7 @@
 casADi__MX__MX''''''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 mx''''''''''' :: Int -> Int -> IO MX
@@ -2319,7 +2317,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 mx'''''''''''' :: Int -> Int -> MX -> IO MX
diff --git a/Casadi/Wrappers/Classes/MXFunction.hs b/Casadi/Wrappers/Classes/MXFunction.hs
--- a/Casadi/Wrappers/Classes/MXFunction.hs
+++ b/Casadi/Wrappers/Classes/MXFunction.hs
@@ -31,13 +31,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show MXFunction where
@@ -95,12 +93,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MXFunction__checkNode" c_CasADi__MXFunction__checkNode
-  :: Ptr MXFunction' -> IO (Ptr CppBool')
+  :: Ptr MXFunction' -> IO CInt
 casADi__MXFunction__checkNode
   :: MXFunction -> IO Bool
 casADi__MXFunction__checkNode x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__checkNode x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__MXFunction__checkNode x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -112,7 +110,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__MXFunction__jac" c_CasADi__MXFunction__jac
-  :: Ptr MXFunction' -> CInt -> CInt -> Ptr CppBool' -> Ptr CppBool' -> IO (Ptr MX')
+  :: 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 =
@@ -121,7 +119,7 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__MXFunction__jac x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MXFunction__jac x0' x1' x2' x3' x4' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -140,7 +138,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__MXFunction__grad x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__MXFunction__grad x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -157,7 +155,7 @@
   :: MXFunction -> IO (Vector MX)
 casADi__MXFunction__getFree x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__getFree x0' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  c_CasADi__MXFunction__getFree x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -193,7 +191,7 @@
   :: FX -> IO MXFunction
 casADi__MXFunction__MXFunction' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__MXFunction__MXFunction_TIC x0' >>= (newForeignPtr c_delete_CasADi__MXFunction) >>= wrapReturn
+  c_CasADi__MXFunction__MXFunction_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 mxFunction' :: FX -> IO MXFunction
@@ -208,7 +206,7 @@
 casADi__MXFunction__MXFunction x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__MXFunction__MXFunction x0' x1' >>= (newForeignPtr c_delete_CasADi__MXFunction) >>= wrapReturn
+  c_CasADi__MXFunction__MXFunction x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
diff --git a/Casadi/Wrappers/Classes/OptionsFunctionality.hs b/Casadi/Wrappers/Classes/OptionsFunctionality.hs
--- a/Casadi/Wrappers/Classes/OptionsFunctionality.hs
+++ b/Casadi/Wrappers/Classes/OptionsFunctionality.hs
@@ -40,13 +40,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show OptionsFunctionality where
@@ -94,7 +92,7 @@
 casADi__OptionsFunctionality__getOption x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOption x0' x1' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__OptionsFunctionality__getOption x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -106,13 +104,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__OptionsFunctionality__hasOption" c_CasADi__OptionsFunctionality__hasOption
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO (Ptr CppBool')
+  :: 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' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__OptionsFunctionality__hasOption x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -124,13 +122,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__OptionsFunctionality__hasSetOption" c_CasADi__OptionsFunctionality__hasSetOption
-  :: Ptr OptionsFunctionality' -> Ptr StdString' -> IO (Ptr CppBool')
+  :: 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' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__OptionsFunctionality__hasSetOption x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -156,7 +154,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__OptionsFunctionality__copyOptions" c_CasADi__OptionsFunctionality__copyOptions
-  :: Ptr OptionsFunctionality' -> Ptr OptionsFunctionality' -> Ptr CppBool' -> IO ()
+  :: Ptr OptionsFunctionality' -> Ptr OptionsFunctionality' -> CInt -> IO ()
 casADi__OptionsFunctionality__copyOptions
   :: OptionsFunctionality -> OptionsFunctionality -> Bool -> IO ()
 casADi__OptionsFunctionality__copyOptions x0 x1 x2 =
@@ -190,12 +188,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__OptionsFunctionality__checkNode" c_CasADi__OptionsFunctionality__checkNode
-  :: Ptr OptionsFunctionality' -> IO (Ptr CppBool')
+  :: Ptr OptionsFunctionality' -> IO CInt
 casADi__OptionsFunctionality__checkNode
   :: OptionsFunctionality -> IO Bool
 casADi__OptionsFunctionality__checkNode x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__OptionsFunctionality__checkNode x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__OptionsFunctionality__checkNode x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -212,7 +210,7 @@
   :: OptionsFunctionality -> IO (Vector String)
 casADi__OptionsFunctionality__getOptionNames x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__OptionsFunctionality__getOptionNames x0' >>= (newForeignPtr c_delete_std__vector_std__string_) >>= wrapReturn
+  c_CasADi__OptionsFunctionality__getOptionNames x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -230,7 +228,7 @@
 casADi__OptionsFunctionality__getOptionDescription x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOptionDescription x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__OptionsFunctionality__getOptionDescription x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -266,7 +264,7 @@
 casADi__OptionsFunctionality__getOptionTypeName x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOptionTypeName x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__OptionsFunctionality__getOptionTypeName x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -284,7 +282,7 @@
 casADi__OptionsFunctionality__getOptionAllowed x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOptionAllowed x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__GenericType_) >>= wrapReturn
+  c_CasADi__OptionsFunctionality__getOptionAllowed x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -376,7 +374,7 @@
 casADi__OptionsFunctionality__getOptionDefault x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__OptionsFunctionality__getOptionDefault x0' x1' >>= (newForeignPtr c_delete_CasADi__GenericType) >>= wrapReturn
+  c_CasADi__OptionsFunctionality__getOptionDefault x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -392,7 +390,7 @@
 casADi__OptionsFunctionality__OptionsFunctionality
   :: IO OptionsFunctionality
 casADi__OptionsFunctionality__OptionsFunctionality  =
-  c_CasADi__OptionsFunctionality__OptionsFunctionality  >>= (newForeignPtr c_delete_CasADi__OptionsFunctionality) >>= wrapReturn
+  c_CasADi__OptionsFunctionality__OptionsFunctionality  >>= wrapReturn
 
 -- classy wrapper
 {-|
diff --git a/Casadi/Wrappers/Classes/PrintableObject.hs b/Casadi/Wrappers/Classes/PrintableObject.hs
--- a/Casadi/Wrappers/Classes/PrintableObject.hs
+++ b/Casadi/Wrappers/Classes/PrintableObject.hs
@@ -22,13 +22,11 @@
 import Foreign.ForeignPtr ( newForeignPtr )
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show PrintableObject where
@@ -40,7 +38,7 @@
   :: PrintableObject -> IO String
 casADi__PrintableObject__getRepresentation x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__PrintableObject__getRepresentation x0' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__PrintableObject__getRepresentation x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -57,7 +55,7 @@
   :: PrintableObject -> IO String
 casADi__PrintableObject__getDescription x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__PrintableObject__getDescription x0' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__PrintableObject__getDescription x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
diff --git a/Casadi/Wrappers/Classes/SX.hs b/Casadi/Wrappers/Classes/SX.hs
--- a/Casadi/Wrappers/Classes/SX.hs
+++ b/Casadi/Wrappers/Classes/SX.hs
@@ -116,13 +116,11 @@
 import Foreign.ForeignPtr ( newForeignPtr )
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 -- direct wrapper
@@ -134,7 +132,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__SX__binary x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__binary x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 sx_binary :: Int -> SX -> SX -> IO SX
@@ -149,7 +147,7 @@
 casADi__SX__unary x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__unary x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__unary x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_unary :: Int -> SX -> IO SX
@@ -158,12 +156,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX____nonzero__" c_CasADi__SX____nonzero__
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX____nonzero__
   :: SX -> IO Bool
 casADi__SX____nonzero__ x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX____nonzero__ x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX____nonzero__ x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -176,12 +174,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isLeaf" c_CasADi__SX__isLeaf
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isLeaf
   :: SX -> IO Bool
 casADi__SX__isLeaf x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isLeaf x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isLeaf x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -195,12 +193,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isConstant" c_CasADi__SX__isConstant
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isConstant
   :: SX -> IO Bool
 casADi__SX__isConstant x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isConstant x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isConstant x0' >>= wrapReturn
 
 -- classy wrapper
 sx_isConstant :: SXClass a => a -> IO Bool
@@ -209,12 +207,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isInteger" c_CasADi__SX__isInteger
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isInteger
   :: SX -> IO Bool
 casADi__SX__isInteger x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isInteger x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isInteger x0' >>= wrapReturn
 
 -- classy wrapper
 sx_isInteger :: SXClass a => a -> IO Bool
@@ -223,12 +221,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isSymbolic" c_CasADi__SX__isSymbolic
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isSymbolic
   :: SX -> IO Bool
 casADi__SX__isSymbolic x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isSymbolic x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isSymbolic x0' >>= wrapReturn
 
 -- classy wrapper
 sx_isSymbolic :: SXClass a => a -> IO Bool
@@ -237,12 +235,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__hasDep" c_CasADi__SX__hasDep
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__hasDep
   :: SX -> IO Bool
 casADi__SX__hasDep x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__hasDep x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__hasDep x0' >>= wrapReturn
 
 -- classy wrapper
 sx_hasDep :: SXClass a => a -> IO Bool
@@ -251,12 +249,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isCommutative" c_CasADi__SX__isCommutative
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isCommutative
   :: SX -> IO Bool
 casADi__SX__isCommutative x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isCommutative x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isCommutative x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -268,12 +266,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isZero" c_CasADi__SX__isZero
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isZero
   :: SX -> IO Bool
 casADi__SX__isZero x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isZero x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isZero x0' >>= wrapReturn
 
 -- classy wrapper
 sx_isZero :: SXClass a => a -> IO Bool
@@ -282,12 +280,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isOne" c_CasADi__SX__isOne
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isOne
   :: SX -> IO Bool
 casADi__SX__isOne x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isOne x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isOne x0' >>= wrapReturn
 
 -- classy wrapper
 sx_isOne :: SXClass a => a -> IO Bool
@@ -296,12 +294,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isMinusOne" c_CasADi__SX__isMinusOne
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isMinusOne
   :: SX -> IO Bool
 casADi__SX__isMinusOne x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isMinusOne x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isMinusOne x0' >>= wrapReturn
 
 -- classy wrapper
 sx_isMinusOne :: SXClass a => a -> IO Bool
@@ -310,12 +308,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isNan" c_CasADi__SX__isNan
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isNan
   :: SX -> IO Bool
 casADi__SX__isNan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isNan x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isNan x0' >>= wrapReturn
 
 -- classy wrapper
 sx_isNan :: SXClass a => a -> IO Bool
@@ -324,12 +322,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isInf" c_CasADi__SX__isInf
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isInf
   :: SX -> IO Bool
 casADi__SX__isInf x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isInf x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isInf x0' >>= wrapReturn
 
 -- classy wrapper
 sx_isInf :: SXClass a => a -> IO Bool
@@ -338,12 +336,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isMinusInf" c_CasADi__SX__isMinusInf
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isMinusInf
   :: SX -> IO Bool
 casADi__SX__isMinusInf x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isMinusInf x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isMinusInf x0' >>= wrapReturn
 
 -- classy wrapper
 sx_isMinusInf :: SXClass a => a -> IO Bool
@@ -366,13 +364,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isOp" c_CasADi__SX__isOp
-  :: Ptr SX' -> CInt -> IO (Ptr CppBool')
+  :: Ptr SX' -> CInt -> IO CInt
 casADi__SX__isOp
   :: SX -> Int -> IO Bool
 casADi__SX__isOp x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__isOp x0' x1' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isOp x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_isOp :: SXClass a => a -> Int -> IO Bool
@@ -381,14 +379,14 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isEqual" c_CasADi__SX__isEqual
-  :: Ptr SX' -> Ptr SX' -> CInt -> IO (Ptr CppBool')
+  :: Ptr SX' -> Ptr SX' -> CInt -> IO CInt
 casADi__SX__isEqual
   :: SX -> SX -> Int -> IO Bool
 casADi__SX__isEqual x0 x1 x2 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__SX__isEqual x0' x1' x2' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isEqual x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -405,13 +403,13 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isEqual_TIC" c_CasADi__SX__isEqual_TIC
-  :: Ptr SX' -> Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> Ptr SX' -> IO CInt
 casADi__SX__isEqual'
   :: SX -> SX -> IO Bool
 casADi__SX__isEqual' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__isEqual_TIC x0' x1' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isEqual_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_isEqual' :: SXClass a => a -> SX -> IO Bool
@@ -420,12 +418,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isNonNegative" c_CasADi__SX__isNonNegative
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isNonNegative
   :: SX -> IO Bool
 casADi__SX__isNonNegative x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isNonNegative x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isNonNegative x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -471,7 +469,7 @@
 casADi__SX__getDep x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__getDep x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__getDep x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_getDep :: SXClass a => a -> Int -> IO SX
@@ -485,7 +483,7 @@
   :: SX -> IO SX
 casADi__SX__getDep' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__getDep_TIC x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__getDep_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sx_getDep' :: SXClass a => a -> IO SX
@@ -494,12 +492,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isDoubled" c_CasADi__SX__isDoubled
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isDoubled
   :: SX -> IO Bool
 casADi__SX__isDoubled x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isDoubled x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isDoubled x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -551,7 +549,7 @@
   :: SX -> IO SX
 casADi__SX__operator_minus x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__operator_minus x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__operator_minus x0' >>= wrapReturn
 
 -- classy wrapper
 sx_operator_minus :: SXClass a => a -> IO SX
@@ -566,7 +564,7 @@
 casADi__SX____add__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____add__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____add__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___add__ :: SXClass a => a -> SX -> IO SX
@@ -581,7 +579,7 @@
 casADi__SX____sub__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____sub__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____sub__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___sub__ :: SXClass a => a -> SX -> IO SX
@@ -596,7 +594,7 @@
 casADi__SX____mul__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____mul__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____mul__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___mul__ :: SXClass a => a -> SX -> IO SX
@@ -611,7 +609,7 @@
 casADi__SX____div__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____div__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____div__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___div__ :: SXClass a => a -> SX -> IO SX
@@ -626,7 +624,7 @@
 casADi__SX____lt__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____lt__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____lt__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___lt__ :: SXClass a => a -> SX -> IO SX
@@ -641,7 +639,7 @@
 casADi__SX____le__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____le__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____le__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___le__ :: SXClass a => a -> SX -> IO SX
@@ -656,7 +654,7 @@
 casADi__SX____eq__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____eq__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____eq__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___eq__ :: SXClass a => a -> SX -> IO SX
@@ -671,7 +669,7 @@
 casADi__SX____ne__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____ne__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____ne__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___ne__ :: SXClass a => a -> SX -> IO SX
@@ -686,7 +684,7 @@
 casADi__SX____truediv__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____truediv__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____truediv__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -704,7 +702,7 @@
 casADi__SX____pow__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____pow__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____pow__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___pow__ :: SXClass a => a -> SX -> IO SX
@@ -719,7 +717,7 @@
 casADi__SX____constpow__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____constpow__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____constpow__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___constpow__ :: SXClass a => a -> SX -> IO SX
@@ -734,7 +732,7 @@
 casADi__SX____mrdivide__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____mrdivide__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____mrdivide__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___mrdivide__ :: SXClass a => a -> SX -> IO SX
@@ -749,7 +747,7 @@
 casADi__SX____mpower__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX____mpower__ x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX____mpower__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx___mpower__ :: SXClass a => a -> SX -> IO SX
@@ -763,7 +761,7 @@
   :: SX -> IO SX
 casADi__SX__trans x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__trans x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__trans x0' >>= wrapReturn
 
 -- classy wrapper
 sx_trans :: SXClass a => a -> IO SX
@@ -778,7 +776,7 @@
 casADi__SX__mul x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__mul x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__mul x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -796,7 +794,7 @@
   :: SX -> IO SX
 casADi__SX__exp x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__exp x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__exp x0' >>= wrapReturn
 
 -- classy wrapper
 sx_exp :: SXClass a => a -> IO SX
@@ -810,7 +808,7 @@
   :: SX -> IO SX
 casADi__SX__log x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__log x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__log x0' >>= wrapReturn
 
 -- classy wrapper
 sx_log :: SXClass a => a -> IO SX
@@ -824,7 +822,7 @@
   :: SX -> IO SX
 casADi__SX__sqrt x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__sqrt x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__sqrt x0' >>= wrapReturn
 
 -- classy wrapper
 sx_sqrt :: SXClass a => a -> IO SX
@@ -838,7 +836,7 @@
   :: SX -> IO SX
 casADi__SX__sq x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__sq x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__sq x0' >>= wrapReturn
 
 -- classy wrapper
 sx_sq :: SXClass a => a -> IO SX
@@ -852,7 +850,7 @@
   :: SX -> IO SX
 casADi__SX__sin x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__sin x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__sin x0' >>= wrapReturn
 
 -- classy wrapper
 sx_sin :: SXClass a => a -> IO SX
@@ -866,7 +864,7 @@
   :: SX -> IO SX
 casADi__SX__cos x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__cos x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__cos x0' >>= wrapReturn
 
 -- classy wrapper
 sx_cos :: SXClass a => a -> IO SX
@@ -880,7 +878,7 @@
   :: SX -> IO SX
 casADi__SX__tan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__tan x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__tan x0' >>= wrapReturn
 
 -- classy wrapper
 sx_tan :: SXClass a => a -> IO SX
@@ -894,7 +892,7 @@
   :: SX -> IO SX
 casADi__SX__arcsin x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__arcsin x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__arcsin x0' >>= wrapReturn
 
 -- classy wrapper
 sx_arcsin :: SXClass a => a -> IO SX
@@ -908,7 +906,7 @@
   :: SX -> IO SX
 casADi__SX__arccos x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__arccos x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__arccos x0' >>= wrapReturn
 
 -- classy wrapper
 sx_arccos :: SXClass a => a -> IO SX
@@ -922,7 +920,7 @@
   :: SX -> IO SX
 casADi__SX__arctan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__arctan x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__arctan x0' >>= wrapReturn
 
 -- classy wrapper
 sx_arctan :: SXClass a => a -> IO SX
@@ -936,7 +934,7 @@
   :: SX -> IO SX
 casADi__SX__floor x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__floor x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__floor x0' >>= wrapReturn
 
 -- classy wrapper
 sx_floor :: SXClass a => a -> IO SX
@@ -950,7 +948,7 @@
   :: SX -> IO SX
 casADi__SX__ceil x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__ceil x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__ceil x0' >>= wrapReturn
 
 -- classy wrapper
 sx_ceil :: SXClass a => a -> IO SX
@@ -964,7 +962,7 @@
   :: SX -> IO SX
 casADi__SX__erf x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__erf x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__erf x0' >>= wrapReturn
 
 -- classy wrapper
 sx_erf :: SXClass a => a -> IO SX
@@ -978,7 +976,7 @@
   :: SX -> IO SX
 casADi__SX__erfinv x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__erfinv x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__erfinv x0' >>= wrapReturn
 
 -- classy wrapper
 sx_erfinv :: SXClass a => a -> IO SX
@@ -992,7 +990,7 @@
   :: SX -> IO SX
 casADi__SX__fabs x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__fabs x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__fabs x0' >>= wrapReturn
 
 -- classy wrapper
 sx_fabs :: SXClass a => a -> IO SX
@@ -1007,7 +1005,7 @@
 casADi__SX__fmin x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__fmin x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__fmin x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_fmin :: SXClass a => a -> SX -> IO SX
@@ -1022,7 +1020,7 @@
 casADi__SX__fmax x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__fmax x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__fmax x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_fmax :: SXClass a => a -> SX -> IO SX
@@ -1036,7 +1034,7 @@
   :: SX -> IO SX
 casADi__SX__inv x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__inv x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__inv x0' >>= wrapReturn
 
 -- classy wrapper
 sx_inv :: SXClass a => a -> IO SX
@@ -1050,7 +1048,7 @@
   :: SX -> IO SX
 casADi__SX__sinh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__sinh x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__sinh x0' >>= wrapReturn
 
 -- classy wrapper
 sx_sinh :: SXClass a => a -> IO SX
@@ -1064,7 +1062,7 @@
   :: SX -> IO SX
 casADi__SX__cosh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__cosh x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__cosh x0' >>= wrapReturn
 
 -- classy wrapper
 sx_cosh :: SXClass a => a -> IO SX
@@ -1078,7 +1076,7 @@
   :: SX -> IO SX
 casADi__SX__tanh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__tanh x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__tanh x0' >>= wrapReturn
 
 -- classy wrapper
 sx_tanh :: SXClass a => a -> IO SX
@@ -1092,7 +1090,7 @@
   :: SX -> IO SX
 casADi__SX__arcsinh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__arcsinh x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__arcsinh x0' >>= wrapReturn
 
 -- classy wrapper
 sx_arcsinh :: SXClass a => a -> IO SX
@@ -1106,7 +1104,7 @@
   :: SX -> IO SX
 casADi__SX__arccosh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__arccosh x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__arccosh x0' >>= wrapReturn
 
 -- classy wrapper
 sx_arccosh :: SXClass a => a -> IO SX
@@ -1120,7 +1118,7 @@
   :: SX -> IO SX
 casADi__SX__arctanh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__arctanh x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__arctanh x0' >>= wrapReturn
 
 -- classy wrapper
 sx_arctanh :: SXClass a => a -> IO SX
@@ -1135,7 +1133,7 @@
 casADi__SX__arctan2 x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__arctan2 x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__arctan2 x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_arctan2 :: SXClass a => a -> SX -> IO SX
@@ -1149,7 +1147,7 @@
   :: SX -> IO SX
 casADi__SX__log10 x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__log10 x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__log10 x0' >>= wrapReturn
 
 -- classy wrapper
 sx_log10 :: SXClass a => a -> IO SX
@@ -1164,7 +1162,7 @@
 casADi__SX__printme x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__printme x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__printme x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_printme :: SXClass a => a -> SX -> IO SX
@@ -1178,7 +1176,7 @@
   :: SX -> IO SX
 casADi__SX__sign x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__sign x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__sign x0' >>= wrapReturn
 
 -- classy wrapper
 sx_sign :: SXClass a => a -> IO SX
@@ -1193,7 +1191,7 @@
 casADi__SX__constpow x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__constpow x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__constpow x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_constpow :: SXClass a => a -> SX -> IO SX
@@ -1207,7 +1205,7 @@
   :: SX -> IO SX
 casADi__SX__logic_not x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__logic_not x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__logic_not x0' >>= wrapReturn
 
 -- classy wrapper
 sx_logic_not :: SXClass a => a -> IO SX
@@ -1222,7 +1220,7 @@
 casADi__SX__logic_and x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__logic_and x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__logic_and x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_logic_and :: SXClass a => a -> SX -> IO SX
@@ -1237,7 +1235,7 @@
 casADi__SX__logic_or x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__logic_or x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__logic_or x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_logic_or :: SXClass a => a -> SX -> IO SX
@@ -1252,7 +1250,7 @@
 casADi__SX__if_else_zero x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__if_else_zero x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__if_else_zero x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_if_else_zero :: SXClass a => a -> SX -> IO SX
@@ -1267,7 +1265,7 @@
 casADi__SX__fmin' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__fmin_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__SX__fmin_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_fmin' :: SXClass a => a -> SXMatrix -> IO SXMatrix
@@ -1282,7 +1280,7 @@
 casADi__SX__fmax' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__fmax_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__SX__fmax_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_fmax' :: SXClass a => a -> SXMatrix -> IO SXMatrix
@@ -1297,7 +1295,7 @@
 casADi__SX__constpow' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__constpow_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__SX__constpow_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_constpow' :: SXClass a => a -> SXMatrix -> IO SXMatrix
@@ -1312,7 +1310,7 @@
 casADi__SX__arctan2' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SX__arctan2_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__SX__arctan2_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sx_arctan2' :: SXClass a => a -> SXMatrix -> IO SXMatrix
@@ -1350,12 +1348,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__marked" c_CasADi__SX__marked
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__marked
   :: SX -> IO Bool
 casADi__SX__marked x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__marked x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__marked x0' >>= wrapReturn
 
 -- classy wrapper
 sx_marked :: SXClass a => a -> IO Bool
@@ -1493,12 +1491,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SX__isNull" c_CasADi__SX__isNull
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 casADi__SX__isNull
   :: SX -> IO Bool
 casADi__SX__isNull x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__isNull x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SX__isNull x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1514,7 +1512,7 @@
 casADi__SX__SX
   :: IO SX
 casADi__SX__SX  =
-  c_CasADi__SX__SX  >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__SX  >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1582,7 +1580,7 @@
   :: Double -> IO SX
 casADi__SX__SX' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__SX_TIC x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__SX_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sx' :: Double -> IO SX
@@ -1596,7 +1594,7 @@
   :: String -> IO SX
 casADi__SX__SX'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SX__SX_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__SX__SX_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sx'' :: String -> IO SX
diff --git a/Casadi/Wrappers/Classes/SXFunction.hs b/Casadi/Wrappers/Classes/SXFunction.hs
--- a/Casadi/Wrappers/Classes/SXFunction.hs
+++ b/Casadi/Wrappers/Classes/SXFunction.hs
@@ -36,20 +36,18 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+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 -> Ptr CppBool' -> Ptr CppBool' -> IO (Ptr SXMatrix')
+  :: Ptr SXFunction' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr SXMatrix')
 casADi__SXFunction__jac
   :: SXFunction -> Int -> Int -> Bool -> Bool -> IO SXMatrix
 casADi__SXFunction__jac x0 x1 x2 x3 x4 =
@@ -58,7 +56,7 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__SXFunction__jac x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__SXFunction__jac x0' x1' x2' x3' x4' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -79,7 +77,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__grad x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__SXFunction__grad x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -98,7 +96,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__SXFunction__hess x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__SXFunction__hess x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -220,7 +218,7 @@
   :: SXFunction -> IO (Vector SX)
 casADi__SXFunction__getFree x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__getFree x0' >>= (newForeignPtr c_delete_std__vector_CasADi__SX_) >>= wrapReturn
+  c_CasADi__SXFunction__getFree x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -238,7 +236,7 @@
 casADi__SXFunction__indexed_one_based x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__indexed_one_based x0' x1' >>= (newForeignPtr c_delete_CasADi__SXFunction) >>= wrapReturn
+  c_CasADi__SXFunction__indexed_one_based x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxFunction_indexed_one_based :: SXFunctionClass a => a -> Int -> IO SXFunction
@@ -253,7 +251,7 @@
 casADi__SXFunction__indexed_zero_based x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__indexed_zero_based x0' x1' >>= (newForeignPtr c_delete_CasADi__SXFunction) >>= wrapReturn
+  c_CasADi__SXFunction__indexed_zero_based x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxFunction_indexed_zero_based :: SXFunctionClass a => a -> Int -> IO SXFunction
@@ -267,7 +265,7 @@
   :: MXFunction -> IO SXFunction
 casADi__SXFunction__SXFunction' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__SXFunction_TIC x0' >>= (newForeignPtr c_delete_CasADi__SXFunction) >>= wrapReturn
+  c_CasADi__SXFunction__SXFunction_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxFunction' :: MXFunction -> IO SXFunction
@@ -281,7 +279,7 @@
   :: FX -> IO SXFunction
 casADi__SXFunction__SXFunction'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SXFunction__SXFunction_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__SXFunction) >>= wrapReturn
+  c_CasADi__SXFunction__SXFunction_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxFunction'' :: FX -> IO SXFunction
@@ -296,7 +294,7 @@
 casADi__SXFunction__SXFunction''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__SXFunction__SXFunction_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__SXFunction) >>= wrapReturn
+  c_CasADi__SXFunction__SXFunction_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxFunction''' :: Vector SXMatrix -> Vector SXMatrix -> IO SXFunction
diff --git a/Casadi/Wrappers/Classes/SXMatrix.hs b/Casadi/Wrappers/Classes/SXMatrix.hs
--- a/Casadi/Wrappers/Classes/SXMatrix.hs
+++ b/Casadi/Wrappers/Classes/SXMatrix.hs
@@ -162,13 +162,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show SXMatrix where
@@ -231,7 +229,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_CasADi__SX___sanityCheck" c_CasADi__Matrix_CasADi__SX___sanityCheck
-  :: Ptr SXMatrix' -> Ptr CppBool' -> IO ()
+  :: Ptr SXMatrix' -> CInt -> IO ()
 casADi__Matrix_CasADi__SX___sanityCheck
   :: SXMatrix -> Bool -> IO ()
 casADi__Matrix_CasADi__SX___sanityCheck x0 x1 =
@@ -269,12 +267,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_CasADi__SX___vector" c_CasADi__Matrix_CasADi__SX___vector
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 casADi__Matrix_CasADi__SX___vector
   :: SXMatrix -> IO Bool
 casADi__Matrix_CasADi__SX___vector x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___vector x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___vector x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -294,7 +292,7 @@
 casADi__Matrix_CasADi__SX___at x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___at x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___at x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -321,7 +319,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___elem x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___elem x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -347,7 +345,7 @@
 casADi__Matrix_CasADi__SX___elem' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___elem_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___elem_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_elem' :: SXMatrixClass a => a -> Int -> IO SX
@@ -356,14 +354,14 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_CasADi__SX___hasNZ" c_CasADi__Matrix_CasADi__SX___hasNZ
-  :: Ptr SXMatrix' -> CInt -> CInt -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> CInt -> CInt -> IO CInt
 casADi__Matrix_CasADi__SX___hasNZ
   :: SXMatrix -> Int -> Int -> IO Bool
 casADi__Matrix_CasADi__SX___hasNZ x0 x1 x2 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___hasNZ x0' x1' x2' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___hasNZ x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -375,12 +373,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_CasADi__SX_____nonzero__" c_CasADi__Matrix_CasADi__SX_____nonzero__
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 casADi__Matrix_CasADi__SX_____nonzero__
   :: SXMatrix -> IO Bool
 casADi__Matrix_CasADi__SX_____nonzero__ x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX_____nonzero__ x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____nonzero__ x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -415,7 +413,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___operator_plus x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___operator_plus x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___operator_plus x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_operator_plus :: SXMatrixClass a => a -> IO SXMatrix
@@ -429,7 +427,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___operator_minus x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___operator_minus x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___operator_minus x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_operator_minus :: SXMatrixClass a => a -> IO SXMatrix
@@ -445,7 +443,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___binary x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___binary x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -463,7 +461,7 @@
 casADi__Matrix_CasADi__SX___unary x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___unary x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___unary x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -482,7 +480,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___scalar_matrix x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___scalar_matrix x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -501,7 +499,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___matrix_scalar x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___matrix_scalar x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -520,7 +518,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___matrix_matrix x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___matrix_matrix x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -538,7 +536,7 @@
 casADi__Matrix_CasADi__SX_____add__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____add__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____add__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -556,7 +554,7 @@
 casADi__Matrix_CasADi__SX_____sub__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____sub__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____sub__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -574,7 +572,7 @@
 casADi__Matrix_CasADi__SX_____mul__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____mul__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____mul__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -592,7 +590,7 @@
 casADi__Matrix_CasADi__SX_____div__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____div__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____div__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -610,7 +608,7 @@
 casADi__Matrix_CasADi__SX_____lt__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____lt__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____lt__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -628,7 +626,7 @@
 casADi__Matrix_CasADi__SX_____le__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____le__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____le__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -646,7 +644,7 @@
 casADi__Matrix_CasADi__SX_____eq__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____eq__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____eq__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -664,7 +662,7 @@
 casADi__Matrix_CasADi__SX_____ne__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____ne__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____ne__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -682,7 +680,7 @@
 casADi__Matrix_CasADi__SX_____truediv__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____truediv__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____truediv__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -700,7 +698,7 @@
 casADi__Matrix_CasADi__SX_____pow__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____pow__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____pow__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -718,7 +716,7 @@
 casADi__Matrix_CasADi__SX_____constpow__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____constpow__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____constpow__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -736,7 +734,7 @@
 casADi__Matrix_CasADi__SX_____mpower__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____mpower__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____mpower__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -754,7 +752,7 @@
 casADi__Matrix_CasADi__SX_____mrdivide__ x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX_____mrdivide__ x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX_____mrdivide__ x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -773,7 +771,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___mul_full x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___mul_full x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -791,7 +789,7 @@
 casADi__Matrix_CasADi__SX___mul_full' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___mul_full_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___mul_full_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_mul_full' :: SXMatrixClass a => a -> SXMatrix -> IO SXMatrix
@@ -807,7 +805,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___mul x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___mul x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -825,7 +823,7 @@
 casADi__Matrix_CasADi__SX___mul' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___mul_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___mul_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_mul' :: SXMatrixClass a => a -> SXMatrix -> IO SXMatrix
@@ -920,7 +918,7 @@
 casADi__Matrix_CasADi__SX___quad_form x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___quad_form x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___quad_form x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_quad_form :: SXMatrix -> Vector SX -> IO SX
@@ -934,7 +932,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___trans x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___trans x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___trans x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -951,7 +949,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___sin x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___sin x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___sin x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -969,7 +967,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___cos x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___cos x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___cos x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -987,7 +985,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___tan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___tan x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___tan x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1005,7 +1003,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___arcsin x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___arcsin x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___arcsin x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1023,7 +1021,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___arccos x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___arccos x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___arccos x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1041,7 +1039,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___arctan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___arctan x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___arctan x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1059,7 +1057,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___exp x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___exp x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___exp x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1077,7 +1075,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___log x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___log x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___log x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1095,7 +1093,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___sqrt x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___sqrt x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___sqrt x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1113,7 +1111,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___floor x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___floor x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___floor x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1131,7 +1129,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___ceil x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___ceil x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___ceil x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1149,7 +1147,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___fabs x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___fabs x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___fabs x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1167,7 +1165,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___sign x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___sign x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___sign x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1185,7 +1183,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___erfinv x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___erfinv x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___erfinv x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1204,7 +1202,7 @@
 casADi__Matrix_CasADi__SX___fmin x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___fmin x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___fmin x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1223,7 +1221,7 @@
 casADi__Matrix_CasADi__SX___fmax x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___fmax x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___fmax x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1241,7 +1239,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___erf x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___erf x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___erf x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1259,7 +1257,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___sinh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___sinh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___sinh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1277,7 +1275,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___cosh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___cosh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___cosh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1295,7 +1293,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___tanh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___tanh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___tanh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1313,7 +1311,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___arcsinh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___arcsinh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___arcsinh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1331,7 +1329,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___arccosh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___arccosh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___arccosh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1349,7 +1347,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___arctanh x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___arctanh x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___arctanh x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1368,7 +1366,7 @@
 casADi__Matrix_CasADi__SX___arctan2 x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___arctan2 x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___arctan2 x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1386,7 +1384,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___log10 x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___log10 x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___log10 x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1405,7 +1403,7 @@
 casADi__Matrix_CasADi__SX___printme x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___printme x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___printme x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1423,7 +1421,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___logic_not x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___logic_not x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___logic_not x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1442,7 +1440,7 @@
 casADi__Matrix_CasADi__SX___logic_and x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___logic_and x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___logic_and x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1461,7 +1459,7 @@
 casADi__Matrix_CasADi__SX___logic_or x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___logic_or x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___logic_or x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1480,7 +1478,7 @@
 casADi__Matrix_CasADi__SX___if_else_zero x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___if_else_zero x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___if_else_zero x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1497,7 +1495,7 @@
 casADi__Matrix_CasADi__SX___className
   :: IO String
 casADi__Matrix_CasADi__SX___className  =
-  c_CasADi__Matrix_CasADi__SX___className  >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___className  >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1735,7 +1733,7 @@
   :: SXMatrix -> IO (Vector SX)
 casADi__Matrix_CasADi__SX___data x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___data x0' >>= (newForeignPtr c_delete_std__vector_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___data x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -1760,7 +1758,7 @@
   :: SXMatrix -> IO CRSSparsity
 casADi__Matrix_CasADi__SX___sparsityRef x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___sparsityRef x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___sparsityRef x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2006,7 +2004,7 @@
 casADi__Matrix_CasADi__SX___sparse x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___sparse x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___sparse x0' x1' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2035,7 +2033,7 @@
   :: Int -> IO SXMatrix
 casADi__Matrix_CasADi__SX___sparse' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___sparse_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___sparse_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_sparse' :: Int -> IO SXMatrix
@@ -2051,7 +2049,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___sparse_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___sparse_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_sparse'' :: Vector Int -> Vector Int -> Vector SX -> IO SXMatrix
@@ -2069,7 +2067,7 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__Matrix_CasADi__SX___sparse_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___sparse_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_sparse''' :: Vector Int -> Vector Int -> Vector SX -> Int -> Int -> IO SXMatrix
@@ -2083,7 +2081,7 @@
   :: CRSSparsity -> IO SXMatrix
 casADi__Matrix_CasADi__SX___zeros x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___zeros x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___zeros x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2101,7 +2099,7 @@
 casADi__Matrix_CasADi__SX___zeros' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___zeros_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___zeros_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_zeros' :: Int -> Int -> IO SXMatrix
@@ -2115,7 +2113,7 @@
   :: Int -> IO SXMatrix
 casADi__Matrix_CasADi__SX___zeros'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___zeros_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___zeros_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_zeros'' :: Int -> IO SXMatrix
@@ -2129,7 +2127,7 @@
   :: CRSSparsity -> IO SXMatrix
 casADi__Matrix_CasADi__SX___ones x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___ones x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___ones x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2147,7 +2145,7 @@
 casADi__Matrix_CasADi__SX___ones' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___ones_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___ones_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_ones' :: Int -> Int -> IO SXMatrix
@@ -2161,7 +2159,7 @@
   :: Int -> IO SXMatrix
 casADi__Matrix_CasADi__SX___ones'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___ones_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___ones_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_ones'' :: Int -> IO SXMatrix
@@ -2175,7 +2173,7 @@
   :: CRSSparsity -> IO SXMatrix
 casADi__Matrix_CasADi__SX___inf x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___inf x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___inf x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2193,7 +2191,7 @@
 casADi__Matrix_CasADi__SX___inf' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___inf_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___inf_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_inf' :: Int -> Int -> IO SXMatrix
@@ -2207,7 +2205,7 @@
   :: Int -> IO SXMatrix
 casADi__Matrix_CasADi__SX___inf'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___inf_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___inf_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_inf'' :: Int -> IO SXMatrix
@@ -2220,7 +2218,7 @@
 casADi__Matrix_CasADi__SX___inf'''
   :: IO SXMatrix
 casADi__Matrix_CasADi__SX___inf'''  =
-  c_CasADi__Matrix_CasADi__SX___inf_TIC_TIC_TIC  >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___inf_TIC_TIC_TIC  >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_inf''' :: IO SXMatrix
@@ -2234,7 +2232,7 @@
   :: CRSSparsity -> IO SXMatrix
 casADi__Matrix_CasADi__SX___nan x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___nan x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___nan x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2252,7 +2250,7 @@
 casADi__Matrix_CasADi__SX___nan' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___nan_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___nan_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_nan' :: Int -> Int -> IO SXMatrix
@@ -2266,7 +2264,7 @@
   :: Int -> IO SXMatrix
 casADi__Matrix_CasADi__SX___nan'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___nan_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___nan_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_nan'' :: Int -> IO SXMatrix
@@ -2279,7 +2277,7 @@
 casADi__Matrix_CasADi__SX___nan'''
   :: IO SXMatrix
 casADi__Matrix_CasADi__SX___nan'''  =
-  c_CasADi__Matrix_CasADi__SX___nan_TIC_TIC_TIC  >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___nan_TIC_TIC_TIC  >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_nan''' :: IO SXMatrix
@@ -2295,7 +2293,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___repmat x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___repmat x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2313,7 +2311,7 @@
 casADi__Matrix_CasADi__SX___repmat' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___repmat_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___repmat_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_repmat' :: SXMatrix -> Int -> IO SXMatrix
@@ -2327,7 +2325,7 @@
   :: Int -> IO SXMatrix
 casADi__Matrix_CasADi__SX___eye x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___eye x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___eye x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix_eye :: Int -> IO SXMatrix
@@ -2336,12 +2334,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_CasADi__SX___isNull" c_CasADi__Matrix_CasADi__SX___isNull
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 casADi__Matrix_CasADi__SX___isNull
   :: SXMatrix -> IO Bool
 casADi__Matrix_CasADi__SX___isNull x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___isNull x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___isNull x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2390,7 +2388,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_CasADi__SX___setScientific" c_CasADi__Matrix_CasADi__SX___setScientific
-  :: Ptr CppBool' -> IO ()
+  :: CInt -> IO ()
 casADi__Matrix_CasADi__SX___setScientific
   :: Bool -> IO ()
 casADi__Matrix_CasADi__SX___setScientific x0 =
@@ -2412,7 +2410,7 @@
 casADi__Matrix_CasADi__SX___SXMatrix
   :: IO SXMatrix
 casADi__Matrix_CasADi__SX___SXMatrix  =
-  c_CasADi__Matrix_CasADi__SX___SXMatrix  >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix  >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -2505,7 +2503,7 @@
   :: SXMatrix -> IO SXMatrix
 casADi__Matrix_CasADi__SX___SXMatrix' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix' :: SXMatrix -> IO SXMatrix
@@ -2520,7 +2518,7 @@
 casADi__Matrix_CasADi__SX___SXMatrix'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix'' :: Int -> Int -> IO SXMatrix
@@ -2536,7 +2534,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix''' :: Int -> Int -> SX -> IO SXMatrix
@@ -2554,7 +2552,7 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix'''' :: Int -> Int -> Vector Int -> Vector Int -> Vector SX -> IO SXMatrix
@@ -2571,7 +2569,7 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix''''' :: Int -> Int -> Vector Int -> Vector Int -> IO SXMatrix
@@ -2580,12 +2578,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr (CppVecVec (Ptr SX')) -> IO (Ptr SXMatrix')
+  :: Ptr (CppVec (Ptr (CppVec (Ptr SX')))) -> IO (Ptr SXMatrix')
 casADi__Matrix_CasADi__SX___SXMatrix''''''
   :: Vector (Vector SX) -> IO SXMatrix
 casADi__Matrix_CasADi__SX___SXMatrix'''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix'''''' :: Vector (Vector SX) -> IO SXMatrix
@@ -2600,7 +2598,7 @@
 casADi__Matrix_CasADi__SX___SXMatrix''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix''''''' :: CRSSparsity -> SX -> IO SXMatrix
@@ -2614,7 +2612,7 @@
   :: CRSSparsity -> IO SXMatrix
 casADi__Matrix_CasADi__SX___SXMatrix'''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix'''''''' :: CRSSparsity -> IO SXMatrix
@@ -2629,7 +2627,7 @@
 casADi__Matrix_CasADi__SX___SXMatrix''''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix''''''''' :: CRSSparsity -> Vector SX -> IO SXMatrix
@@ -2643,7 +2641,7 @@
   :: Double -> IO SXMatrix
 casADi__Matrix_CasADi__SX___SXMatrix'''''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix'''''''''' :: Double -> IO SXMatrix
@@ -2657,7 +2655,7 @@
   :: Vector SX -> IO SXMatrix
 casADi__Matrix_CasADi__SX___SXMatrix''''''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix''''''''''' :: Vector SX -> IO SXMatrix
@@ -2673,7 +2671,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 -- classy wrapper
 sxMatrix'''''''''''' :: Vector SX -> Int -> Int -> IO SXMatrix
diff --git a/Casadi/Wrappers/Classes/SharedObject.hs b/Casadi/Wrappers/Classes/SharedObject.hs
--- a/Casadi/Wrappers/Classes/SharedObject.hs
+++ b/Casadi/Wrappers/Classes/SharedObject.hs
@@ -28,13 +28,11 @@
 import System.IO.Unsafe ( unsafePerformIO ) -- for show instances
 
 import Casadi.Wrappers.Classes.PrintableObject
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.Wrappers.Deleters
+import Casadi.Wrappers.CToolsInstances ( )
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppVecVecVec,
-                             StdString', CppBool' ) -- StdOstream'
-import Casadi.Marshal ( CornerCase(..), Marshal(..) )
+import Casadi.MarshalTypes ( CppVec, StdString' ) -- StdOstream'
+import Casadi.Marshal ( Marshal(..), withMarshal )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
 instance Show SharedObject where
@@ -73,12 +71,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SharedObject__isInit" c_CasADi__SharedObject__isInit
-  :: Ptr SharedObject' -> IO (Ptr CppBool')
+  :: Ptr SharedObject' -> IO CInt
 casADi__SharedObject__isInit
   :: SharedObject -> IO Bool
 casADi__SharedObject__isInit x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SharedObject__isInit x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SharedObject__isInit x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -107,12 +105,12 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SharedObject__checkNode" c_CasADi__SharedObject__checkNode
-  :: Ptr SharedObject' -> IO (Ptr CppBool')
+  :: Ptr SharedObject' -> IO CInt
 casADi__SharedObject__checkNode
   :: SharedObject -> IO Bool
 casADi__SharedObject__checkNode x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__SharedObject__checkNode x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__SharedObject__checkNode x0' >>= wrapReturn
 
 -- classy wrapper
 {-|
@@ -124,7 +122,7 @@
 
 -- direct wrapper
 foreign import ccall unsafe "CasADi__SharedObject__makeUnique" c_CasADi__SharedObject__makeUnique
-  :: Ptr SharedObject' -> Ptr CppBool' -> IO ()
+  :: Ptr SharedObject' -> CInt -> IO ()
 casADi__SharedObject__makeUnique
   :: SharedObject -> Bool -> IO ()
 casADi__SharedObject__makeUnique x0 x1 =
diff --git a/Casadi/Wrappers/Data.hs b/Casadi/Wrappers/Data.hs
--- a/Casadi/Wrappers/Data.hs
+++ b/Casadi/Wrappers/Data.hs
@@ -6,10 +6,10 @@
 
 import Prelude hiding ( Functor )
 
-import Foreign.Ptr ( Ptr )
-import Foreign.ForeignPtr ( ForeignPtr, castForeignPtr, withForeignPtr )
+import Foreign.Ptr ( Ptr, FunPtr )
+import Foreign.ForeignPtr ( ForeignPtr, castForeignPtr, newForeignPtr, touchForeignPtr )
+import Foreign.ForeignPtr.Unsafe ( unsafeForeignPtrToPtr )
 
-import Casadi.MarshalTypes ( ForeignPtrWrapper(..) )
 import Casadi.Marshal (  Marshal(..) )
 import Casadi.WrapReturn ( WrapReturn(..) )
 
@@ -44,11 +44,12 @@
 
 -- helper instances
 instance Marshal SXFunction (Ptr SXFunction') where
-  withMarshal (SXFunction x) f = withForeignPtr x f
-instance ForeignPtrWrapper SXFunction SXFunction' where
-  unwrapForeignPtr (SXFunction x) = x
-instance WrapReturn (ForeignPtr SXFunction') SXFunction where
-  wrapReturn = return . SXFunction
+  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
@@ -253,11 +254,12 @@
 
 -- helper instances
 instance Marshal MXFunction (Ptr MXFunction') where
-  withMarshal (MXFunction x) f = withForeignPtr x f
-instance ForeignPtrWrapper MXFunction MXFunction' where
-  unwrapForeignPtr (MXFunction x) = x
-instance WrapReturn (ForeignPtr MXFunction') MXFunction where
-  wrapReturn = return . MXFunction
+  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
@@ -518,11 +520,12 @@
 
 -- helper instances
 instance Marshal FX (Ptr FX') where
-  withMarshal (FX x) f = withForeignPtr x f
-instance ForeignPtrWrapper FX FX' where
-  unwrapForeignPtr (FX x) = x
-instance WrapReturn (ForeignPtr FX') FX where
-  wrapReturn = return . FX
+  marshal (FX x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (FX x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_CasADi__FX" 
+  c_delete_CasADi__FX :: FunPtr (Ptr FX' -> IO ())
+instance WrapReturn (Ptr FX') FX where
+  wrapReturn = (fmap FX) . (newForeignPtr c_delete_CasADi__FX)
 
 
 -- raw decl
@@ -580,11 +583,12 @@
 
 -- helper instances
 instance Marshal SharedObject (Ptr SharedObject') where
-  withMarshal (SharedObject x) f = withForeignPtr x f
-instance ForeignPtrWrapper SharedObject SharedObject' where
-  unwrapForeignPtr (SharedObject x) = x
-instance WrapReturn (ForeignPtr SharedObject') SharedObject where
-  wrapReturn = return . SharedObject
+  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
@@ -608,11 +612,12 @@
 
 -- helper instances
 instance Marshal PrintableObject (Ptr PrintableObject') where
-  withMarshal (PrintableObject x) f = withForeignPtr x f
-instance ForeignPtrWrapper PrintableObject PrintableObject' where
-  unwrapForeignPtr (PrintableObject x) = x
-instance WrapReturn (ForeignPtr PrintableObject') PrintableObject where
-  wrapReturn = return . PrintableObject
+  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
@@ -676,11 +681,12 @@
 
 -- helper instances
 instance Marshal CRSSparsity (Ptr CRSSparsity') where
-  withMarshal (CRSSparsity x) f = withForeignPtr x f
-instance ForeignPtrWrapper CRSSparsity CRSSparsity' where
-  unwrapForeignPtr (CRSSparsity x) = x
-instance WrapReturn (ForeignPtr CRSSparsity') CRSSparsity where
-  wrapReturn = return . CRSSparsity
+  marshal (CRSSparsity x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (CRSSparsity x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_CasADi__CRSSparsity" 
+  c_delete_CasADi__CRSSparsity :: FunPtr (Ptr CRSSparsity' -> IO ())
+instance WrapReturn (Ptr CRSSparsity') CRSSparsity where
+  wrapReturn = (fmap CRSSparsity) . (newForeignPtr c_delete_CasADi__CRSSparsity)
 
 
 -- raw decl
@@ -710,11 +716,12 @@
 
 -- helper instances
 instance Marshal GenericType (Ptr GenericType') where
-  withMarshal (GenericType x) f = withForeignPtr x f
-instance ForeignPtrWrapper GenericType GenericType' where
-  unwrapForeignPtr (GenericType x) = x
-instance WrapReturn (ForeignPtr GenericType') GenericType where
-  wrapReturn = return . GenericType
+  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
@@ -738,11 +745,12 @@
 
 -- helper instances
 instance Marshal IOInterfaceFX (Ptr IOInterfaceFX') where
-  withMarshal (IOInterfaceFX x) f = withForeignPtr x f
-instance ForeignPtrWrapper IOInterfaceFX IOInterfaceFX' where
-  unwrapForeignPtr (IOInterfaceFX x) = x
-instance WrapReturn (ForeignPtr IOInterfaceFX') IOInterfaceFX where
-  wrapReturn = return . IOInterfaceFX
+  marshal (IOInterfaceFX x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (IOInterfaceFX x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_CasADi__IOInterface_CasADi__FX_" 
+  c_delete_CasADi__IOInterface_CasADi__FX_ :: FunPtr (Ptr IOInterfaceFX' -> IO ())
+instance WrapReturn (Ptr IOInterfaceFX') IOInterfaceFX where
+  wrapReturn = (fmap IOInterfaceFX) . (newForeignPtr c_delete_CasADi__IOInterface_CasADi__FX_)
 
 
 -- raw decl
@@ -789,11 +797,12 @@
 
 -- helper instances
 instance Marshal OptionsFunctionality (Ptr OptionsFunctionality') where
-  withMarshal (OptionsFunctionality x) f = withForeignPtr x f
-instance ForeignPtrWrapper OptionsFunctionality OptionsFunctionality' where
-  unwrapForeignPtr (OptionsFunctionality x) = x
-instance WrapReturn (ForeignPtr OptionsFunctionality') OptionsFunctionality where
-  wrapReturn = return . OptionsFunctionality
+  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
@@ -3930,11 +3939,12 @@
 
 -- helper instances
 instance Marshal IpoptSolver (Ptr IpoptSolver') where
-  withMarshal (IpoptSolver x) f = withForeignPtr x f
-instance ForeignPtrWrapper IpoptSolver IpoptSolver' where
-  unwrapForeignPtr (IpoptSolver x) = x
-instance WrapReturn (ForeignPtr IpoptSolver') IpoptSolver where
-  wrapReturn = return . IpoptSolver
+  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
@@ -3977,11 +3987,12 @@
 
 -- helper instances
 instance Marshal SXMatrix (Ptr SXMatrix') where
-  withMarshal (SXMatrix x) f = withForeignPtr x f
-instance ForeignPtrWrapper SXMatrix SXMatrix' where
-  unwrapForeignPtr (SXMatrix x) = x
-instance WrapReturn (ForeignPtr SXMatrix') SXMatrix where
-  wrapReturn = return . SXMatrix
+  marshal (SXMatrix x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (SXMatrix x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_CasADi__Matrix_CasADi__SX_" 
+  c_delete_CasADi__Matrix_CasADi__SX_ :: FunPtr (Ptr SXMatrix' -> IO ())
+instance WrapReturn (Ptr SXMatrix') SXMatrix where
+  wrapReturn = (fmap SXMatrix) . (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_)
 
 
 -- raw decl
@@ -4011,11 +4022,12 @@
 
 -- helper instances
 instance Marshal IOScheme (Ptr IOScheme') where
-  withMarshal (IOScheme x) f = withForeignPtr x f
-instance ForeignPtrWrapper IOScheme IOScheme' where
-  unwrapForeignPtr (IOScheme x) = x
-instance WrapReturn (ForeignPtr IOScheme') IOScheme where
-  wrapReturn = return . IOScheme
+  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)
 
 
 -- raw decl
@@ -4058,11 +4070,12 @@
 
 -- helper instances
 instance Marshal DMatrix (Ptr DMatrix') where
-  withMarshal (DMatrix x) f = withForeignPtr x f
-instance ForeignPtrWrapper DMatrix DMatrix' where
-  unwrapForeignPtr (DMatrix x) = x
-instance WrapReturn (ForeignPtr DMatrix') DMatrix where
-  wrapReturn = return . DMatrix
+  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
@@ -4106,11 +4119,12 @@
 
 -- helper instances
 instance Marshal MX (Ptr MX') where
-  withMarshal (MX x) f = withForeignPtr x f
-instance ForeignPtrWrapper MX MX' where
-  unwrapForeignPtr (MX x) = x
-instance WrapReturn (ForeignPtr MX') MX where
-  wrapReturn = return . MX
+  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
@@ -4139,11 +4153,12 @@
 
 -- helper instances
 instance Marshal CasadiOptions (Ptr CasadiOptions') where
-  withMarshal (CasadiOptions x) f = withForeignPtr x f
-instance ForeignPtrWrapper CasadiOptions CasadiOptions' where
-  unwrapForeignPtr (CasadiOptions x) = x
-instance WrapReturn (ForeignPtr CasadiOptions') CasadiOptions where
-  wrapReturn = return . CasadiOptions
+  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
@@ -4178,11 +4193,12 @@
 
 -- helper instances
 instance Marshal Callback (Ptr Callback') where
-  withMarshal (Callback x) f = withForeignPtr x f
-instance ForeignPtrWrapper Callback Callback' where
-  unwrapForeignPtr (Callback x) = x
-instance WrapReturn (ForeignPtr Callback') Callback where
-  wrapReturn = return . Callback
+  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
@@ -4217,11 +4233,12 @@
 
 -- helper instances
 instance Marshal CustomEvaluate (Ptr CustomEvaluate') where
-  withMarshal (CustomEvaluate x) f = withForeignPtr x f
-instance ForeignPtrWrapper CustomEvaluate CustomEvaluate' where
-  unwrapForeignPtr (CustomEvaluate x) = x
-instance WrapReturn (ForeignPtr CustomEvaluate') CustomEvaluate where
-  wrapReturn = return . CustomEvaluate
+  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
@@ -4426,11 +4443,12 @@
 
 -- helper instances
 instance Marshal ExternalFunction (Ptr ExternalFunction') where
-  withMarshal (ExternalFunction x) f = withForeignPtr x f
-instance ForeignPtrWrapper ExternalFunction ExternalFunction' where
-  unwrapForeignPtr (ExternalFunction x) = x
-instance WrapReturn (ForeignPtr ExternalFunction') ExternalFunction where
-  wrapReturn = return . ExternalFunction
+  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
@@ -4676,11 +4694,12 @@
 
 -- helper instances
 instance Marshal CSparse (Ptr CSparse') where
-  withMarshal (CSparse x) f = withForeignPtr x f
-instance ForeignPtrWrapper CSparse CSparse' where
-  unwrapForeignPtr (CSparse x) = x
-instance WrapReturn (ForeignPtr CSparse') CSparse where
-  wrapReturn = return . CSparse
+  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
@@ -4704,11 +4723,12 @@
 
 -- helper instances
 instance Marshal SX (Ptr SX') where
-  withMarshal (SX x) f = withForeignPtr x f
-instance ForeignPtrWrapper SX SX' where
-  unwrapForeignPtr (SX x) = x
-instance WrapReturn (ForeignPtr SX') SX where
-  wrapReturn = return . SX
+  marshal (SX x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (SX x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_CasADi__SX" 
+  c_delete_CasADi__SX :: FunPtr (Ptr SX' -> IO ())
+instance WrapReturn (Ptr SX') SX where
+  wrapReturn = (fmap SX) . (newForeignPtr c_delete_CasADi__SX)
 
 
 -- raw decl
@@ -4732,11 +4752,12 @@
 
 -- helper instances
 instance Marshal CasadiMeta (Ptr CasadiMeta') where
-  withMarshal (CasadiMeta x) f = withForeignPtr x f
-instance ForeignPtrWrapper CasadiMeta CasadiMeta' where
-  unwrapForeignPtr (CasadiMeta x) = x
-instance WrapReturn (ForeignPtr CasadiMeta') CasadiMeta where
-  wrapReturn = return . CasadiMeta
+  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
@@ -4766,11 +4787,12 @@
 
 -- helper instances
 instance Marshal Functor (Ptr Functor') where
-  withMarshal (Functor x) f = withForeignPtr x f
-instance ForeignPtrWrapper Functor Functor' where
-  unwrapForeignPtr (Functor x) = x
-instance WrapReturn (ForeignPtr Functor') Functor where
-  wrapReturn = return . Functor
+  marshal (Functor x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Functor x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_CasADi__Functor" 
+  c_delete_CasADi__Functor :: FunPtr (Ptr Functor' -> IO ())
+instance WrapReturn (Ptr Functor') Functor where
+  wrapReturn = (fmap Functor) . (newForeignPtr c_delete_CasADi__Functor)
 
 
 -- raw decl
@@ -4977,10 +4999,11 @@
 
 -- helper instances
 instance Marshal CustomFunction (Ptr CustomFunction') where
-  withMarshal (CustomFunction x) f = withForeignPtr x f
-instance ForeignPtrWrapper CustomFunction CustomFunction' where
-  unwrapForeignPtr (CustomFunction x) = x
-instance WrapReturn (ForeignPtr CustomFunction') CustomFunction where
-  wrapReturn = return . CustomFunction
+  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)
 
 
diff --git a/Casadi/Wrappers/Deleters.hs b/Casadi/Wrappers/Deleters.hs
deleted file mode 100644
--- a/Casadi/Wrappers/Deleters.hs
+++ /dev/null
@@ -1,249 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# Language ForeignFunctionInterface #-}
-
-module Casadi.Wrappers.Deleters where
-
-import Foreign.C.Types
-import Foreign.Ptr ( FunPtr, Ptr )
-
-import Casadi.Wrappers.Data
-import Casadi.MarshalTypes
-
-foreign import ccall unsafe "&delete_std__vector_int_" 
-  c_delete_std__vector_int_ :: FunPtr (Ptr (CppVec CInt) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_int__" 
-  c_delete_std__vector_std__vector_int__ :: FunPtr (Ptr (CppVecVec CInt) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_int___" 
-  c_delete_std__vector_std__vector_std__vector_int___ :: FunPtr (Ptr (CppVecVecVec CInt) -> IO ())
-
-foreign import ccall unsafe "&delete_std__vector_double_" 
-  c_delete_std__vector_double_ :: FunPtr (Ptr (CppVec CDouble) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_double__" 
-  c_delete_std__vector_std__vector_double__ :: FunPtr (Ptr (CppVecVec CDouble) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_double___" 
-  c_delete_std__vector_std__vector_std__vector_double___ :: FunPtr (Ptr (CppVecVecVec CDouble) -> IO ())
-
-foreign import ccall unsafe "&delete_std__string" 
-  c_delete_std__string :: FunPtr (Ptr StdString' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__string_" 
-  c_delete_std__vector_std__string_ :: FunPtr (Ptr (CppVec (Ptr StdString')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__string__" 
-  c_delete_std__vector_std__vector_std__string__ :: FunPtr (Ptr (CppVecVec (Ptr StdString')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_std__string___" 
-  c_delete_std__vector_std__vector_std__vector_std__string___ :: FunPtr (Ptr (CppVecVecVec (Ptr StdString')) -> IO ())
-
-foreign import ccall unsafe "&delete_bool" 
-  c_delete_bool :: FunPtr (Ptr CppBool' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_bool_" 
-  c_delete_std__vector_bool_ :: FunPtr (Ptr (CppVec (Ptr CppBool')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_bool__" 
-  c_delete_std__vector_std__vector_bool__ :: FunPtr (Ptr (CppVecVec (Ptr CppBool')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_bool___" 
-  c_delete_std__vector_std__vector_std__vector_bool___ :: FunPtr (Ptr (CppVecVecVec (Ptr CppBool')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__SXFunction" 
-  c_delete_CasADi__SXFunction :: FunPtr (Ptr SXFunction' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__SXFunction_" 
-  c_delete_std__vector_CasADi__SXFunction_ :: FunPtr (Ptr (CppVec (Ptr SXFunction')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__SXFunction__" 
-  c_delete_std__vector_std__vector_CasADi__SXFunction__ :: FunPtr (Ptr (CppVecVec (Ptr SXFunction')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__SXFunction___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__SXFunction___ :: FunPtr (Ptr (CppVecVecVec (Ptr SXFunction')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__MXFunction" 
-  c_delete_CasADi__MXFunction :: FunPtr (Ptr MXFunction' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__MXFunction_" 
-  c_delete_std__vector_CasADi__MXFunction_ :: FunPtr (Ptr (CppVec (Ptr MXFunction')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__MXFunction__" 
-  c_delete_std__vector_std__vector_CasADi__MXFunction__ :: FunPtr (Ptr (CppVecVec (Ptr MXFunction')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__MXFunction___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__MXFunction___ :: FunPtr (Ptr (CppVecVecVec (Ptr MXFunction')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__FX" 
-  c_delete_CasADi__FX :: FunPtr (Ptr FX' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__FX_" 
-  c_delete_std__vector_CasADi__FX_ :: FunPtr (Ptr (CppVec (Ptr FX')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__FX__" 
-  c_delete_std__vector_std__vector_CasADi__FX__ :: FunPtr (Ptr (CppVecVec (Ptr FX')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__FX___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__FX___ :: FunPtr (Ptr (CppVecVecVec (Ptr FX')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__SharedObject" 
-  c_delete_CasADi__SharedObject :: FunPtr (Ptr SharedObject' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__SharedObject_" 
-  c_delete_std__vector_CasADi__SharedObject_ :: FunPtr (Ptr (CppVec (Ptr SharedObject')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__SharedObject__" 
-  c_delete_std__vector_std__vector_CasADi__SharedObject__ :: FunPtr (Ptr (CppVecVec (Ptr SharedObject')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__SharedObject___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__SharedObject___ :: FunPtr (Ptr (CppVecVecVec (Ptr SharedObject')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__PrintableObject" 
-  c_delete_CasADi__PrintableObject :: FunPtr (Ptr PrintableObject' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__PrintableObject_" 
-  c_delete_std__vector_CasADi__PrintableObject_ :: FunPtr (Ptr (CppVec (Ptr PrintableObject')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__PrintableObject__" 
-  c_delete_std__vector_std__vector_CasADi__PrintableObject__ :: FunPtr (Ptr (CppVecVec (Ptr PrintableObject')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__PrintableObject___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__PrintableObject___ :: FunPtr (Ptr (CppVecVecVec (Ptr PrintableObject')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__CRSSparsity" 
-  c_delete_CasADi__CRSSparsity :: FunPtr (Ptr CRSSparsity' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__CRSSparsity_" 
-  c_delete_std__vector_CasADi__CRSSparsity_ :: FunPtr (Ptr (CppVec (Ptr CRSSparsity')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__CRSSparsity__" 
-  c_delete_std__vector_std__vector_CasADi__CRSSparsity__ :: FunPtr (Ptr (CppVecVec (Ptr CRSSparsity')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__CRSSparsity___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__CRSSparsity___ :: FunPtr (Ptr (CppVecVecVec (Ptr CRSSparsity')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__GenericType" 
-  c_delete_CasADi__GenericType :: FunPtr (Ptr GenericType' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__GenericType_" 
-  c_delete_std__vector_CasADi__GenericType_ :: FunPtr (Ptr (CppVec (Ptr GenericType')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__GenericType__" 
-  c_delete_std__vector_std__vector_CasADi__GenericType__ :: FunPtr (Ptr (CppVecVec (Ptr GenericType')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__GenericType___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__GenericType___ :: FunPtr (Ptr (CppVecVecVec (Ptr GenericType')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__IOInterface_CasADi__FX_" 
-  c_delete_CasADi__IOInterface_CasADi__FX_ :: FunPtr (Ptr IOInterfaceFX' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__IOInterface_CasADi__FX__" 
-  c_delete_std__vector_CasADi__IOInterface_CasADi__FX__ :: FunPtr (Ptr (CppVec (Ptr IOInterfaceFX')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__IOInterface_CasADi__FX___" 
-  c_delete_std__vector_std__vector_CasADi__IOInterface_CasADi__FX___ :: FunPtr (Ptr (CppVecVec (Ptr IOInterfaceFX')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__IOInterface_CasADi__FX____" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__IOInterface_CasADi__FX____ :: FunPtr (Ptr (CppVecVecVec (Ptr IOInterfaceFX')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__OptionsFunctionality" 
-  c_delete_CasADi__OptionsFunctionality :: FunPtr (Ptr OptionsFunctionality' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__OptionsFunctionality_" 
-  c_delete_std__vector_CasADi__OptionsFunctionality_ :: FunPtr (Ptr (CppVec (Ptr OptionsFunctionality')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__OptionsFunctionality__" 
-  c_delete_std__vector_std__vector_CasADi__OptionsFunctionality__ :: FunPtr (Ptr (CppVecVec (Ptr OptionsFunctionality')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__OptionsFunctionality___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__OptionsFunctionality___ :: FunPtr (Ptr (CppVecVecVec (Ptr OptionsFunctionality')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__IpoptSolver" 
-  c_delete_CasADi__IpoptSolver :: FunPtr (Ptr IpoptSolver' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__IpoptSolver_" 
-  c_delete_std__vector_CasADi__IpoptSolver_ :: FunPtr (Ptr (CppVec (Ptr IpoptSolver')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__IpoptSolver__" 
-  c_delete_std__vector_std__vector_CasADi__IpoptSolver__ :: FunPtr (Ptr (CppVecVec (Ptr IpoptSolver')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__IpoptSolver___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__IpoptSolver___ :: FunPtr (Ptr (CppVecVecVec (Ptr IpoptSolver')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__Matrix_CasADi__SX_" 
-  c_delete_CasADi__Matrix_CasADi__SX_ :: FunPtr (Ptr SXMatrix' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__Matrix_CasADi__SX__" 
-  c_delete_std__vector_CasADi__Matrix_CasADi__SX__ :: FunPtr (Ptr (CppVec (Ptr SXMatrix')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__Matrix_CasADi__SX___" 
-  c_delete_std__vector_std__vector_CasADi__Matrix_CasADi__SX___ :: FunPtr (Ptr (CppVecVec (Ptr SXMatrix')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__Matrix_CasADi__SX____" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__Matrix_CasADi__SX____ :: FunPtr (Ptr (CppVecVecVec (Ptr SXMatrix')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__IOScheme" 
-  c_delete_CasADi__IOScheme :: FunPtr (Ptr IOScheme' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__IOScheme_" 
-  c_delete_std__vector_CasADi__IOScheme_ :: FunPtr (Ptr (CppVec (Ptr IOScheme')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__IOScheme__" 
-  c_delete_std__vector_std__vector_CasADi__IOScheme__ :: FunPtr (Ptr (CppVecVec (Ptr IOScheme')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__IOScheme___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__IOScheme___ :: FunPtr (Ptr (CppVecVecVec (Ptr IOScheme')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__Matrix_double_" 
-  c_delete_CasADi__Matrix_double_ :: FunPtr (Ptr DMatrix' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__Matrix_double__" 
-  c_delete_std__vector_CasADi__Matrix_double__ :: FunPtr (Ptr (CppVec (Ptr DMatrix')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__Matrix_double___" 
-  c_delete_std__vector_std__vector_CasADi__Matrix_double___ :: FunPtr (Ptr (CppVecVec (Ptr DMatrix')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__Matrix_double____" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__Matrix_double____ :: FunPtr (Ptr (CppVecVecVec (Ptr DMatrix')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__MX" 
-  c_delete_CasADi__MX :: FunPtr (Ptr MX' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__MX_" 
-  c_delete_std__vector_CasADi__MX_ :: FunPtr (Ptr (CppVec (Ptr MX')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__MX__" 
-  c_delete_std__vector_std__vector_CasADi__MX__ :: FunPtr (Ptr (CppVecVec (Ptr MX')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__MX___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__MX___ :: FunPtr (Ptr (CppVecVecVec (Ptr MX')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__CasadiOptions" 
-  c_delete_CasADi__CasadiOptions :: FunPtr (Ptr CasadiOptions' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__CasadiOptions_" 
-  c_delete_std__vector_CasADi__CasadiOptions_ :: FunPtr (Ptr (CppVec (Ptr CasadiOptions')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__CasadiOptions__" 
-  c_delete_std__vector_std__vector_CasADi__CasadiOptions__ :: FunPtr (Ptr (CppVecVec (Ptr CasadiOptions')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__CasadiOptions___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__CasadiOptions___ :: FunPtr (Ptr (CppVecVecVec (Ptr CasadiOptions')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__Callback" 
-  c_delete_CasADi__Callback :: FunPtr (Ptr Callback' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__Callback_" 
-  c_delete_std__vector_CasADi__Callback_ :: FunPtr (Ptr (CppVec (Ptr Callback')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__Callback__" 
-  c_delete_std__vector_std__vector_CasADi__Callback__ :: FunPtr (Ptr (CppVecVec (Ptr Callback')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__Callback___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__Callback___ :: FunPtr (Ptr (CppVecVecVec (Ptr Callback')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__CustomEvaluate" 
-  c_delete_CasADi__CustomEvaluate :: FunPtr (Ptr CustomEvaluate' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__CustomEvaluate_" 
-  c_delete_std__vector_CasADi__CustomEvaluate_ :: FunPtr (Ptr (CppVec (Ptr CustomEvaluate')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__CustomEvaluate__" 
-  c_delete_std__vector_std__vector_CasADi__CustomEvaluate__ :: FunPtr (Ptr (CppVecVec (Ptr CustomEvaluate')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__CustomEvaluate___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__CustomEvaluate___ :: FunPtr (Ptr (CppVecVecVec (Ptr CustomEvaluate')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__ExternalFunction" 
-  c_delete_CasADi__ExternalFunction :: FunPtr (Ptr ExternalFunction' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__ExternalFunction_" 
-  c_delete_std__vector_CasADi__ExternalFunction_ :: FunPtr (Ptr (CppVec (Ptr ExternalFunction')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__ExternalFunction__" 
-  c_delete_std__vector_std__vector_CasADi__ExternalFunction__ :: FunPtr (Ptr (CppVecVec (Ptr ExternalFunction')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__ExternalFunction___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__ExternalFunction___ :: FunPtr (Ptr (CppVecVecVec (Ptr ExternalFunction')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__CSparse" 
-  c_delete_CasADi__CSparse :: FunPtr (Ptr CSparse' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__CSparse_" 
-  c_delete_std__vector_CasADi__CSparse_ :: FunPtr (Ptr (CppVec (Ptr CSparse')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__CSparse__" 
-  c_delete_std__vector_std__vector_CasADi__CSparse__ :: FunPtr (Ptr (CppVecVec (Ptr CSparse')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__CSparse___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__CSparse___ :: FunPtr (Ptr (CppVecVecVec (Ptr CSparse')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__SX" 
-  c_delete_CasADi__SX :: FunPtr (Ptr SX' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__SX_" 
-  c_delete_std__vector_CasADi__SX_ :: FunPtr (Ptr (CppVec (Ptr SX')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__SX__" 
-  c_delete_std__vector_std__vector_CasADi__SX__ :: FunPtr (Ptr (CppVecVec (Ptr SX')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__SX___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__SX___ :: FunPtr (Ptr (CppVecVecVec (Ptr SX')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__CasadiMeta" 
-  c_delete_CasADi__CasadiMeta :: FunPtr (Ptr CasadiMeta' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__CasadiMeta_" 
-  c_delete_std__vector_CasADi__CasadiMeta_ :: FunPtr (Ptr (CppVec (Ptr CasadiMeta')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__CasadiMeta__" 
-  c_delete_std__vector_std__vector_CasADi__CasadiMeta__ :: FunPtr (Ptr (CppVecVec (Ptr CasadiMeta')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__CasadiMeta___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__CasadiMeta___ :: FunPtr (Ptr (CppVecVecVec (Ptr CasadiMeta')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__Functor" 
-  c_delete_CasADi__Functor :: FunPtr (Ptr Functor' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__Functor_" 
-  c_delete_std__vector_CasADi__Functor_ :: FunPtr (Ptr (CppVec (Ptr Functor')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__Functor__" 
-  c_delete_std__vector_std__vector_CasADi__Functor__ :: FunPtr (Ptr (CppVecVec (Ptr Functor')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__Functor___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__Functor___ :: FunPtr (Ptr (CppVecVecVec (Ptr Functor')) -> IO ())
-
-foreign import ccall unsafe "&delete_CasADi__CustomFunction" 
-  c_delete_CasADi__CustomFunction :: FunPtr (Ptr CustomFunction' -> IO ())
-foreign import ccall unsafe "&delete_std__vector_CasADi__CustomFunction_" 
-  c_delete_std__vector_CasADi__CustomFunction_ :: FunPtr (Ptr (CppVec (Ptr CustomFunction')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_CasADi__CustomFunction__" 
-  c_delete_std__vector_std__vector_CasADi__CustomFunction__ :: FunPtr (Ptr (CppVecVec (Ptr CustomFunction')) -> IO ())
-foreign import ccall unsafe "&delete_std__vector_std__vector_std__vector_CasADi__CustomFunction___" 
-  c_delete_std__vector_std__vector_std__vector_CasADi__CustomFunction___ :: FunPtr (Ptr (CppVecVecVec (Ptr CustomFunction')) -> IO ())
diff --git a/Casadi/Wrappers/Enums.hs b/Casadi/Wrappers/Enums.hs
--- a/Casadi/Wrappers/Enums.hs
+++ b/Casadi/Wrappers/Enums.hs
@@ -94,7 +94,7 @@
           = error $ "IntegratorOutput: toEnum: got unhandled number: " ++
               show k
 instance Marshal IntegratorOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt IntegratorOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -128,7 +128,7 @@
         toEnum k
           = error $ "Category: toEnum: got unhandled number: " ++ show k
 instance Marshal Category CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt Category where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -147,7 +147,7 @@
         toEnum k
           = error $ "Causality: toEnum: got unhandled number: " ++ show k
 instance Marshal Causality CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt Causality where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -181,7 +181,7 @@
         toEnum k
           = error $ "SDPOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal SDPOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt SDPOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -209,7 +209,7 @@
         toEnum k
           = error $ "HessLagOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal HessLagOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt HessLagOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -228,7 +228,7 @@
         toEnum k
           = error $ "LinsolInput: toEnum: got unhandled number: " ++ show k
 instance Marshal LinsolInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt LinsolInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -253,7 +253,7 @@
         toEnum k
           = error $ "SOCPOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal SOCPOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt SOCPOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -269,7 +269,7 @@
         toEnum k
           = error $ "LPStruct: toEnum: got unhandled number: " ++ show k
 instance Marshal LPStruct CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt LPStruct where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -354,7 +354,7 @@
         toEnum k
           = error $ "Opt_type: toEnum: got unhandled number: " ++ show k
 instance Marshal Opt_type CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt Opt_type where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -391,7 +391,7 @@
         toEnum k
           = error $ "SDPInput: toEnum: got unhandled number: " ++ show k
 instance Marshal SDPInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt SDPInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -422,7 +422,7 @@
         toEnum k
           = error $ "LPSolverInput: toEnum: got unhandled number: " ++ show k
 instance Marshal LPSolverInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt LPSolverInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -456,7 +456,7 @@
         toEnum k
           = error $ "RDAEInput: toEnum: got unhandled number: " ++ show k
 instance Marshal RDAEInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt RDAEInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -488,7 +488,7 @@
           = error $ "NLPSolverOutput: toEnum: got unhandled number: " ++
               show k
 instance Marshal NLPSolverOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt NLPSolverOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -532,7 +532,7 @@
           = error $ "SymbolicOCPVariables: toEnum: got unhandled number: " ++
               show k
 instance Marshal SymbolicOCPVariables CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt SymbolicOCPVariables where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -554,7 +554,7 @@
         toEnum k
           = error $ "DAEOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal DAEOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt DAEOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -570,7 +570,7 @@
         toEnum k
           = error $ "Dynamics: toEnum: got unhandled number: " ++ show k
 instance Marshal Dynamics CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt Dynamics where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -613,7 +613,7 @@
         toEnum k
           = error $ "SOCPInput: toEnum: got unhandled number: " ++ show k
 instance Marshal SOCPInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt SOCPInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -663,7 +663,7 @@
           = error $ "QCQPSolverInput: toEnum: got unhandled number: " ++
               show k
 instance Marshal QCQPSolverInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt QCQPSolverInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -685,7 +685,7 @@
         toEnum k
           = error $ "Variability: toEnum: got unhandled number: " ++ show k
 instance Marshal Variability CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt Variability where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -723,7 +723,7 @@
           = error $ "NLPSolverInput: toEnum: got unhandled number: " ++
               show k
 instance Marshal NLPSolverInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt NLPSolverInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -748,7 +748,7 @@
         toEnum k
           = error $ "DAEInput: toEnum: got unhandled number: " ++ show k
 instance Marshal DAEInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt DAEInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -767,7 +767,7 @@
         toEnum k
           = error $ "NLPOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal NLPOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt NLPOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -910,7 +910,7 @@
           = error $ "InputOutputScheme: toEnum: got unhandled number: " ++
               show k
 instance Marshal InputOutputScheme CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt InputOutputScheme where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -960,7 +960,7 @@
           = error $ "StabilizedQPSolverInput: toEnum: got unhandled number: "
               ++ show k
 instance Marshal StabilizedQPSolverInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt StabilizedQPSolverInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -979,7 +979,7 @@
         toEnum k
           = error $ "GradFInput: toEnum: got unhandled number: " ++ show k
 instance Marshal GradFInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt GradFInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1005,7 +1005,7 @@
           = error $ "LPSolverOutput: toEnum: got unhandled number: " ++
               show k
 instance Marshal LPSolverOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt LPSolverOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1027,7 +1027,7 @@
         toEnum k
           = error $ "GradFOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal GradFOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt GradFOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1067,7 +1067,7 @@
         toEnum k
           = error $ "SDQPInput: toEnum: got unhandled number: " ++ show k
 instance Marshal SDQPInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt SDQPInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1119,7 +1119,7 @@
         toEnum k
           = error $ "OCPInput: toEnum: got unhandled number: " ++ show k
 instance Marshal OCPInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt OCPInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1136,7 +1136,7 @@
           = error $ "CollocationPoints: toEnum: got unhandled number: " ++
               show k
 instance Marshal CollocationPoints CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt CollocationPoints where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1162,7 +1162,7 @@
           = error $ "QCQPSolverOutput: toEnum: got unhandled number: " ++
               show k
 instance Marshal QCQPSolverOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt QCQPSolverOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1181,7 +1181,7 @@
         toEnum k
           = error $ "QPStruct: toEnum: got unhandled number: " ++ show k
 instance Marshal QPStruct CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt QPStruct where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1200,7 +1200,7 @@
         toEnum k
           = error $ "MayerInput: toEnum: got unhandled number: " ++ show k
 instance Marshal MayerInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt MayerInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1241,7 +1241,7 @@
           = error $ "ControlledDAEInput: toEnum: got unhandled number: " ++
               show k
 instance Marshal ControlledDAEInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt ControlledDAEInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1266,7 +1266,7 @@
         toEnum k
           = error $ "SDQPStruct: toEnum: got unhandled number: " ++ show k
 instance Marshal SDQPStruct CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt SDQPStruct where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1285,7 +1285,7 @@
         toEnum k
           = error $ "NLPInput: toEnum: got unhandled number: " ++ show k
 instance Marshal NLPInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt NLPInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1304,7 +1304,7 @@
         toEnum k
           = error $ "SOCPStruct: toEnum: got unhandled number: " ++ show k
 instance Marshal SOCPStruct CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt SOCPStruct where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1336,7 +1336,7 @@
           = error $ "IntegratorInput: toEnum: got unhandled number: " ++
               show k
 instance Marshal IntegratorInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt IntegratorInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1376,7 +1376,7 @@
         toEnum k
           = error $ "QPSolverInput: toEnum: got unhandled number: " ++ show k
 instance Marshal QPSolverInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt QPSolverInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1398,7 +1398,7 @@
         toEnum k
           = error $ "Sparsity: toEnum: got unhandled number: " ++ show k
 instance Marshal Sparsity CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt Sparsity where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1423,7 +1423,7 @@
         toEnum k
           = error $ "OCPOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal OCPOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt OCPOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1445,7 +1445,7 @@
         toEnum k
           = error $ "RDAEOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal RDAEOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt RDAEOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1464,7 +1464,7 @@
         toEnum k
           = error $ "DPLEInput: toEnum: got unhandled number: " ++ show k
 instance Marshal DPLEInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt DPLEInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1486,7 +1486,7 @@
         toEnum k
           = error $ "JacGOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal JacGOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt JacGOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1508,7 +1508,7 @@
         toEnum k
           = error $ "QCQPStruct: toEnum: got unhandled number: " ++ show k
 instance Marshal QCQPStruct CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt QCQPStruct where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1524,7 +1524,7 @@
         toEnum k
           = error $ "LinsolOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal LinsolOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt LinsolOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1558,7 +1558,7 @@
         toEnum k
           = error $ "SDQPOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal SDQPOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt SDQPOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1579,7 +1579,7 @@
         toEnum (0) = NILL
         toEnum k = error $ "Type: toEnum: got unhandled number: " ++ show k
 instance Marshal Type CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt Type where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1602,7 +1602,7 @@
           = error $ "ControlSimulatorInput: toEnum: got unhandled number: "
               ++ show k
 instance Marshal ControlSimulatorInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt ControlSimulatorInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1621,7 +1621,7 @@
         toEnum k
           = error $ "Alias: toEnum: got unhandled number: " ++ show k
 instance Marshal Alias CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt Alias where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1643,7 +1643,7 @@
         toEnum k
           = error $ "SDPStruct: toEnum: got unhandled number: " ++ show k
 instance Marshal SDPStruct CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt SDPStruct where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1662,7 +1662,7 @@
         toEnum k
           = error $ "JacGInput: toEnum: got unhandled number: " ++ show k
 instance Marshal JacGInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt JacGInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1678,7 +1678,7 @@
         toEnum k
           = error $ "DPLEOutput: toEnum: got unhandled number: " ++ show k
 instance Marshal DPLEOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt DPLEOutput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1703,7 +1703,7 @@
         toEnum k
           = error $ "HessLagInput: toEnum: got unhandled number: " ++ show k
 instance Marshal HessLagInput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt HessLagInput where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1929,7 +1929,7 @@
         toEnum k
           = error $ "Operation: toEnum: got unhandled number: " ++ show k
 instance Marshal Operation CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt Operation where
         wrapReturn = return . toEnum . fromIntegral
 
@@ -1955,7 +1955,7 @@
           = error $ "QPSolverOutput: toEnum: got unhandled number: " ++
               show k
 instance Marshal QPSolverOutput CInt where
-        withMarshal x f = f (fromIntegral (fromEnum x))
+        marshal = return . fromIntegral . fromEnum
 instance WrapReturn CInt QPSolverOutput where
         wrapReturn = return . toEnum . fromIntegral
 
diff --git a/Casadi/Wrappers/ForeignToolsImports.hs b/Casadi/Wrappers/ForeignToolsImports.hs
deleted file mode 100644
--- a/Casadi/Wrappers/ForeignToolsImports.hs
+++ /dev/null
@@ -1,49 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# Language ForeignFunctionInterface #-}
-
-module Casadi.Wrappers.ForeignToolsImports where
-
-import Foreign.C.Types
-import Foreign.Ptr ( Ptr )
-
-import Casadi.MarshalTypes
-
---------------------------- ("int","CInt",Nothing,["Int"]) -----------------------------------
-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_new_vec_vec_int" c_newVecVecCInt
-  :: Ptr CInt -> CInt -> Ptr CInt -> IO (Ptr (CppVecVec CInt))
-foreign import ccall unsafe "hs_delete_vec_vec_int" c_deleteVecVecCInt
-  :: Ptr (CppVecVec CInt) -> IO ()
-
---------------------------- ("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_new_vec_vec_voidp" c_newVecVecVoidP
-  :: Ptr (Ptr a) -> CInt -> Ptr CInt -> IO (Ptr (CppVecVec (Ptr a)))
-foreign import ccall unsafe "hs_delete_vec_vec_voidp" c_deleteVecVecVoidP
-  :: Ptr (CppVecVec (Ptr a)) -> IO ()
-
---------------------------- ("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_new_vec_vec_uchar" c_newVecVecCUChar
-  :: Ptr CUChar -> CInt -> Ptr CInt -> IO (Ptr (CppVecVec CUChar))
-foreign import ccall unsafe "hs_delete_vec_vec_uchar" c_deleteVecVecCUChar
-  :: Ptr (CppVecVec CUChar) -> IO ()
-
---------------------------- ("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_new_vec_vec_double" c_newVecVecCDouble
-  :: Ptr CDouble -> CInt -> Ptr CInt -> IO (Ptr (CppVecVec CDouble))
-foreign import ccall unsafe "hs_delete_vec_vec_double" c_deleteVecVecCDouble
-  :: Ptr (CppVecVec CDouble) -> IO ()
diff --git a/Casadi/Wrappers/ForeignToolsInstances.hs b/Casadi/Wrappers/ForeignToolsInstances.hs
deleted file mode 100644
--- a/Casadi/Wrappers/ForeignToolsInstances.hs
+++ /dev/null
@@ -1,30 +0,0 @@
-{-# OPTIONS_GHC -Wall -fno-warn-orphans #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Wrappers.ForeignToolsInstances where
-
-import Foreign.C.Types
-import Foreign.Ptr ( Ptr )
-import qualified Data.Vector as V
-
-import Casadi.MarshalTypes
-import Casadi.Marshal
-import Casadi.Wrappers.ForeignToolsImports
-
-instance Marshal (V.Vector CInt) (Ptr (CppVec CInt)) where
-  withMarshal = withMarshalStorableVec c_newVecCInt c_deleteVecCInt
-instance Marshal (V.Vector Int) (Ptr (CppVec CInt)) where
-  withMarshal x = withMarshalStorableVec c_newVecCInt c_deleteVecCInt (V.map hsToC x)
-instance Marshal (V.Vector (V.Vector Int)) (Ptr (CppVecVec CInt)) where
-  withMarshal x = withMarshalStorableVecVec c_newVecVecCInt c_deleteVecVecCInt (V.map (V.map hsToC) x)
-instance Marshal (V.Vector (Ptr a)) (Ptr (CppVec (Ptr a))) where
-  withMarshal = withMarshalStorableVec c_newVecVoidP c_deleteVecVoidP
-instance Marshal (V.Vector CUChar) (Ptr (CppVec CUChar)) where
-  withMarshal = withMarshalStorableVec c_newVecCUChar c_deleteVecCUChar
-instance Marshal (V.Vector CDouble) (Ptr (CppVec CDouble)) where
-  withMarshal = withMarshalStorableVec c_newVecCDouble c_deleteVecCDouble
-instance Marshal (V.Vector Double) (Ptr (CppVec CDouble)) where
-  withMarshal x = withMarshalStorableVec c_newVecCDouble c_deleteVecCDouble (V.map hsToC x)
-instance Marshal (V.Vector (V.Vector Double)) (Ptr (CppVecVec CDouble)) where
-  withMarshal x = withMarshalStorableVecVec c_newVecVecCDouble c_deleteVecVecCDouble (V.map (V.map hsToC) x)
diff --git a/Casadi/Wrappers/Tools.hs b/Casadi/Wrappers/Tools.hs
--- a/Casadi/Wrappers/Tools.hs
+++ b/Casadi/Wrappers/Tools.hs
@@ -420,14 +420,12 @@
 import Data.Vector ( Vector )
 import Foreign.C.Types
 import Foreign.Ptr ( Ptr )
-import Foreign.ForeignPtr ( newForeignPtr )
 
 import Casadi.Wrappers.Data
 import Casadi.Wrappers.Enums
-import Casadi.Wrappers.Deleters
-import Casadi.Wrappers.ForeignToolsInstances ( )
-import Casadi.MarshalTypes ( CppVec, CppVecVec, CppBool', StdString' )
-import Casadi.Marshal (  CornerCase(..), Marshal(..) )
+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
@@ -437,7 +435,7 @@
 getSchemeEntryName x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__getSchemeEntryName x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__getSchemeEntryName x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__getSchemeEntryDoc" c_CasADi__getSchemeEntryDoc
   :: CInt -> CInt -> IO (Ptr StdString')
@@ -446,7 +444,7 @@
 getSchemeEntryDoc x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__getSchemeEntryDoc x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__getSchemeEntryDoc x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__getSchemeEntryEnumName" c_CasADi__getSchemeEntryEnumName
   :: CInt -> CInt -> IO (Ptr StdString')
@@ -455,7 +453,7 @@
 getSchemeEntryEnumName x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__getSchemeEntryEnumName x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__getSchemeEntryEnumName x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__getSchemeEntryEnum" c_CasADi__getSchemeEntryEnum
   :: CInt -> Ptr StdString' -> IO CInt
@@ -480,7 +478,7 @@
   :: InputOutputScheme -> IO String
 getSchemeName x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__getSchemeName x0' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__getSchemeName x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__getSchemeEntryNames" c_CasADi__getSchemeEntryNames
   :: CInt -> IO (Ptr StdString')
@@ -488,7 +486,7 @@
   :: InputOutputScheme -> IO String
 getSchemeEntryNames x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__getSchemeEntryNames x0' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  c_CasADi__getSchemeEntryNames x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__complement" c_CasADi__complement
   :: Ptr (CppVec CInt) -> CInt -> IO (Ptr (CppVec CInt))
@@ -504,7 +502,7 @@
 complement x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__complement x0' x1' >>= (newForeignPtr c_delete_std__vector_int_) >>= wrapReturn
+  c_CasADi__complement x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__lookupvector" c_CasADi__lookupvector
   :: Ptr (CppVec CInt) -> CInt -> IO (Ptr (CppVec CInt))
@@ -521,10 +519,10 @@
 lookupvector x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__lookupvector x0' x1' >>= (newForeignPtr c_delete_std__vector_int_) >>= wrapReturn
+  c_CasADi__lookupvector x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isIncreasing" c_CasADi__isIncreasing
-  :: Ptr (CppVec CInt) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CInt) -> IO CInt
 {-|
 >Check if the vector is strictly increasing.
 -}
@@ -532,10 +530,10 @@
   :: Vector Int -> IO Bool
 isIncreasing x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isIncreasing x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isIncreasing x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isDecreasing" c_CasADi__isDecreasing
-  :: Ptr (CppVec CInt) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CInt) -> IO CInt
 {-|
 >Check if the vector is strictly decreasing.
 -}
@@ -543,10 +541,10 @@
   :: Vector Int -> IO Bool
 isDecreasing x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isDecreasing x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isDecreasing x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isNonIncreasing" c_CasADi__isNonIncreasing
-  :: Ptr (CppVec CInt) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CInt) -> IO CInt
 {-|
 >Check if the vector is non-increasing.
 -}
@@ -554,10 +552,10 @@
   :: Vector Int -> IO Bool
 isNonIncreasing x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isNonIncreasing x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isNonIncreasing x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isNonDecreasing" c_CasADi__isNonDecreasing
-  :: Ptr (CppVec CInt) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CInt) -> IO CInt
 {-|
 >Check if the vector is non-decreasing.
 -}
@@ -565,10 +563,10 @@
   :: Vector Int -> IO Bool
 isNonDecreasing x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isNonDecreasing x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isNonDecreasing x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isMonotone" c_CasADi__isMonotone
-  :: Ptr (CppVec CInt) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CInt) -> IO CInt
 {-|
 >Check if the vector is monotone.
 -}
@@ -576,10 +574,10 @@
   :: Vector Int -> IO Bool
 isMonotone x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isMonotone x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isMonotone x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isStrictlyMonotone" c_CasADi__isStrictlyMonotone
-  :: Ptr (CppVec CInt) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CInt) -> IO CInt
 {-|
 >Check if the vector is strictly monotone.
 -}
@@ -587,10 +585,10 @@
   :: Vector Int -> IO Bool
 isStrictlyMonotone x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isStrictlyMonotone x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isStrictlyMonotone x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isRegular" c_CasADi__isRegular
-  :: Ptr (CppVec CInt) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CInt) -> IO CInt
 {-|
 >>  bool CasADi::isRegular(const Matrix< int > &ex)
 >
@@ -618,71 +616,71 @@
   :: Vector Int -> IO Bool
 isRegular x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isRegular x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isRegular x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isIncreasing_TIC" c_CasADi__isIncreasing_TIC
-  :: Ptr (CppVec CDouble) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CDouble) -> IO CInt
 isIncreasing'
   :: Vector Double -> IO Bool
 isIncreasing' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isIncreasing_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isIncreasing_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isDecreasing_TIC" c_CasADi__isDecreasing_TIC
-  :: Ptr (CppVec CDouble) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CDouble) -> IO CInt
 isDecreasing'
   :: Vector Double -> IO Bool
 isDecreasing' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isDecreasing_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isDecreasing_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isNonIncreasing_TIC" c_CasADi__isNonIncreasing_TIC
-  :: Ptr (CppVec CDouble) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CDouble) -> IO CInt
 isNonIncreasing'
   :: Vector Double -> IO Bool
 isNonIncreasing' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isNonIncreasing_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isNonIncreasing_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isNonDecreasing_TIC" c_CasADi__isNonDecreasing_TIC
-  :: Ptr (CppVec CDouble) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CDouble) -> IO CInt
 isNonDecreasing'
   :: Vector Double -> IO Bool
 isNonDecreasing' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isNonDecreasing_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isNonDecreasing_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isMonotone_TIC" c_CasADi__isMonotone_TIC
-  :: Ptr (CppVec CDouble) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CDouble) -> IO CInt
 isMonotone'
   :: Vector Double -> IO Bool
 isMonotone' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isMonotone_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isMonotone_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isStrictlyMonotone_TIC" c_CasADi__isStrictlyMonotone_TIC
-  :: Ptr (CppVec CDouble) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CDouble) -> IO CInt
 isStrictlyMonotone'
   :: Vector Double -> IO Bool
 isStrictlyMonotone' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isStrictlyMonotone_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isStrictlyMonotone_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isRegular_TIC" c_CasADi__isRegular_TIC
-  :: Ptr (CppVec CDouble) -> IO (Ptr CppBool')
+  :: Ptr (CppVec CDouble) -> IO CInt
 isRegular'
   :: Vector Double -> IO Bool
 isRegular' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isRegular_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isRegular_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isRegular_TIC_TIC_TIC" c_CasADi__isRegular_TIC_TIC_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isRegular'''
   :: DMatrix -> IO Bool
 isRegular''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isRegular_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isRegular_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__trans_TIC" c_CasADi__trans_TIC
   :: Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -690,7 +688,7 @@
   :: DMatrix -> IO DMatrix
 trans' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__trans_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__trans_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__mul_TIC_TIC_TIC" c_CasADi__mul_TIC_TIC_TIC
   :: Ptr DMatrix' -> Ptr DMatrix' -> Ptr CRSSparsity' -> IO (Ptr DMatrix')
@@ -700,7 +698,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__mul_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -709,7 +707,7 @@
 mul'''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -717,71 +715,71 @@
   :: Vector DMatrix -> IO DMatrix
 mul''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isConstant_TIC" c_CasADi__isConstant_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isConstant'
   :: DMatrix -> IO Bool
 isConstant' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isConstant_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isConstant_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isDense_TIC" c_CasADi__isDense_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isDense'
   :: DMatrix -> IO Bool
 isDense' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isDense_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isDense_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isEmpty_TIC" c_CasADi__isEmpty_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isEmpty'
   :: DMatrix -> IO Bool
 isEmpty' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isEmpty_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isEmpty_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isInteger_TIC" c_CasADi__isInteger_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isInteger'
   :: DMatrix -> IO Bool
 isInteger' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isInteger_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isInteger_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isScalar_TIC" c_CasADi__isScalar_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isScalar'
   :: DMatrix -> IO Bool
 isScalar' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isScalar_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isScalar_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isVector_TIC" c_CasADi__isVector_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isVector'
   :: DMatrix -> IO Bool
 isVector' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isVector_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isVector_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isTril_TIC" c_CasADi__isTril_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isTril'
   :: DMatrix -> IO Bool
 isTril' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isTril_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isTril_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isTriu_TIC" c_CasADi__isTriu_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isTriu'
   :: DMatrix -> IO Bool
 isTriu' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isTriu_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isTriu_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__det_TIC" c_CasADi__det_TIC
   :: Ptr DMatrix' -> IO CDouble
@@ -817,7 +815,7 @@
   :: DMatrix -> IO DMatrix
 adj' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__adj_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__adj_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__inv_TIC" c_CasADi__inv_TIC
   :: Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -825,7 +823,7 @@
   :: DMatrix -> IO DMatrix
 inv' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__inv_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -835,7 +833,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__reshape_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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 CRSSparsity' -> IO (Ptr DMatrix')
@@ -844,7 +842,7 @@
 reshape''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__reshape_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -852,7 +850,7 @@
   :: DMatrix -> IO DMatrix
 vec' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vec_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__vec_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flatten_TIC" c_CasADi__flatten_TIC
   :: Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -860,7 +858,7 @@
   :: DMatrix -> IO DMatrix
 flatten' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flatten_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__flatten_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__vecNZ_TIC" c_CasADi__vecNZ_TIC
   :: Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -868,7 +866,7 @@
   :: DMatrix -> IO DMatrix
 vecNZ' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZ_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__vecNZ_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flattenNZ_TIC" c_CasADi__flattenNZ_TIC
   :: Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -876,52 +874,52 @@
   :: DMatrix -> IO DMatrix
 flattenNZ' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flattenNZ_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__flattenNZ_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__blockcat_TIC" c_CasADi__blockcat_TIC
-  :: Ptr (CppVecVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
+  :: 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' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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 (CppVecVec (Ptr DMatrix')))
+  :: 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' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__Matrix_double___) >>= wrapReturn
+  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 (CppVecVec (Ptr DMatrix')))
+  :: 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' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__Matrix_double___) >>= wrapReturn
+  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 (CppVecVec (Ptr DMatrix')))
+  :: 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' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__Matrix_double___) >>= wrapReturn
+  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 (CppVecVec (Ptr DMatrix')))
+  :: 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' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__Matrix_double___) >>= wrapReturn
+  c_CasADi__blocksplit_TIC_TIC_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')
@@ -929,7 +927,7 @@
   :: Vector DMatrix -> IO DMatrix
 horzcat' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__horzcat_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')))
@@ -938,7 +936,7 @@
 horzsplit''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_double__) >>= wrapReturn
+  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')))
@@ -947,7 +945,7 @@
 horzsplit'''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_double__) >>= wrapReturn
+  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')))
@@ -955,7 +953,7 @@
   :: DMatrix -> IO (Vector DMatrix)
 horzsplit''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_double__) >>= wrapReturn
+  c_CasADi__horzsplit_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')
@@ -963,7 +961,7 @@
   :: Vector DMatrix -> IO DMatrix
 vertcat' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vertcat_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')))
@@ -972,7 +970,7 @@
 vertsplit''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_double__) >>= wrapReturn
+  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')))
@@ -981,7 +979,7 @@
 vertsplit'''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_double__) >>= wrapReturn
+  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')))
@@ -989,7 +987,7 @@
   :: DMatrix -> IO (Vector DMatrix)
 vertsplit''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_double__) >>= wrapReturn
+  c_CasADi__vertsplit_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')
@@ -998,7 +996,7 @@
 inner_prod' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__inner_prod_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -1007,7 +1005,7 @@
 outer_prod' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__outer_prod_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -1015,7 +1013,7 @@
   :: DMatrix -> IO DMatrix
 norm_1' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_1_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -1023,7 +1021,7 @@
   :: DMatrix -> IO DMatrix
 norm_2' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_2_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -1031,7 +1029,7 @@
   :: DMatrix -> IO DMatrix
 norm_inf' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_inf_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -1039,7 +1037,7 @@
   :: DMatrix -> IO DMatrix
 norm_F' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_F_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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 ()
@@ -1057,7 +1055,7 @@
   :: DMatrix -> IO DMatrix
 nullspace' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__nullspace_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__nullspace_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__solve_TIC" c_CasADi__solve_TIC
   :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -1066,7 +1064,7 @@
 solve' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__solve_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__solve_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__pinv_TIC" c_CasADi__pinv_TIC
   :: Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -1074,39 +1072,39 @@
   :: DMatrix -> IO DMatrix
 pinv' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__pinv_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__pinv_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isZero_TIC" c_CasADi__isZero_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isZero'
   :: DMatrix -> IO Bool
 isZero' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isZero_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isZero_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isOne_TIC" c_CasADi__isOne_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isOne'
   :: DMatrix -> IO Bool
 isOne' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isOne_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isOne_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isMinusOne_TIC" c_CasADi__isMinusOne_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isMinusOne'
   :: DMatrix -> IO Bool
 isMinusOne' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isMinusOne_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isMinusOne_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isIdentity_TIC" c_CasADi__isIdentity_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 isIdentity'
   :: DMatrix -> IO Bool
 isIdentity' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isIdentity_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isIdentity_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__nnz_TIC" c_CasADi__nnz_TIC
   :: Ptr DMatrix' -> IO CInt
@@ -1125,13 +1123,13 @@
   c_CasADi__nnz_sym_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isEqual_TIC" c_CasADi__isEqual_TIC
-  :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> Ptr DMatrix' -> IO CInt
 isEqual'
   :: DMatrix -> DMatrix -> IO Bool
 isEqual' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__isEqual_TIC x0' x1' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isEqual_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__repmat_TIC" c_CasADi__repmat_TIC
   :: Ptr DMatrix' -> CInt -> CInt -> IO (Ptr DMatrix')
@@ -1141,15 +1139,15 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__repmat_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__repmat_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__getSparseTriplet_TIC" c_CasADi__getSparseTriplet_TIC
-  :: Ptr DMatrix' -> IO (Ptr (CppVecVec CInt))
+  :: Ptr DMatrix' -> IO (Ptr (CppVec (Ptr (CppVec CInt))))
 getSparseTriplet'
   :: DMatrix -> IO (Vector (Vector Int))
 getSparseTriplet' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__getSparseTriplet_TIC x0' >>= (newForeignPtr c_delete_std__vector_std__vector_int__) >>= wrapReturn
+  c_CasADi__getSparseTriplet_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__unite_TIC" c_CasADi__unite_TIC
   :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -1158,7 +1156,7 @@
 unite' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__unite_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__unite_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sumCols_TIC" c_CasADi__sumCols_TIC
   :: Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -1166,7 +1164,7 @@
   :: DMatrix -> IO DMatrix
 sumCols' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sumCols_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__sumCols_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sumRows_TIC" c_CasADi__sumRows_TIC
   :: Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -1174,7 +1172,7 @@
   :: DMatrix -> IO DMatrix
 sumRows' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sumRows_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__sumRows_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sumAll_TIC" c_CasADi__sumAll_TIC
   :: Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -1182,7 +1180,7 @@
   :: DMatrix -> IO DMatrix
 sumAll' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sumAll_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__sumAll_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__trace_TIC" c_CasADi__trace_TIC
   :: Ptr DMatrix' -> IO CDouble
@@ -1206,7 +1204,7 @@
   :: DMatrix -> IO DMatrix
 densify' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__densify_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__densify_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__makeSparse_TIC_TIC" c_CasADi__makeSparse_TIC_TIC
   :: Ptr DMatrix' -> CDouble -> IO ()
@@ -1226,12 +1224,12 @@
   c_CasADi__makeSparse_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__hasNonStructuralZeros_TIC" c_CasADi__hasNonStructuralZeros_TIC
-  :: Ptr DMatrix' -> IO (Ptr CppBool')
+  :: Ptr DMatrix' -> IO CInt
 hasNonStructuralZeros'
   :: DMatrix -> IO Bool
 hasNonStructuralZeros' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__hasNonStructuralZeros_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__hasNonStructuralZeros_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__diag_TIC" c_CasADi__diag_TIC
   :: Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -1239,7 +1237,7 @@
   :: DMatrix -> IO DMatrix
 diag' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__diag_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__diag_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__blkdiag_TIC" c_CasADi__blkdiag_TIC
   :: Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
@@ -1247,7 +1245,7 @@
   :: Vector DMatrix -> IO DMatrix
 blkdiag' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__blkdiag_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__blkdiag_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__polyval_TIC" c_CasADi__polyval_TIC
   :: Ptr DMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -1256,10 +1254,10 @@
 polyval' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__polyval_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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) -> Ptr CppBool' -> IO ()
+  :: Ptr DMatrix' -> Ptr (CppVec CDouble) -> Ptr (CppVec CDouble) -> CInt -> IO ()
 addMultiple''
   :: DMatrix -> Vector Double -> Vector Double -> Bool -> IO ()
 addMultiple'' x0 x1 x2 x3 =
@@ -1285,7 +1283,7 @@
   :: Vector DMatrix -> IO DMatrix
 veccat' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__veccat_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__veccat_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__vecNZcat_TIC" c_CasADi__vecNZcat_TIC
   :: Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
@@ -1293,7 +1291,7 @@
   :: Vector DMatrix -> IO DMatrix
 vecNZcat' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZcat_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__vecNZcat_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flattencat_TIC" c_CasADi__flattencat_TIC
   :: Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
@@ -1301,7 +1299,7 @@
   :: Vector DMatrix -> IO DMatrix
 flattencat' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flattencat_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__flattencat_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flattenNZcat_TIC" c_CasADi__flattenNZcat_TIC
   :: Ptr (CppVec (Ptr DMatrix')) -> IO (Ptr DMatrix')
@@ -1309,7 +1307,7 @@
   :: Vector DMatrix -> IO DMatrix
 flattenNZcat' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flattenNZcat_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__flattenNZcat_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__project_TIC" c_CasADi__project_TIC
   :: Ptr DMatrix' -> Ptr CRSSparsity' -> IO (Ptr DMatrix')
@@ -1318,7 +1316,7 @@
 project' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__project_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__project_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sprank_TIC" c_CasADi__sprank_TIC
   :: Ptr DMatrix' -> IO CInt
@@ -1335,7 +1333,7 @@
 kron' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__kron_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -1344,7 +1342,7 @@
 sparse'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__sparse_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -1352,7 +1350,7 @@
   :: DMatrix -> IO DMatrix
 sparse''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sparse_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__sparse_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__full_TIC" c_CasADi__full_TIC
   :: Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -1360,7 +1358,7 @@
   :: DMatrix -> IO DMatrix
 full' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__full_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__full_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__trans_TIC_TIC" c_CasADi__trans_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1368,7 +1366,7 @@
   :: SXMatrix -> IO SXMatrix
 trans'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__trans_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__trans_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 SXMatrix' -> Ptr SXMatrix' -> Ptr CRSSparsity' -> IO (Ptr SXMatrix')
@@ -1378,7 +1376,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1387,7 +1385,7 @@
 mul''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix')) -> IO (Ptr SXMatrix')
@@ -1395,71 +1393,71 @@
   :: Vector SXMatrix -> IO SXMatrix
 mul'''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isConstant_TIC_TIC" c_CasADi__isConstant_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isConstant''
   :: SXMatrix -> IO Bool
 isConstant'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isConstant_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isConstant_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isDense_TIC_TIC" c_CasADi__isDense_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isDense''
   :: SXMatrix -> IO Bool
 isDense'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isDense_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isDense_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isEmpty_TIC_TIC" c_CasADi__isEmpty_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isEmpty''
   :: SXMatrix -> IO Bool
 isEmpty'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isEmpty_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isEmpty_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isInteger_TIC_TIC" c_CasADi__isInteger_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isInteger''
   :: SXMatrix -> IO Bool
 isInteger'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isInteger_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isInteger_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isScalar_TIC_TIC" c_CasADi__isScalar_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isScalar''
   :: SXMatrix -> IO Bool
 isScalar'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isScalar_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isScalar_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isVector_TIC_TIC" c_CasADi__isVector_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isVector''
   :: SXMatrix -> IO Bool
 isVector'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isVector_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isVector_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isTril_TIC_TIC" c_CasADi__isTril_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isTril''
   :: SXMatrix -> IO Bool
 isTril'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isTril_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isTril_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isTriu_TIC_TIC" c_CasADi__isTriu_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isTriu''
   :: SXMatrix -> IO Bool
 isTriu'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isTriu_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isTriu_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__det_TIC_TIC" c_CasADi__det_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SX')
@@ -1467,7 +1465,7 @@
   :: SXMatrix -> IO SX
 det'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__det_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__det_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__getMinor_TIC_TIC" c_CasADi__getMinor_TIC_TIC
   :: Ptr SXMatrix' -> CInt -> CInt -> IO (Ptr SX')
@@ -1477,7 +1475,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__getMinor_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__getMinor_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__cofactor_TIC_TIC" c_CasADi__cofactor_TIC_TIC
   :: Ptr SXMatrix' -> CInt -> CInt -> IO (Ptr SX')
@@ -1487,7 +1485,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__cofactor_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__cofactor_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__adj_TIC_TIC" c_CasADi__adj_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1495,7 +1493,7 @@
   :: SXMatrix -> IO SXMatrix
 adj'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__adj_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__adj_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__inv_TIC_TIC" c_CasADi__inv_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1503,7 +1501,7 @@
   :: SXMatrix -> IO SXMatrix
 inv'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__inv_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> CInt -> CInt -> IO (Ptr SXMatrix')
@@ -1513,7 +1511,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__reshape_TIC_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> Ptr CRSSparsity' -> IO (Ptr SXMatrix')
@@ -1522,7 +1520,7 @@
 reshape''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__reshape_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> IO (Ptr SXMatrix')
@@ -1530,7 +1528,7 @@
   :: SXMatrix -> IO SXMatrix
 vec'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vec_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__vec_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flatten_TIC_TIC" c_CasADi__flatten_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1538,7 +1536,7 @@
   :: SXMatrix -> IO SXMatrix
 flatten'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flatten_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__flatten_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__vecNZ_TIC_TIC" c_CasADi__vecNZ_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1546,7 +1544,7 @@
   :: SXMatrix -> IO SXMatrix
 vecNZ'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZ_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__vecNZ_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flattenNZ_TIC_TIC" c_CasADi__flattenNZ_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1554,52 +1552,52 @@
   :: SXMatrix -> IO SXMatrix
 flattenNZ'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flattenNZ_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__flattenNZ_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__blockcat_TIC_TIC" c_CasADi__blockcat_TIC_TIC
-  :: Ptr (CppVecVec (Ptr SXMatrix')) -> IO (Ptr SXMatrix')
+  :: Ptr (CppVec (Ptr (CppVec (Ptr SXMatrix')))) -> IO (Ptr SXMatrix')
 blockcat''
   :: Vector (Vector SXMatrix) -> IO SXMatrix
 blockcat'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__blockcat_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr (CppVecVec (Ptr SXMatrix')))
+  :: Ptr SXMatrix' -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SXMatrix')))))
 blocksplit''''''''
   :: SXMatrix -> Vector Int -> Vector Int -> IO (Vector (Vector SXMatrix))
 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' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__Matrix_CasADi__SX___) >>= wrapReturn
+  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 SXMatrix' -> CInt -> CInt -> IO (Ptr (CppVecVec (Ptr SXMatrix')))
+  :: Ptr SXMatrix' -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SXMatrix')))))
 blocksplit'''''''''
   :: SXMatrix -> Int -> Int -> IO (Vector (Vector SXMatrix))
 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' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__Matrix_CasADi__SX___) >>= wrapReturn
+  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 SXMatrix' -> CInt -> IO (Ptr (CppVecVec (Ptr SXMatrix')))
+  :: Ptr SXMatrix' -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SXMatrix')))))
 blocksplit''''''''''
   :: SXMatrix -> Int -> IO (Vector (Vector SXMatrix))
 blocksplit'''''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__Matrix_CasADi__SX___) >>= wrapReturn
+  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 SXMatrix' -> IO (Ptr (CppVecVec (Ptr SXMatrix')))
+  :: Ptr SXMatrix' -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SXMatrix')))))
 blocksplit'''''''''''
   :: SXMatrix -> IO (Vector (Vector SXMatrix))
 blocksplit''''''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__Matrix_CasADi__SX___) >>= wrapReturn
+  c_CasADi__blocksplit_TIC_TIC_TIC_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 SXMatrix')) -> IO (Ptr SXMatrix')
@@ -1607,7 +1605,7 @@
   :: Vector SXMatrix -> IO SXMatrix
 horzcat'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__horzcat_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr SXMatrix')))
@@ -1616,7 +1614,7 @@
 horzsplit'''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_CasADi__SX__) >>= wrapReturn
+  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 SXMatrix' -> CInt -> IO (Ptr (CppVec (Ptr SXMatrix')))
@@ -1625,7 +1623,7 @@
 horzsplit''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_CasADi__SX__) >>= wrapReturn
+  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 SXMatrix' -> IO (Ptr (CppVec (Ptr SXMatrix')))
@@ -1633,7 +1631,7 @@
   :: SXMatrix -> IO (Vector SXMatrix)
 horzsplit'''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_CasADi__SX__) >>= wrapReturn
+  c_CasADi__horzsplit_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 SXMatrix')) -> IO (Ptr SXMatrix')
@@ -1641,7 +1639,7 @@
   :: Vector SXMatrix -> IO SXMatrix
 vertcat'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vertcat_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr SXMatrix')))
@@ -1650,7 +1648,7 @@
 vertsplit'''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_CasADi__SX__) >>= wrapReturn
+  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 SXMatrix' -> CInt -> IO (Ptr (CppVec (Ptr SXMatrix')))
@@ -1659,7 +1657,7 @@
 vertsplit''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_CasADi__SX__) >>= wrapReturn
+  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 SXMatrix' -> IO (Ptr (CppVec (Ptr SXMatrix')))
@@ -1667,7 +1665,7 @@
   :: SXMatrix -> IO (Vector SXMatrix)
 vertsplit'''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_CasADi__SX__) >>= wrapReturn
+  c_CasADi__vertsplit_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 SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1676,7 +1674,7 @@
 inner_prod'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__inner_prod_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1685,7 +1683,7 @@
 outer_prod'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__outer_prod_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> IO (Ptr SXMatrix')
@@ -1693,7 +1691,7 @@
   :: SXMatrix -> IO SXMatrix
 norm_1'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_1_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__norm_1_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__norm_2_TIC_TIC" c_CasADi__norm_2_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1701,7 +1699,7 @@
   :: SXMatrix -> IO SXMatrix
 norm_2'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_2_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__norm_2_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__norm_inf_TIC_TIC" c_CasADi__norm_inf_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1709,7 +1707,7 @@
   :: SXMatrix -> IO SXMatrix
 norm_inf'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_inf_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__norm_inf_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__norm_F_TIC_TIC" c_CasADi__norm_F_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1717,7 +1715,7 @@
   :: SXMatrix -> IO SXMatrix
 norm_F'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_F_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__norm_F_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__qr_TIC_TIC" c_CasADi__qr_TIC_TIC
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> IO ()
@@ -1735,7 +1733,7 @@
   :: SXMatrix -> IO SXMatrix
 nullspace'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__nullspace_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__nullspace_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__solve_TIC_TIC" c_CasADi__solve_TIC_TIC
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1744,7 +1742,7 @@
 solve'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__solve_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__solve_TIC_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__pinv_TIC_TIC" c_CasADi__pinv_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1752,39 +1750,39 @@
   :: SXMatrix -> IO SXMatrix
 pinv'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__pinv_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__pinv_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isZero_TIC_TIC" c_CasADi__isZero_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isZero''
   :: SXMatrix -> IO Bool
 isZero'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isZero_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isZero_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isOne_TIC_TIC" c_CasADi__isOne_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isOne''
   :: SXMatrix -> IO Bool
 isOne'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isOne_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isOne_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isMinusOne_TIC_TIC" c_CasADi__isMinusOne_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isMinusOne''
   :: SXMatrix -> IO Bool
 isMinusOne'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isMinusOne_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isMinusOne_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isIdentity_TIC_TIC" c_CasADi__isIdentity_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isIdentity''
   :: SXMatrix -> IO Bool
 isIdentity'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isIdentity_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isIdentity_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__nnz_TIC_TIC" c_CasADi__nnz_TIC_TIC
   :: Ptr SXMatrix' -> IO CInt
@@ -1803,13 +1801,13 @@
   c_CasADi__nnz_sym_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isEqual_TIC_TIC" c_CasADi__isEqual_TIC_TIC
-  :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO CInt
 isEqual''
   :: SXMatrix -> SXMatrix -> IO Bool
 isEqual'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__isEqual_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isEqual_TIC_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__repmat_TIC_TIC" c_CasADi__repmat_TIC_TIC
   :: Ptr SXMatrix' -> CInt -> CInt -> IO (Ptr SXMatrix')
@@ -1819,15 +1817,15 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__repmat_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__repmat_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__getSparseTriplet_TIC_TIC" c_CasADi__getSparseTriplet_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr (CppVecVec CInt))
+  :: Ptr SXMatrix' -> IO (Ptr (CppVec (Ptr (CppVec CInt))))
 getSparseTriplet''
   :: SXMatrix -> IO (Vector (Vector Int))
 getSparseTriplet'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__getSparseTriplet_TIC_TIC x0' >>= (newForeignPtr c_delete_std__vector_std__vector_int__) >>= wrapReturn
+  c_CasADi__getSparseTriplet_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__unite_TIC_TIC" c_CasADi__unite_TIC_TIC
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1836,7 +1834,7 @@
 unite'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__unite_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__unite_TIC_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sumCols_TIC_TIC" c_CasADi__sumCols_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1844,7 +1842,7 @@
   :: SXMatrix -> IO SXMatrix
 sumCols'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sumCols_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__sumCols_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sumRows_TIC_TIC" c_CasADi__sumRows_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1852,7 +1850,7 @@
   :: SXMatrix -> IO SXMatrix
 sumRows'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sumRows_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__sumRows_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sumAll_TIC_TIC" c_CasADi__sumAll_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1860,7 +1858,7 @@
   :: SXMatrix -> IO SXMatrix
 sumAll'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sumAll_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__sumAll_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__trace_TIC_TIC" c_CasADi__trace_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SX')
@@ -1868,7 +1866,7 @@
   :: SXMatrix -> IO SX
 trace'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__trace_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__trace_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__makeDense_TIC_TIC" c_CasADi__makeDense_TIC_TIC
   :: Ptr SXMatrix' -> IO ()
@@ -1884,7 +1882,7 @@
   :: SXMatrix -> IO SXMatrix
 densify'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__densify_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__densify_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__makeSparse_TIC_TIC_TIC_TIC" c_CasADi__makeSparse_TIC_TIC_TIC_TIC
   :: Ptr SXMatrix' -> CDouble -> IO ()
@@ -1904,12 +1902,12 @@
   c_CasADi__makeSparse_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__hasNonStructuralZeros_TIC_TIC" c_CasADi__hasNonStructuralZeros_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 hasNonStructuralZeros''
   :: SXMatrix -> IO Bool
 hasNonStructuralZeros'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__hasNonStructuralZeros_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__hasNonStructuralZeros_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__diag_TIC_TIC" c_CasADi__diag_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1917,7 +1915,7 @@
   :: SXMatrix -> IO SXMatrix
 diag'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__diag_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__diag_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__blkdiag_TIC_TIC" c_CasADi__blkdiag_TIC_TIC
   :: Ptr (CppVec (Ptr SXMatrix')) -> IO (Ptr SXMatrix')
@@ -1925,7 +1923,7 @@
   :: Vector SXMatrix -> IO SXMatrix
 blkdiag'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__blkdiag_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__blkdiag_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__polyval_TIC_TIC" c_CasADi__polyval_TIC_TIC
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -1934,10 +1932,10 @@
 polyval'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__polyval_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> Ptr CppBool' -> IO ()
+  :: Ptr SXMatrix' -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> CInt -> IO ()
 addMultiple''''
   :: SXMatrix -> Vector SX -> Vector SX -> Bool -> IO ()
 addMultiple'''' x0 x1 x2 x3 =
@@ -1963,7 +1961,7 @@
   :: Vector SXMatrix -> IO SXMatrix
 veccat'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__veccat_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__veccat_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__vecNZcat_TIC_TIC" c_CasADi__vecNZcat_TIC_TIC
   :: Ptr (CppVec (Ptr SXMatrix')) -> IO (Ptr SXMatrix')
@@ -1971,7 +1969,7 @@
   :: Vector SXMatrix -> IO SXMatrix
 vecNZcat'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZcat_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__vecNZcat_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flattencat_TIC_TIC" c_CasADi__flattencat_TIC_TIC
   :: Ptr (CppVec (Ptr SXMatrix')) -> IO (Ptr SXMatrix')
@@ -1979,7 +1977,7 @@
   :: Vector SXMatrix -> IO SXMatrix
 flattencat'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flattencat_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__flattencat_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flattenNZcat_TIC_TIC" c_CasADi__flattenNZcat_TIC_TIC
   :: Ptr (CppVec (Ptr SXMatrix')) -> IO (Ptr SXMatrix')
@@ -1987,7 +1985,7 @@
   :: Vector SXMatrix -> IO SXMatrix
 flattenNZcat'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flattenNZcat_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__flattenNZcat_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__project_TIC_TIC" c_CasADi__project_TIC_TIC
   :: Ptr SXMatrix' -> Ptr CRSSparsity' -> IO (Ptr SXMatrix')
@@ -1996,7 +1994,7 @@
 project'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__project_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__project_TIC_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sprank_TIC_TIC" c_CasADi__sprank_TIC_TIC
   :: Ptr SXMatrix' -> IO CInt
@@ -2013,7 +2011,7 @@
 kron'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__kron_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> CDouble -> IO (Ptr SXMatrix')
@@ -2022,7 +2020,7 @@
 sparse'''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__sparse_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> IO (Ptr SXMatrix')
@@ -2030,7 +2028,7 @@
   :: SXMatrix -> IO SXMatrix
 sparse''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sparse_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__sparse_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__full_TIC_TIC" c_CasADi__full_TIC_TIC
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -2038,7 +2036,7 @@
   :: SXMatrix -> IO SXMatrix
 full'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__full_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__full_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__logic_and" c_CasADi__logic_and
   :: CInt -> CInt -> IO CInt
@@ -2111,7 +2109,7 @@
 logic_and''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__logic_and_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -2120,7 +2118,7 @@
 logic_or''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__logic_or_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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')
@@ -2128,7 +2126,7 @@
   :: DMatrix -> IO DMatrix
 logic_not''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__logic_not_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  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 SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -2137,7 +2135,7 @@
 logic_and'''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__logic_and_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -2146,7 +2144,7 @@
 logic_or'''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__logic_or_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> IO (Ptr SXMatrix')
@@ -2154,7 +2152,7 @@
   :: SXMatrix -> IO SXMatrix
 logic_not'''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__logic_not_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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')
@@ -2163,7 +2161,7 @@
 logic_and''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__logic_and_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -2172,7 +2170,7 @@
 logic_or''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__logic_or_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -2180,7 +2178,7 @@
   :: MX -> IO MX
 logic_not''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__logic_not_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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 SX' -> Ptr SX' -> IO (Ptr SX')
@@ -2189,7 +2187,7 @@
 logic_and'''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  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 SX' -> Ptr SX' -> IO (Ptr SX')
@@ -2198,7 +2196,7 @@
 logic_or'''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  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 SX' -> IO (Ptr SX')
@@ -2206,7 +2204,7 @@
   :: SX -> IO SX
 logic_not'''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__SX) >>= wrapReturn
+  c_CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__hash_combine" c_CasADi__hash_combine
   :: CSize -> Ptr (CppVec CInt) -> IO ()
@@ -2244,7 +2242,7 @@
 sp_dense x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__sp_dense x0' x1' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_dense x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_dense_TIC" c_CasADi__sp_dense_TIC
   :: CInt -> IO (Ptr CRSSparsity')
@@ -2252,7 +2250,7 @@
   :: Int -> IO CRSSparsity
 sp_dense' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sp_dense_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_dense_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_sparse" c_CasADi__sp_sparse
   :: CInt -> CInt -> IO (Ptr CRSSparsity')
@@ -2272,7 +2270,7 @@
 sp_sparse x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__sp_sparse x0' x1' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_sparse x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_sparse_TIC" c_CasADi__sp_sparse_TIC
   :: CInt -> IO (Ptr CRSSparsity')
@@ -2280,7 +2278,7 @@
   :: Int -> IO CRSSparsity
 sp_sparse' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sp_sparse_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_sparse_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_unit" c_CasADi__sp_unit
   :: CInt -> CInt -> IO (Ptr CRSSparsity')
@@ -2293,7 +2291,7 @@
 sp_unit x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__sp_unit x0' x1' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_unit x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_tril" c_CasADi__sp_tril
   :: CInt -> IO (Ptr CRSSparsity')
@@ -2306,7 +2304,7 @@
   :: Int -> IO CRSSparsity
 sp_tril x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sp_tril x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_tril x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_diag" c_CasADi__sp_diag
   :: CInt -> IO (Ptr CRSSparsity')
@@ -2317,7 +2315,7 @@
   :: Int -> IO CRSSparsity
 sp_diag x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sp_diag x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_diag x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_band" c_CasADi__sp_band
   :: CInt -> CInt -> IO (Ptr CRSSparsity')
@@ -2337,7 +2335,7 @@
 sp_band x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__sp_band x0' x1' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_band x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_banded" c_CasADi__sp_banded
   :: CInt -> CInt -> IO (Ptr CRSSparsity')
@@ -2352,7 +2350,7 @@
 sp_banded x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__sp_banded x0' x1' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_banded x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_rowcol" c_CasADi__sp_rowcol
   :: Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> CInt -> CInt -> IO (Ptr CRSSparsity')
@@ -2366,7 +2364,7 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__sp_rowcol x0' x1' x2' x3' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_rowcol x0' x1' x2' x3' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__getNZDense" c_CasADi__getNZDense
   :: Ptr CRSSparsity' -> IO (Ptr (CppVec CInt))
@@ -2382,7 +2380,7 @@
   :: CRSSparsity -> IO (Vector Int)
 getNZDense x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__getNZDense x0' >>= (newForeignPtr c_delete_std__vector_int_) >>= wrapReturn
+  c_CasADi__getNZDense x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC
   :: Ptr CRSSparsity' -> CInt -> CInt -> IO (Ptr CRSSparsity')
@@ -2392,7 +2390,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__vec_TIC_TIC_TIC" c_CasADi__vec_TIC_TIC_TIC
   :: Ptr CRSSparsity' -> IO (Ptr CRSSparsity')
@@ -2400,7 +2398,7 @@
   :: CRSSparsity -> IO CRSSparsity
 vec''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vec_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__vec_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__trans_TIC_TIC_TIC" c_CasADi__trans_TIC_TIC_TIC
   :: Ptr CRSSparsity' -> IO (Ptr CRSSparsity')
@@ -2408,10 +2406,10 @@
   :: CRSSparsity -> IO CRSSparsity
 trans''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__trans_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__trans_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__lowerSparsity" c_CasADi__lowerSparsity
-  :: Ptr CRSSparsity' -> Ptr CppBool' -> IO (Ptr CRSSparsity')
+  :: Ptr CRSSparsity' -> CInt -> IO (Ptr CRSSparsity')
 {-|
 >Return the lower part of the sparsity pattern.
 >
@@ -2427,7 +2425,7 @@
 lowerSparsity x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__lowerSparsity x0' x1' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__lowerSparsity x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__lowerSparsity_TIC" c_CasADi__lowerSparsity_TIC
   :: Ptr CRSSparsity' -> IO (Ptr CRSSparsity')
@@ -2435,7 +2433,7 @@
   :: CRSSparsity -> IO CRSSparsity
 lowerSparsity' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__lowerSparsity_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__lowerSparsity_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__lowerNZ" c_CasADi__lowerNZ
   :: Ptr CRSSparsity' -> IO (Ptr (CppVec CInt))
@@ -2447,10 +2445,10 @@
   :: CRSSparsity -> IO (Vector Int)
 lowerNZ x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__lowerNZ x0' >>= (newForeignPtr c_delete_std__vector_int_) >>= wrapReturn
+  c_CasADi__lowerNZ x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_triplet" c_CasADi__sp_triplet
-  :: CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr CppBool' -> IO (Ptr CRSSparsity')
+  :: CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> CInt -> IO (Ptr CRSSparsity')
 {-|
 >>  CRSSparsity CasADi::sp_triplet(int n, int m, const std::vector< int > &row, const std::vector< int > &col, std::vector< int > &mapping, bool invert_mapping=false)
 >------------------------------------------------------------------------
@@ -2473,7 +2471,7 @@
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
   withMarshal x5 $ \x5' ->
-  c_CasADi__sp_triplet x0' x1' x2' x3' x4' x5' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_triplet x0' x1' x2' x3' x4' x5' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_triplet_TIC" c_CasADi__sp_triplet_TIC
   :: CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr CRSSparsity')
@@ -2485,7 +2483,7 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__sp_triplet_TIC x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_triplet_TIC x0' x1' x2' x3' x4' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_triplet_TIC_TIC" c_CasADi__sp_triplet_TIC_TIC
   :: CInt -> CInt -> Ptr (CppVec CInt) -> Ptr (CppVec CInt) -> IO (Ptr CRSSparsity')
@@ -2496,7 +2494,7 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__sp_triplet_TIC_TIC x0' x1' x2' x3' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_triplet_TIC_TIC x0' x1' x2' x3' >>= 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 CRSSparsity' -> Ptr CRSSparsity' -> IO (Ptr CRSSparsity')
@@ -2505,7 +2503,7 @@
 mul''''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  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 CRSSparsity')) -> IO (Ptr CRSSparsity')
@@ -2513,7 +2511,7 @@
   :: Vector CRSSparsity -> IO CRSSparsity
 vertcat''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vertcat_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  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 CRSSparsity')) -> IO (Ptr CRSSparsity')
@@ -2521,7 +2519,7 @@
   :: Vector CRSSparsity -> IO CRSSparsity
 horzcat''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__horzcat_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  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 CRSSparsity')) -> IO (Ptr CRSSparsity')
@@ -2529,7 +2527,7 @@
   :: Vector CRSSparsity -> IO CRSSparsity
 blkdiag''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__blkdiag_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__blkdiag_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_compress" c_CasADi__sp_compress
   :: Ptr CRSSparsity' -> IO (Ptr (CppVec CInt))
@@ -2559,7 +2557,7 @@
   :: CRSSparsity -> IO (Vector Int)
 sp_compress x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sp_compress x0' >>= (newForeignPtr c_delete_std__vector_int_) >>= wrapReturn
+  c_CasADi__sp_compress x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__sp_compress_TIC" c_CasADi__sp_compress_TIC
   :: Ptr (CppVec CInt) -> IO (Ptr CRSSparsity')
@@ -2567,7 +2565,7 @@
   :: Vector Int -> IO CRSSparsity
 sp_compress' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sp_compress_TIC x0' >>= (newForeignPtr c_delete_CasADi__CRSSparsity) >>= wrapReturn
+  c_CasADi__sp_compress_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__rank" c_CasADi__rank
   :: Ptr CRSSparsity' -> IO CInt
@@ -2581,7 +2579,7 @@
   c_CasADi__rank x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isSingular" c_CasADi__isSingular
-  :: Ptr CRSSparsity' -> IO (Ptr CppBool')
+  :: Ptr CRSSparsity' -> IO CInt
 {-|
 >Check whether the sparsity-pattern inidcates structural singularity.
 -}
@@ -2589,7 +2587,7 @@
   :: CRSSparsity -> IO Bool
 isSingular x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isSingular x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isSingular x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__ssym" c_CasADi__ssym
   :: Ptr StdString' -> CInt -> CInt -> IO (Ptr SXMatrix')
@@ -2651,7 +2649,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__ssym x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__ssym x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__ssym_TIC" c_CasADi__ssym_TIC
   :: Ptr StdString' -> CInt -> IO (Ptr SXMatrix')
@@ -2660,7 +2658,7 @@
 ssym' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__ssym_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__ssym_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__ssym_TIC_TIC" c_CasADi__ssym_TIC_TIC
   :: Ptr StdString' -> IO (Ptr SXMatrix')
@@ -2668,7 +2666,7 @@
   :: String -> IO SXMatrix
 ssym'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__ssym_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__ssym_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__ssym_TIC_TIC_TIC" c_CasADi__ssym_TIC_TIC_TIC
   :: Ptr StdString' -> Ptr CRSSparsity' -> CInt -> IO (Ptr (CppVec (Ptr SXMatrix')))
@@ -2678,7 +2676,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__ssym_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_CasADi__SX__) >>= wrapReturn
+  c_CasADi__ssym_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__ssym_TIC_TIC_TIC_TIC" c_CasADi__ssym_TIC_TIC_TIC_TIC
   :: Ptr StdString' -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr SXMatrix')))
@@ -2689,10 +2687,10 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__ssym_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_CasADi__SX__) >>= wrapReturn
+  c_CasADi__ssym_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__ssym_TIC_TIC_TIC_TIC_TIC" c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr CRSSparsity' -> CInt -> CInt -> IO (Ptr (CppVecVec (Ptr SXMatrix')))
+  :: Ptr StdString' -> Ptr CRSSparsity' -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SXMatrix')))))
 ssym'''''
   :: String -> CRSSparsity -> Int -> Int -> IO (Vector (Vector SXMatrix))
 ssym''''' x0 x1 x2 x3 =
@@ -2700,10 +2698,10 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__Matrix_CasADi__SX___) >>= wrapReturn
+  c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (CppVecVec (Ptr SXMatrix')))
+  :: Ptr StdString' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr SXMatrix')))))
 ssym''''''
   :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector SXMatrix))
 ssym'''''' x0 x1 x2 x3 x4 =
@@ -2712,7 +2710,7 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__Matrix_CasADi__SX___) >>= wrapReturn
+  c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC
   :: Ptr StdString' -> Ptr CRSSparsity' -> IO (Ptr SXMatrix')
@@ -2721,7 +2719,7 @@
 ssym''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
   :: Ptr DMatrix' -> IO (Ptr SXMatrix')
@@ -2729,7 +2727,7 @@
   :: DMatrix -> IO SXMatrix
 ssym'''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__expand" c_CasADi__expand
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> IO ()
@@ -2789,7 +2787,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__pw_const x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__pw_const x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__pw_lin" c_CasADi__pw_lin
   :: Ptr SX' -> Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -2808,7 +2806,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__pw_lin x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__pw_lin x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__if_else" c_CasADi__if_else
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -2824,7 +2822,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__if_else x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__if_else x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__heaviside" c_CasADi__heaviside
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -2838,7 +2836,7 @@
   :: SXMatrix -> IO SXMatrix
 heaviside x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__heaviside x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__heaviside x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__rectangle" c_CasADi__rectangle
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -2855,7 +2853,7 @@
   :: SXMatrix -> IO SXMatrix
 rectangle x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__rectangle x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__rectangle x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__triangle" c_CasADi__triangle
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -2869,7 +2867,7 @@
   :: SXMatrix -> IO SXMatrix
 triangle x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__triangle x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__triangle x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__ramp" c_CasADi__ramp
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -2885,7 +2883,7 @@
   :: SXMatrix -> IO SXMatrix
 ramp x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__ramp x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__ramp x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__gauss_quadrature" c_CasADi__gauss_quadrature
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> CInt -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -2901,7 +2899,7 @@
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
   withMarshal x5 $ \x5' ->
-  c_CasADi__gauss_quadrature x0' x1' x2' x3' x4' x5' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> CInt -> IO (Ptr SXMatrix')
@@ -2913,7 +2911,7 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__gauss_quadrature_TIC x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  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 SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -2924,7 +2922,7 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__gauss_quadrature_TIC_TIC x0' x1' x2' x3' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__gauss_quadrature_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__simplify_TIC" c_CasADi__simplify_TIC
   :: Ptr SXMatrix' -> IO ()
@@ -2977,7 +2975,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__substitute x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__substitute x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__substitute_TIC" c_CasADi__substitute_TIC
   :: Ptr (CppVec (Ptr SXMatrix')) -> Ptr (CppVec (Ptr SXMatrix')) -> Ptr (CppVec (Ptr SXMatrix')) -> IO (Ptr (CppVec (Ptr SXMatrix')))
@@ -2987,10 +2985,10 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__substitute_TIC x0' x1' x2' >>= (newForeignPtr c_delete_std__vector_CasADi__Matrix_CasADi__SX__) >>= wrapReturn
+  c_CasADi__substitute_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__substituteInPlace" c_CasADi__substituteInPlace
-  :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr CppBool' -> IO ()
+  :: Ptr SXMatrix' -> Ptr SXMatrix' -> CInt -> IO ()
 {-|
 >>  void CasADi::substituteInPlace(const std::vector< MX > &v, std::vector< MX > &vdef, bool reverse=false)
 >------------------------------------------------------------------------
@@ -3040,7 +3038,7 @@
   c_CasADi__substituteInPlace_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__substituteInPlace_TIC_TIC" c_CasADi__substituteInPlace_TIC_TIC
-  :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr (CppVec (Ptr SXMatrix')) -> Ptr CppBool' -> IO ()
+  :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr (CppVec (Ptr SXMatrix')) -> CInt -> IO ()
 substituteInPlace''
   :: SXMatrix -> SXMatrix -> Vector SXMatrix -> Bool -> IO ()
 substituteInPlace'' x0 x1 x2 x3 =
@@ -3061,7 +3059,7 @@
   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 SXMatrix')) -> Ptr (CppVec (Ptr SXMatrix')) -> Ptr (CppVec (Ptr SXMatrix')) -> Ptr CppBool' -> IO ()
+  :: Ptr (CppVec (Ptr SXMatrix')) -> Ptr (CppVec (Ptr SXMatrix')) -> Ptr (CppVec (Ptr SXMatrix')) -> CInt -> IO ()
 substituteInPlace''''
   :: Vector SXMatrix -> Vector SXMatrix -> Vector SXMatrix -> Bool -> IO ()
 substituteInPlace'''' x0 x1 x2 x3 =
@@ -3103,7 +3101,7 @@
   :: SXMatrix -> IO DMatrix
 evalf x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__evalf x0' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__evalf x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__evalf_TIC" c_CasADi__evalf_TIC
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -3113,23 +3111,23 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__evalf_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__evalf_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isRegular_TIC_TIC_TIC_TIC" c_CasADi__isRegular_TIC_TIC_TIC_TIC
-  :: Ptr SX' -> IO (Ptr CppBool')
+  :: Ptr SX' -> IO CInt
 isRegular''''
   :: SX -> IO Bool
 isRegular'''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isRegular_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isRegular_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isRegular_TIC_TIC_TIC_TIC_TIC" c_CasADi__isRegular_TIC_TIC_TIC_TIC_TIC
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 isRegular'''''
   :: SXMatrix -> IO Bool
 isRegular''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isRegular_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isRegular_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__spy" c_CasADi__spy
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3140,10 +3138,10 @@
   :: SXMatrix -> IO SXMatrix
 spy x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__spy x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__spy x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__dependsOn" c_CasADi__dependsOn
-  :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO CInt
 {-|
 >Check dependency: very inefficient algorithm.
 -}
@@ -3152,7 +3150,7 @@
 dependsOn x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__dependsOn x0' x1' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__dependsOn x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__getSymbols" c_CasADi__getSymbols
   :: Ptr SXMatrix' -> IO (Ptr (CppVec (Ptr SX')))
@@ -3179,10 +3177,10 @@
   :: SXMatrix -> IO (Vector SX)
 getSymbols x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__getSymbols x0' >>= (newForeignPtr c_delete_std__vector_CasADi__SX_) >>= wrapReturn
+  c_CasADi__getSymbols x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isSmooth" c_CasADi__isSmooth
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 {-|
 >check if smooth
 -}
@@ -3190,10 +3188,10 @@
   :: SXMatrix -> IO Bool
 isSmooth x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isSmooth x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isSmooth x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isSymbolic" c_CasADi__isSymbolic
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 {-|
 >>  bool CasADi::isSymbolic(const MX &ex)
 >------------------------------------------------------------------------
@@ -3211,10 +3209,10 @@
   :: SXMatrix -> IO Bool
 isSymbolic x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isSymbolic x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isSymbolic x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isSymbolicSparse" c_CasADi__isSymbolicSparse
-  :: Ptr SXMatrix' -> IO (Ptr CppBool')
+  :: Ptr SXMatrix' -> IO CInt
 {-|
 >>  bool CasADi::isSymbolicSparse(const MX &ex)
 >------------------------------------------------------------------------
@@ -3233,7 +3231,7 @@
   :: SXMatrix -> IO Bool
 isSymbolicSparse x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isSymbolicSparse x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isSymbolicSparse x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__jacobian" c_CasADi__jacobian
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3257,7 +3255,7 @@
 jacobian x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__jacobian x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__jacobian x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__gradient" c_CasADi__gradient
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3281,7 +3279,7 @@
 gradient x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__gradient x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__gradient x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__tangent" c_CasADi__tangent
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3305,7 +3303,7 @@
 tangent x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__tangent x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__tangent x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__hessian" c_CasADi__hessian
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3319,7 +3317,7 @@
 hessian x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__hessian x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__hessian x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__hessian_TIC" c_CasADi__hessian_TIC
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> IO ()
@@ -3333,7 +3331,7 @@
   c_CasADi__hessian_TIC x0' x1' x2' x3' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__jacobianTimesVector" c_CasADi__jacobianTimesVector
-  :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr CppBool' -> IO (Ptr SXMatrix')
+  :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> CInt -> IO (Ptr SXMatrix')
 {-|
 >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
@@ -3349,7 +3347,7 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__jacobianTimesVector x0' x1' x2' x3' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__jacobianTimesVector x0' x1' x2' x3' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__jacobianTimesVector_TIC" c_CasADi__jacobianTimesVector_TIC
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3359,7 +3357,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__jacobianTimesVector_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__jacobianTimesVector_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__getValue" c_CasADi__getValue
   :: Ptr SXMatrix' -> CInt -> CInt -> IO CDouble
@@ -3452,7 +3450,7 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__taylor x0' x1' x2' x3' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__taylor x0' x1' x2' x3' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__taylor_TIC" c_CasADi__taylor_TIC
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3462,7 +3460,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__taylor_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__taylor_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__taylor_TIC_TIC" c_CasADi__taylor_TIC_TIC
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3471,7 +3469,7 @@
 taylor'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__taylor_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__taylor_TIC_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__mtaylor" c_CasADi__mtaylor
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> CInt -> IO (Ptr SXMatrix')
@@ -3509,7 +3507,7 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__mtaylor x0' x1' x2' x3' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__mtaylor x0' x1' x2' x3' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__mtaylor_TIC" c_CasADi__mtaylor_TIC
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3519,7 +3517,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__mtaylor_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__mtaylor_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__mtaylor_TIC_TIC" c_CasADi__mtaylor_TIC_TIC
   :: Ptr SXMatrix' -> Ptr SXMatrix' -> Ptr SXMatrix' -> CInt -> Ptr (CppVec CInt) -> IO (Ptr SXMatrix')
@@ -3531,7 +3529,7 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__mtaylor_TIC_TIC x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__mtaylor_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__countNodes" c_CasADi__countNodes
   :: Ptr SXMatrix' -> IO CInt
@@ -3569,8 +3567,8 @@
   :: SX -> Vector String -> IO String
 getOperatorRepresentation x0 x1 =
   withMarshal x0 $ \x0' ->
-  withMarshal (CornerCase x1) $ \x1' ->
-  c_CasADi__getOperatorRepresentation x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  withMarshal x1 $ \x1' ->
+  c_CasADi__getOperatorRepresentation x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__getFree" c_CasADi__getFree
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3581,7 +3579,7 @@
   :: SXMatrix -> IO SXMatrix
 getFree x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__getFree x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__getFree x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__extractShared" c_CasADi__extractShared
   :: Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> Ptr (CppVec (Ptr SX')) -> Ptr StdString' -> Ptr StdString' -> IO ()
@@ -3640,7 +3638,7 @@
 poly_coeff x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__poly_coeff x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__poly_coeff x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__poly_roots" c_CasADi__poly_roots
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3654,7 +3652,7 @@
   :: SXMatrix -> IO SXMatrix
 poly_roots x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__poly_roots x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__poly_roots x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__eig_symbolic" c_CasADi__eig_symbolic
   :: Ptr SXMatrix' -> IO (Ptr SXMatrix')
@@ -3669,7 +3667,7 @@
   :: SXMatrix -> IO SXMatrix
 eig_symbolic x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__eig_symbolic x0' >>= (newForeignPtr c_delete_CasADi__Matrix_CasADi__SX_) >>= wrapReturn
+  c_CasADi__eig_symbolic 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')
@@ -3677,7 +3675,7 @@
   :: Vector MX -> IO MX
 vertcat'''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vertcat_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__vertcat_TIC_TIC_TIC_TIC x0' >>= 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 MX' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr MX')))
@@ -3686,7 +3684,7 @@
 vertsplit''''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  c_CasADi__vertsplit_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" c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
   :: Ptr MX' -> CInt -> IO (Ptr (CppVec (Ptr MX')))
@@ -3695,7 +3693,7 @@
 vertsplit'''''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  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' -> IO (Ptr (CppVec (Ptr MX')))
@@ -3703,7 +3701,7 @@
   :: MX -> IO (Vector MX)
 vertsplit''''''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  c_CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC 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')
@@ -3711,7 +3709,7 @@
   :: Vector MX -> IO MX
 horzcat'''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__horzcat_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__horzcat_TIC_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 MX' -> Ptr (CppVec CInt) -> IO (Ptr (CppVec (Ptr MX')))
@@ -3720,7 +3718,7 @@
 horzsplit''''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  c_CasADi__horzsplit_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" c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
   :: Ptr MX' -> CInt -> IO (Ptr (CppVec (Ptr MX')))
@@ -3729,7 +3727,7 @@
 horzsplit'''''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  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' -> IO (Ptr (CppVec (Ptr MX')))
@@ -3737,52 +3735,52 @@
   :: MX -> IO (Vector MX)
 horzsplit''''''''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  c_CasADi__horzsplit_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 (CppVecVec (Ptr MX')) -> IO (Ptr MX')
+  :: 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' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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 (CppVecVec (Ptr MX')))
+  :: 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' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__MX__) >>= wrapReturn
+  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 (CppVecVec (Ptr MX')))
+  :: 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' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__MX__) >>= wrapReturn
+  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 (CppVecVec (Ptr MX')))
+  :: 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' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__MX__) >>= wrapReturn
+  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 (CppVecVec (Ptr MX')))
+  :: 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' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__MX__) >>= wrapReturn
+  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')
@@ -3790,7 +3788,7 @@
   :: Vector MX -> IO MX
 veccat''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__veccat_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__veccat_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flattencat_TIC_TIC_TIC" c_CasADi__flattencat_TIC_TIC_TIC
   :: Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
@@ -3798,7 +3796,7 @@
   :: Vector MX -> IO MX
 flattencat''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flattencat_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__flattencat_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')
@@ -3806,7 +3804,7 @@
   :: Vector MX -> IO MX
 vecNZcat''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZcat_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__vecNZcat_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flattenNZcat_TIC_TIC_TIC" c_CasADi__flattenNZcat_TIC_TIC_TIC
   :: Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
@@ -3814,7 +3812,7 @@
   :: Vector MX -> IO MX
 flattenNZcat''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flattenNZcat_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__flattenNZcat_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')
@@ -3822,7 +3820,7 @@
   :: MX -> IO MX
 norm_F''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_F_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -3830,7 +3828,7 @@
   :: MX -> IO MX
 norm_2''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_2_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -3838,7 +3836,7 @@
   :: MX -> IO MX
 norm_1''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_1_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -3846,7 +3844,7 @@
   :: MX -> IO MX
 norm_inf''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__norm_inf_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__norm_inf_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__trans_TIC_TIC_TIC_TIC" c_CasADi__trans_TIC_TIC_TIC_TIC
   :: Ptr MX' -> IO (Ptr MX')
@@ -3854,7 +3852,7 @@
   :: MX -> IO MX
 trans'''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__trans_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__trans_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 CRSSparsity' -> IO (Ptr MX')
@@ -3864,7 +3862,7 @@
   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' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -3873,7 +3871,7 @@
 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' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -3881,7 +3879,7 @@
   :: 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' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -3890,7 +3888,7 @@
 inner_prod''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__inner_prod_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -3899,7 +3897,7 @@
 outer_prod''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__outer_prod_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -3909,7 +3907,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__if_else_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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 CRSSparsity' -> IO (Ptr MX')
@@ -3918,7 +3916,7 @@
 reshape''''''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -3926,7 +3924,7 @@
   :: MX -> IO MX
 vec'''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vec_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__vec_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flatten_TIC_TIC_TIC" c_CasADi__flatten_TIC_TIC_TIC
   :: Ptr MX' -> IO (Ptr MX')
@@ -3934,7 +3932,7 @@
   :: MX -> IO MX
 flatten''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flatten_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__flatten_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')
@@ -3942,7 +3940,7 @@
   :: MX -> IO MX
 vecNZ''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vecNZ_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__vecNZ_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__flattenNZ_TIC_TIC_TIC" c_CasADi__flattenNZ_TIC_TIC_TIC
   :: Ptr MX' -> IO (Ptr MX')
@@ -3950,7 +3948,7 @@
   :: MX -> IO MX
 flattenNZ''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__flattenNZ_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__flattenNZ_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')
@@ -3959,47 +3957,47 @@
 unite''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__unite_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__unite_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isSymbolic_TIC" c_CasADi__isSymbolic_TIC
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 isSymbolic'
   :: MX -> IO Bool
 isSymbolic' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isSymbolic_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isSymbolic_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isSymbolicSparse_TIC" c_CasADi__isSymbolicSparse_TIC
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 isSymbolicSparse'
   :: MX -> IO Bool
 isSymbolicSparse' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isSymbolicSparse_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isSymbolicSparse_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isIdentity_TIC_TIC_TIC" c_CasADi__isIdentity_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 isIdentity'''
   :: MX -> IO Bool
 isIdentity''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isIdentity_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isIdentity_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isZero_TIC_TIC_TIC" c_CasADi__isZero_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 isZero'''
   :: MX -> IO Bool
 isZero''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isZero_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isZero_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isOne_TIC_TIC_TIC" c_CasADi__isOne_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 isOne'''
   :: MX -> IO Bool
 isOne''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isOne_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isOne_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__simplify_TIC_TIC" c_CasADi__simplify_TIC_TIC
   :: Ptr MX' -> IO ()
@@ -4010,7 +4008,7 @@
   c_CasADi__simplify_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isTranspose" c_CasADi__isTranspose
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 {-|
 >Is the expression a transpose?
 -}
@@ -4018,39 +4016,39 @@
   :: MX -> IO Bool
 isTranspose x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isTranspose x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isTranspose x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isMinusOne_TIC_TIC_TIC" c_CasADi__isMinusOne_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 isMinusOne'''
   :: MX -> IO Bool
 isMinusOne''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isMinusOne_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isMinusOne_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isVector_TIC_TIC_TIC" c_CasADi__isVector_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 isVector'''
   :: MX -> IO Bool
 isVector''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isVector_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isVector_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isDense_TIC_TIC_TIC" c_CasADi__isDense_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 isDense'''
   :: MX -> IO Bool
 isDense''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isDense_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isDense_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> IO CInt
 isRegular''''''
   :: MX -> IO Bool
 isRegular'''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__trace_TIC_TIC_TIC" c_CasADi__trace_TIC_TIC_TIC
   :: Ptr MX' -> IO (Ptr MX')
@@ -4058,7 +4056,7 @@
   :: MX -> IO MX
 trace''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__trace_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -4068,7 +4066,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__repmat_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__repmat_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__makeDense_TIC_TIC_TIC" c_CasADi__makeDense_TIC_TIC_TIC
   :: Ptr MX' -> IO ()
@@ -4084,7 +4082,7 @@
   :: MX -> IO MX
 densify''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__densify_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__densify_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__full_TIC_TIC_TIC" c_CasADi__full_TIC_TIC_TIC
   :: Ptr MX' -> IO (Ptr MX')
@@ -4092,7 +4090,7 @@
   :: MX -> IO MX
 full''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__full_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__full_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__createParent" c_CasADi__createParent
   :: Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
@@ -4121,7 +4119,7 @@
   :: Vector MX -> IO MX
 createParent x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__createParent x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__createParent x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__countNodes_TIC" c_CasADi__countNodes_TIC
   :: Ptr MX' -> IO CInt
@@ -4137,7 +4135,7 @@
   :: MX -> IO MX
 diag''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__diag_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -4145,7 +4143,7 @@
   :: Vector MX -> IO MX
 blkdiag'''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__blkdiag_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__blkdiag_TIC_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')
@@ -4153,7 +4151,7 @@
   :: MX -> IO MX
 sumRows''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sumRows_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__sumRows_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')
@@ -4161,7 +4159,7 @@
   :: MX -> IO MX
 sumCols''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sumCols_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__sumCols_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')
@@ -4169,7 +4167,7 @@
   :: MX -> IO MX
 sumAll''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__sumAll_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -4178,7 +4176,7 @@
 polyval''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__polyval_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__polyval_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__msym" c_CasADi__msym
   :: Ptr StdString' -> CInt -> CInt -> IO (Ptr MX')
@@ -4235,7 +4233,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__msym x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__msym x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__msym_TIC" c_CasADi__msym_TIC
   :: Ptr StdString' -> CInt -> IO (Ptr MX')
@@ -4244,7 +4242,7 @@
 msym' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__msym_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__msym_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__msym_TIC_TIC" c_CasADi__msym_TIC_TIC
   :: Ptr StdString' -> IO (Ptr MX')
@@ -4252,7 +4250,7 @@
   :: String -> IO MX
 msym'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__msym_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__msym_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__msym_TIC_TIC_TIC" c_CasADi__msym_TIC_TIC_TIC
   :: Ptr DMatrix' -> IO (Ptr MX')
@@ -4260,7 +4258,7 @@
   :: DMatrix -> IO MX
 msym''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__msym_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__msym_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__msym_TIC_TIC_TIC_TIC" c_CasADi__msym_TIC_TIC_TIC_TIC
   :: Ptr StdString' -> Ptr CRSSparsity' -> IO (Ptr MX')
@@ -4269,7 +4267,7 @@
 msym'''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__msym_TIC_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__msym_TIC_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__msym_TIC_TIC_TIC_TIC_TIC" c_CasADi__msym_TIC_TIC_TIC_TIC_TIC
   :: Ptr StdString' -> Ptr CRSSparsity' -> CInt -> IO (Ptr (CppVec (Ptr MX')))
@@ -4279,7 +4277,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__msym_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  c_CasADi__msym_TIC_TIC_TIC_TIC_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC
   :: Ptr StdString' -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr MX')))
@@ -4290,10 +4288,10 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  c_CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> Ptr CRSSparsity' -> CInt -> CInt -> IO (Ptr (CppVecVec (Ptr MX')))
+  :: Ptr StdString' -> Ptr CRSSparsity' -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr MX')))))
 msym'''''''
   :: String -> CRSSparsity -> Int -> Int -> IO (Vector (Vector MX))
 msym''''''' x0 x1 x2 x3 =
@@ -4301,10 +4299,10 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__MX__) >>= wrapReturn
+  c_CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC
-  :: Ptr StdString' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (CppVecVec (Ptr MX')))
+  :: Ptr StdString' -> CInt -> CInt -> CInt -> CInt -> IO (Ptr (CppVec (Ptr (CppVec (Ptr MX')))))
 msym''''''''
   :: String -> Int -> Int -> Int -> Int -> IO (Vector (Vector MX))
 msym'''''''' x0 x1 x2 x3 x4 =
@@ -4313,16 +4311,16 @@
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
   withMarshal x4 $ \x4' ->
-  c_CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= (newForeignPtr c_delete_std__vector_std__vector_CasADi__MX__) >>= wrapReturn
+  c_CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC x0' x1' x2' x3' x4' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__isEqual_TIC_TIC_TIC" c_CasADi__isEqual_TIC_TIC_TIC
-  :: Ptr MX' -> Ptr MX' -> IO (Ptr CppBool')
+  :: Ptr MX' -> Ptr MX' -> IO CInt
 isEqual'''
   :: MX -> MX -> IO Bool
 isEqual''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__isEqual_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_bool) >>= wrapReturn
+  c_CasADi__isEqual_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')
@@ -4330,8 +4328,8 @@
   :: MX -> Vector String -> IO String
 getOperatorRepresentation' x0 x1 =
   withMarshal x0 $ \x0' ->
-  withMarshal (CornerCase x1) $ \x1' ->
-  c_CasADi__getOperatorRepresentation_TIC x0' x1' >>= (newForeignPtr c_delete_std__string) >>= wrapReturn
+  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')
@@ -4341,7 +4339,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__substitute_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')))
@@ -4351,7 +4349,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__substitute_TIC_TIC_TIC x0' x1' x2' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  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')
@@ -4374,7 +4372,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__graph_substitute x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')))
@@ -4384,10 +4382,10 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__graph_substitute_TIC x0' x1' x2' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  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')) -> Ptr CppBool' -> IO ()
+  :: Ptr (CppVec (Ptr MX')) -> Ptr (CppVec (Ptr MX')) -> CInt -> IO ()
 substituteInPlace''''''
   :: Vector MX -> Vector MX -> Bool -> IO ()
 substituteInPlace'''''' x0 x1 x2 =
@@ -4406,7 +4404,7 @@
   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')) -> Ptr CppBool' -> IO ()
+  :: 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 =
@@ -4474,7 +4472,7 @@
 jacobian' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__jacobian_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -4483,7 +4481,7 @@
 gradient' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__gradient_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -4492,7 +4490,7 @@
 tangent' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__tangent_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -4500,7 +4498,7 @@
   :: MX -> IO MX
 nullspace''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__nullspace_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -4508,7 +4506,7 @@
   :: MX -> IO MX
 det''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__det_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -4516,7 +4514,7 @@
   :: MX -> IO MX
 inv''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__inv_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')))
@@ -4524,7 +4522,7 @@
   :: MX -> IO (Vector MX)
 getSymbols' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__getSymbols_TIC x0' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  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')))
@@ -4532,7 +4530,7 @@
   :: Vector MX -> IO (Vector MX)
 getSymbols'' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__getSymbols_TIC_TIC x0' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  c_CasADi__getSymbols_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__matrix_expand" c_CasADi__matrix_expand
   :: Ptr MX' -> Ptr (CppVec (Ptr MX')) -> IO (Ptr MX')
@@ -4547,7 +4545,7 @@
 matrix_expand x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__matrix_expand x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')
@@ -4555,7 +4553,7 @@
   :: MX -> IO MX
 matrix_expand' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__matrix_expand_TIC x0' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  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')))
@@ -4564,7 +4562,7 @@
 matrix_expand'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__matrix_expand_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  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')))
@@ -4572,7 +4570,7 @@
   :: Vector MX -> IO (Vector MX)
 matrix_expand''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__matrix_expand_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_std__vector_CasADi__MX_) >>= wrapReturn
+  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')
@@ -4581,7 +4579,7 @@
 kron''' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__kron_TIC_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__MX) >>= wrapReturn
+  c_CasADi__kron_TIC_TIC_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__parameterizeTime" c_CasADi__parameterizeTime
   :: Ptr FX' -> IO (Ptr FX')
@@ -4595,7 +4593,7 @@
   :: FX -> IO FX
 parameterizeTime x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__parameterizeTime x0' >>= (newForeignPtr c_delete_CasADi__FX) >>= wrapReturn
+  c_CasADi__parameterizeTime x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__parameterizeTimeOutput" c_CasADi__parameterizeTimeOutput
   :: Ptr FX' -> IO (Ptr FX')
@@ -4610,7 +4608,7 @@
   :: FX -> IO FX
 parameterizeTimeOutput x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__parameterizeTimeOutput x0' >>= (newForeignPtr c_delete_CasADi__FX) >>= wrapReturn
+  c_CasADi__parameterizeTimeOutput x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__numSample1D" c_CasADi__numSample1D
   :: Ptr FX' -> Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -4637,7 +4635,7 @@
 numSample1D x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__numSample1D x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__numSample1D x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__numSample1DT" c_CasADi__numSample1DT
   :: Ptr FX' -> Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -4662,7 +4660,7 @@
 numSample1DT x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__numSample1DT x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__numSample1DT x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__numSample2D" c_CasADi__numSample2D
   :: Ptr FX' -> Ptr DMatrix' -> IO (Ptr DMatrix')
@@ -4687,7 +4685,7 @@
 numSample2D x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__numSample2D x0' x1' >>= (newForeignPtr c_delete_CasADi__Matrix_double_) >>= wrapReturn
+  c_CasADi__numSample2D x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__vec_TIC_TIC_TIC_TIC_TIC" c_CasADi__vec_TIC_TIC_TIC_TIC_TIC
   :: Ptr SXFunction' -> IO (Ptr SXFunction')
@@ -4695,7 +4693,7 @@
   :: SXFunction -> IO SXFunction
 vec''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vec_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__SXFunction) >>= wrapReturn
+  c_CasADi__vec_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC" c_CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC
   :: Ptr FX' -> IO (Ptr MXFunction')
@@ -4703,7 +4701,7 @@
   :: FX -> IO MXFunction
 vec'''''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__MXFunction) >>= wrapReturn
+  c_CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__collocationPoints" c_CasADi__collocationPoints
   :: CInt -> Ptr StdString' -> IO (Ptr (CppVec CDouble))
@@ -4720,7 +4718,7 @@
 collocationPoints x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__collocationPoints x0' x1' >>= (newForeignPtr c_delete_std__vector_double_) >>= wrapReturn
+  c_CasADi__collocationPoints x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__collocationPoints_TIC" c_CasADi__collocationPoints_TIC
   :: CInt -> IO (Ptr (CppVec CDouble))
@@ -4728,10 +4726,10 @@
   :: Int -> IO (Vector Double)
 collocationPoints' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__collocationPoints_TIC x0' >>= (newForeignPtr c_delete_std__vector_double_) >>= wrapReturn
+  c_CasADi__collocationPoints_TIC x0' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__collocationInterpolators" c_CasADi__collocationInterpolators
-  :: Ptr (CppVec CDouble) -> Ptr (CppVecVec CDouble) -> Ptr (CppVec CDouble) -> IO ()
+  :: Ptr (CppVec CDouble) -> Ptr (CppVec (Ptr (CppVec CDouble))) -> Ptr (CppVec CDouble) -> IO ()
 {-|
 >Obtain collocation interpolating matrices.
 >
@@ -4810,7 +4808,7 @@
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
   withMarshal x3 $ \x3' ->
-  c_CasADi__explicitRK x0' x1' x2' x3' >>= (newForeignPtr c_delete_CasADi__FX) >>= wrapReturn
+  c_CasADi__explicitRK x0' x1' x2' x3' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__explicitRK_TIC" c_CasADi__explicitRK_TIC
   :: Ptr FX' -> Ptr MX' -> CInt -> IO (Ptr FX')
@@ -4820,7 +4818,7 @@
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
   withMarshal x2 $ \x2' ->
-  c_CasADi__explicitRK_TIC x0' x1' x2' >>= (newForeignPtr c_delete_CasADi__FX) >>= wrapReturn
+  c_CasADi__explicitRK_TIC x0' x1' x2' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__explicitRK_TIC_TIC" c_CasADi__explicitRK_TIC_TIC
   :: Ptr FX' -> Ptr MX' -> IO (Ptr FX')
@@ -4829,7 +4827,7 @@
 explicitRK'' x0 x1 =
   withMarshal x0 $ \x0' ->
   withMarshal x1 $ \x1' ->
-  c_CasADi__explicitRK_TIC_TIC x0' x1' >>= (newForeignPtr c_delete_CasADi__FX) >>= wrapReturn
+  c_CasADi__explicitRK_TIC_TIC x0' x1' >>= wrapReturn
 
 foreign import ccall unsafe "CasADi__explicitRK_TIC_TIC_TIC" c_CasADi__explicitRK_TIC_TIC_TIC
   :: Ptr FX' -> IO (Ptr FX')
@@ -4837,5 +4835,5 @@
   :: FX -> IO FX
 explicitRK''' x0 =
   withMarshal x0 $ \x0' ->
-  c_CasADi__explicitRK_TIC_TIC_TIC x0' >>= (newForeignPtr c_delete_CasADi__FX) >>= wrapReturn
+  c_CasADi__explicitRK_TIC_TIC_TIC x0' >>= wrapReturn
 
diff --git a/casadi-bindings.cabal b/casadi-bindings.cabal
--- a/casadi-bindings.cabal
+++ b/casadi-bindings.cabal
@@ -1,5 +1,5 @@
 name:                casadi-bindings
-version:             1.8.0.0
+version:             1.8.2.1
 synopsis:            low level bindings to CasADi
 description:         See the readme on github for installation instructions. Version numbers correspond to the C++ library version numbers. This only works on Debian/Ubuntu at the moment (sorry).
 license:             LGPL-3
@@ -60,10 +60,10 @@
   other-modules:       Casadi.Marshal
                        Casadi.MarshalTypes
                        Casadi.WrapReturn
-                       Casadi.Wrappers.ForeignToolsImports
-                       Casadi.Wrappers.ForeignToolsInstances
+                       Casadi.CppHelpers
+                       Casadi.Wrappers.CToolsImports
+                       Casadi.Wrappers.CToolsInstances
                        Casadi.Wrappers.Data
-                       Casadi.Wrappers.Deleters
 
   exposed-modules:     Casadi.Callback
                        Casadi.Wrappers.Tools
diff --git a/cbits/autogen/all.cpp b/cbits/autogen/all.cpp
--- a/cbits/autogen/all.cpp
+++ b/cbits/autogen/all.cpp
@@ -9,22231 +9,21804 @@
 void delete_CasADi__SXFunction(CasADi::SXFunction* obj){
     delete obj;
 }
-extern "C"
-    void delete_std__vector_CasADi__SXFunction_(std::vector<CasADi::SXFunction* >* obj);
-void delete_std__vector_CasADi__SXFunction_(std::vector<CasADi::SXFunction* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__SXFunction__(std::vector<std::vector<CasADi::SXFunction* > >* obj);
-void delete_std__vector_std__vector_CasADi__SXFunction__(std::vector<std::vector<CasADi::SXFunction* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__SXFunction___(std::vector<std::vector<std::vector<CasADi::SXFunction* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__SXFunction___(std::vector<std::vector<std::vector<CasADi::SXFunction* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "jac" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::jac"
-// cWrapperName: "CasADi__SXFunction__jac"
-// protoArgs: "(CasADi::SXFunction* obj, int x0, int x1, bool* x2, bool* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__jac(CasADi::SXFunction* obj, int x0, int x1, bool* x2, bool* x3)"
-// call: "obj->jac(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__jac(CasADi::SXFunction* obj, int x0, int x1, bool* x2, bool* x3);
-CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__jac(CasADi::SXFunction* obj, int x0, int x1, bool* x2, bool* x3){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    bool x2_ = Marshaling<bool,bool*>::marshal(x2);
-    bool x3_ = Marshaling<bool,bool*>::marshal(x3);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->jac(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== Normal method: "grad" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::grad"
-// cWrapperName: "CasADi__SXFunction__grad"
-// protoArgs: "(CasADi::SXFunction* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__grad(CasADi::SXFunction* obj, int x0, int x1)"
-// call: "obj->grad(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__grad(CasADi::SXFunction* obj, int x0, int x1);
-CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__grad(CasADi::SXFunction* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->grad(x0_, x1_) );
-}
-
-
-// ================== Normal method: "hess" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::hess"
-// cWrapperName: "CasADi__SXFunction__hess"
-// protoArgs: "(CasADi::SXFunction* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__hess(CasADi::SXFunction* obj, int x0, int x1)"
-// call: "obj->hess(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__hess(CasADi::SXFunction* obj, int x0, int x1);
-CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__hess(CasADi::SXFunction* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->hess(x0_, x1_) );
-}
-
-
-// ================== Normal method: "getAlgorithmSize" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::getAlgorithmSize"
-// cWrapperName: "CasADi__SXFunction__getAlgorithmSize"
-// protoArgs: "(CasADi::SXFunction* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__SXFunction__getAlgorithmSize(CasADi::SXFunction* obj)"
-// call: "obj->getAlgorithmSize()"
-extern "C"
-    int CasADi__SXFunction__getAlgorithmSize(CasADi::SXFunction* obj);
-int CasADi__SXFunction__getAlgorithmSize(CasADi::SXFunction* obj){
-
-    return obj->getAlgorithmSize();
-}
-
-
-// ================== Normal method: "getWorkSize" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::getWorkSize"
-// cWrapperName: "CasADi__SXFunction__getWorkSize"
-// protoArgs: "(CasADi::SXFunction* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__SXFunction__getWorkSize(CasADi::SXFunction* obj)"
-// call: "obj->getWorkSize()"
-extern "C"
-    int CasADi__SXFunction__getWorkSize(CasADi::SXFunction* obj);
-int CasADi__SXFunction__getWorkSize(CasADi::SXFunction* obj){
-
-    return obj->getWorkSize();
-}
-
-
-// ================== Normal method: "getAtomicOperation" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::getAtomicOperation"
-// cWrapperName: "CasADi__SXFunction__getAtomicOperation"
-// protoArgs: "(CasADi::SXFunction* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__SXFunction__getAtomicOperation(CasADi::SXFunction* obj, int x0)"
-// call: "obj->getAtomicOperation(x0_)"
-extern "C"
-    int CasADi__SXFunction__getAtomicOperation(CasADi::SXFunction* obj, int x0);
-int CasADi__SXFunction__getAtomicOperation(CasADi::SXFunction* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->getAtomicOperation(x0_);
-}
-
-
-// ================== Normal method: "getAtomicInputReal" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::getAtomicInputReal"
-// cWrapperName: "CasADi__SXFunction__getAtomicInputReal"
-// protoArgs: "(CasADi::SXFunction* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CDouble)
-// cWrapperRetType: "double"
-// proto: "double CasADi__SXFunction__getAtomicInputReal(CasADi::SXFunction* obj, int x0)"
-// call: "obj->getAtomicInputReal(x0_)"
-extern "C"
-    double CasADi__SXFunction__getAtomicInputReal(CasADi::SXFunction* obj, int x0);
-double CasADi__SXFunction__getAtomicInputReal(CasADi::SXFunction* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->getAtomicInputReal(x0_);
-}
-
-
-// ================== Normal method: "getAtomicOutput" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::getAtomicOutput"
-// cWrapperName: "CasADi__SXFunction__getAtomicOutput"
-// protoArgs: "(CasADi::SXFunction* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__SXFunction__getAtomicOutput(CasADi::SXFunction* obj, int x0)"
-// call: "obj->getAtomicOutput(x0_)"
-extern "C"
-    int CasADi__SXFunction__getAtomicOutput(CasADi::SXFunction* obj, int x0);
-int CasADi__SXFunction__getAtomicOutput(CasADi::SXFunction* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->getAtomicOutput(x0_);
-}
-
-
-// ================== Normal method: "countNodes" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::countNodes"
-// cWrapperName: "CasADi__SXFunction__countNodes"
-// protoArgs: "(CasADi::SXFunction* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__SXFunction__countNodes(CasADi::SXFunction* obj)"
-// call: "obj->countNodes()"
-extern "C"
-    int CasADi__SXFunction__countNodes(CasADi::SXFunction* obj);
-int CasADi__SXFunction__countNodes(CasADi::SXFunction* obj){
-
-    return obj->countNodes();
-}
-
-
-// ================== Normal method: "getFree" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::getFree"
-// cWrapperName: "CasADi__SXFunction__getFree"
-// protoArgs: "(CasADi::SXFunction* obj)"
-// args: "()"
-// rettype: Val (Vec (NonVec (CasadiClass SX)))
-// cWrapperRetType: "std::vector<CasADi::SX >*"
-// proto: "std::vector<CasADi::SX >* CasADi__SXFunction__getFree(CasADi::SXFunction* obj)"
-// call: "obj->getFree()"
-extern "C"
-    std::vector<CasADi::SX >* CasADi__SXFunction__getFree(CasADi::SXFunction* obj);
-std::vector<CasADi::SX >* CasADi__SXFunction__getFree(CasADi::SXFunction* obj){
-
-    return new std::vector<CasADi::SX >( obj->getFree() );
-}
-
-
-// ================== Normal method: "indexed_one_based" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::indexed_one_based"
-// cWrapperName: "CasADi__SXFunction__indexed_one_based"
-// protoArgs: "(CasADi::SXFunction* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXFunction))
-// cWrapperRetType: "CasADi::SXFunction*"
-// proto: "CasADi::SXFunction* CasADi__SXFunction__indexed_one_based(CasADi::SXFunction* obj, int x0)"
-// call: "obj->indexed_one_based(x0_)"
-extern "C"
-    CasADi::SXFunction* CasADi__SXFunction__indexed_one_based(CasADi::SXFunction* obj, int x0);
-CasADi::SXFunction* CasADi__SXFunction__indexed_one_based(CasADi::SXFunction* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::SXFunction( obj->indexed_one_based(x0_) );
-}
-
-
-// ================== Normal method: "indexed_zero_based" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction::indexed_zero_based"
-// cWrapperName: "CasADi__SXFunction__indexed_zero_based"
-// protoArgs: "(CasADi::SXFunction* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXFunction))
-// cWrapperRetType: "CasADi::SXFunction*"
-// proto: "CasADi::SXFunction* CasADi__SXFunction__indexed_zero_based(CasADi::SXFunction* obj, int x0)"
-// call: "obj->indexed_zero_based(x0_)"
-extern "C"
-    CasADi::SXFunction* CasADi__SXFunction__indexed_zero_based(CasADi::SXFunction* obj, int x0);
-CasADi::SXFunction* CasADi__SXFunction__indexed_zero_based(CasADi::SXFunction* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::SXFunction( obj->indexed_zero_based(x0_) );
-}
-
-
-// ================== Constructor method: "SXFunction'" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction"
-// cWrapperName: "CasADi__SXFunction__SXFunction_TIC"
-// protoArgs: "(CasADi::MXFunction* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXFunction))
-// cWrapperRetType: "CasADi::SXFunction*"
-// proto: "CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC(CasADi::MXFunction* x0)"
-// call: "CasADi::SXFunction(x0_)"
-extern "C"
-    CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC(CasADi::MXFunction* x0);
-CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC(CasADi::MXFunction* x0){
-    CasADi::MXFunction x0_ = Marshaling<CasADi::MXFunction,CasADi::MXFunction*>::marshal(x0);
-
-    return new CasADi::SXFunction( CasADi::SXFunction(x0_) );
-}
-
-
-// ================== Constructor method: "SXFunction''" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction"
-// cWrapperName: "CasADi__SXFunction__SXFunction_TIC_TIC"
-// protoArgs: "(CasADi::FX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXFunction))
-// cWrapperRetType: "CasADi::SXFunction*"
-// proto: "CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC(CasADi::FX* x0)"
-// call: "CasADi::SXFunction(x0_)"
-extern "C"
-    CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC(CasADi::FX* x0);
-CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC(CasADi::FX* x0){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-
-    return new CasADi::SXFunction( CasADi::SXFunction(x0_) );
-}
-
-
-// ================== Constructor method: "SXFunction'''" ===============
-// class: "CasADi::SXFunction"
-// cppName: "CasADi::SXFunction"
-// cWrapperName: "CasADi__SXFunction__SXFunction_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXFunction))
-// cWrapperRetType: "CasADi::SXFunction*"
-// proto: "CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* > * x1)"
-// call: "CasADi::SXFunction(x0_, x1_)"
-extern "C"
-    CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* > * x1);
-CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* > * x1){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-    std::vector<CasADi::Matrix< CasADi::SX > > x1_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x1);
-
-    return new CasADi::SXFunction( CasADi::SXFunction(x0_, x1_) );
-}
-
-
-// ================== delete CasadiClass MXFunction===============
-// classType: CasadiClass MXFunction
-extern "C"
-    void delete_CasADi__MXFunction(CasADi::MXFunction* obj);
-void delete_CasADi__MXFunction(CasADi::MXFunction* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__MXFunction_(std::vector<CasADi::MXFunction* >* obj);
-void delete_std__vector_CasADi__MXFunction_(std::vector<CasADi::MXFunction* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__MXFunction__(std::vector<std::vector<CasADi::MXFunction* > >* obj);
-void delete_std__vector_std__vector_CasADi__MXFunction__(std::vector<std::vector<CasADi::MXFunction* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__MXFunction___(std::vector<std::vector<std::vector<CasADi::MXFunction* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__MXFunction___(std::vector<std::vector<std::vector<CasADi::MXFunction* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "getAlgorithmSize" ===============
-// class: "CasADi::MXFunction"
-// cppName: "CasADi::MXFunction::getAlgorithmSize"
-// cWrapperName: "CasADi__MXFunction__getAlgorithmSize"
-// protoArgs: "(CasADi::MXFunction* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MXFunction__getAlgorithmSize(CasADi::MXFunction* obj)"
-// call: "obj->getAlgorithmSize()"
-extern "C"
-    int CasADi__MXFunction__getAlgorithmSize(CasADi::MXFunction* obj);
-int CasADi__MXFunction__getAlgorithmSize(CasADi::MXFunction* obj){
-
-    return obj->getAlgorithmSize();
-}
-
-
-// ================== Normal method: "getWorkSize" ===============
-// class: "CasADi::MXFunction"
-// cppName: "CasADi::MXFunction::getWorkSize"
-// cWrapperName: "CasADi__MXFunction__getWorkSize"
-// protoArgs: "(CasADi::MXFunction* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MXFunction__getWorkSize(CasADi::MXFunction* obj)"
-// call: "obj->getWorkSize()"
-extern "C"
-    int CasADi__MXFunction__getWorkSize(CasADi::MXFunction* obj);
-int CasADi__MXFunction__getWorkSize(CasADi::MXFunction* obj){
-
-    return obj->getWorkSize();
-}
-
-
-// ================== Normal method: "countNodes" ===============
-// class: "CasADi::MXFunction"
-// cppName: "CasADi::MXFunction::countNodes"
-// cWrapperName: "CasADi__MXFunction__countNodes"
-// protoArgs: "(CasADi::MXFunction* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MXFunction__countNodes(CasADi::MXFunction* obj)"
-// call: "obj->countNodes()"
-extern "C"
-    int CasADi__MXFunction__countNodes(CasADi::MXFunction* obj);
-int CasADi__MXFunction__countNodes(CasADi::MXFunction* obj){
-
-    return obj->countNodes();
-}
-
-
-// ================== Normal method: "checkNode" ===============
-// class: "CasADi::MXFunction"
-// cppName: "CasADi::MXFunction::checkNode"
-// cWrapperName: "CasADi__MXFunction__checkNode"
-// protoArgs: "(CasADi::MXFunction* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MXFunction__checkNode(CasADi::MXFunction* obj)"
-// call: "obj->checkNode()"
-extern "C"
-    bool* CasADi__MXFunction__checkNode(CasADi::MXFunction* obj);
-bool* CasADi__MXFunction__checkNode(CasADi::MXFunction* obj){
-
-    return new bool( obj->checkNode() );
-}
-
-
-// ================== Normal method: "jac" ===============
-// class: "CasADi::MXFunction"
-// cppName: "CasADi::MXFunction::jac"
-// cWrapperName: "CasADi__MXFunction__jac"
-// protoArgs: "(CasADi::MXFunction* obj, int x0, int x1, bool* x2, bool* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MXFunction__jac(CasADi::MXFunction* obj, int x0, int x1, bool* x2, bool* x3)"
-// call: "obj->jac(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::MX* CasADi__MXFunction__jac(CasADi::MXFunction* obj, int x0, int x1, bool* x2, bool* x3);
-CasADi::MX* CasADi__MXFunction__jac(CasADi::MXFunction* obj, int x0, int x1, bool* x2, bool* x3){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    bool x2_ = Marshaling<bool,bool*>::marshal(x2);
-    bool x3_ = Marshaling<bool,bool*>::marshal(x3);
-
-    return new CasADi::MX( obj->jac(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== Normal method: "grad" ===============
-// class: "CasADi::MXFunction"
-// cppName: "CasADi::MXFunction::grad"
-// cWrapperName: "CasADi__MXFunction__grad"
-// protoArgs: "(CasADi::MXFunction* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MXFunction__grad(CasADi::MXFunction* obj, int x0, int x1)"
-// call: "obj->grad(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MXFunction__grad(CasADi::MXFunction* obj, int x0, int x1);
-CasADi::MX* CasADi__MXFunction__grad(CasADi::MXFunction* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::MX( obj->grad(x0_, x1_) );
-}
-
-
-// ================== Normal method: "getFree" ===============
-// class: "CasADi::MXFunction"
-// cppName: "CasADi::MXFunction::getFree"
-// cWrapperName: "CasADi__MXFunction__getFree"
-// protoArgs: "(CasADi::MXFunction* obj)"
-// args: "()"
-// rettype: Val (Vec (NonVec (CasadiClass MX)))
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__MXFunction__getFree(CasADi::MXFunction* obj)"
-// call: "obj->getFree()"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__MXFunction__getFree(CasADi::MXFunction* obj);
-std::vector<CasADi::MX >* CasADi__MXFunction__getFree(CasADi::MXFunction* obj){
-
-    return new std::vector<CasADi::MX >( obj->getFree() );
-}
-
-
-// ================== Normal method: "generateLiftingFunctions" ===============
-// class: "CasADi::MXFunction"
-// cppName: "CasADi::MXFunction::generateLiftingFunctions"
-// cWrapperName: "CasADi__MXFunction__generateLiftingFunctions"
-// protoArgs: "(CasADi::MXFunction* obj, CasADi::MXFunction* x0, CasADi::MXFunction* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__MXFunction__generateLiftingFunctions(CasADi::MXFunction* obj, CasADi::MXFunction* x0, CasADi::MXFunction* x1)"
-// call: "obj->generateLiftingFunctions(x0_, x1_)"
-extern "C"
-    void CasADi__MXFunction__generateLiftingFunctions(CasADi::MXFunction* obj, CasADi::MXFunction* x0, CasADi::MXFunction* x1);
-void CasADi__MXFunction__generateLiftingFunctions(CasADi::MXFunction* obj, CasADi::MXFunction* x0, CasADi::MXFunction* x1){
-    CasADi::MXFunction x0_ = Marshaling<CasADi::MXFunction,CasADi::MXFunction*>::marshal(x0);
-    CasADi::MXFunction x1_ = Marshaling<CasADi::MXFunction,CasADi::MXFunction*>::marshal(x1);
-
-    return obj->generateLiftingFunctions(x0_, x1_);
-}
-
-
-// ================== Constructor method: "MXFunction'" ===============
-// class: "CasADi::MXFunction"
-// cppName: "CasADi::MXFunction"
-// cWrapperName: "CasADi__MXFunction__MXFunction_TIC"
-// protoArgs: "(CasADi::FX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MXFunction))
-// cWrapperRetType: "CasADi::MXFunction*"
-// proto: "CasADi::MXFunction* CasADi__MXFunction__MXFunction_TIC(CasADi::FX* x0)"
-// call: "CasADi::MXFunction(x0_)"
-extern "C"
-    CasADi::MXFunction* CasADi__MXFunction__MXFunction_TIC(CasADi::FX* x0);
-CasADi::MXFunction* CasADi__MXFunction__MXFunction_TIC(CasADi::FX* x0){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-
-    return new CasADi::MXFunction( CasADi::MXFunction(x0_) );
-}
-
-
-// ================== Constructor method: "MXFunction" ===============
-// class: "CasADi::MXFunction"
-// cppName: "CasADi::MXFunction"
-// cWrapperName: "CasADi__MXFunction__MXFunction"
-// protoArgs: "(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MXFunction))
-// cWrapperRetType: "CasADi::MXFunction*"
-// proto: "CasADi::MXFunction* CasADi__MXFunction__MXFunction(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1)"
-// call: "CasADi::MXFunction(x0_, x1_)"
-extern "C"
-    CasADi::MXFunction* CasADi__MXFunction__MXFunction(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1);
-CasADi::MXFunction* CasADi__MXFunction__MXFunction(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x1);
-
-    return new CasADi::MXFunction( CasADi::MXFunction(x0_, x1_) );
-}
-
-
-// ================== delete CasadiClass FX===============
-// classType: CasadiClass FX
-extern "C"
-    void delete_CasADi__FX(CasADi::FX* obj);
-void delete_CasADi__FX(CasADi::FX* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__FX_(std::vector<CasADi::FX* >* obj);
-void delete_std__vector_CasADi__FX_(std::vector<CasADi::FX* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__FX__(std::vector<std::vector<CasADi::FX* > >* obj);
-void delete_std__vector_std__vector_CasADi__FX__(std::vector<std::vector<CasADi::FX* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__FX___(std::vector<std::vector<std::vector<CasADi::FX* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__FX___(std::vector<std::vector<std::vector<CasADi::FX* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "inputScheme" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::inputScheme"
-// cWrapperName: "CasADi__FX__inputScheme"
-// protoArgs: "(CasADi::FX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass IOScheme))
-// cWrapperRetType: "CasADi::IOScheme*"
-// proto: "CasADi::IOScheme* CasADi__FX__inputScheme(CasADi::FX* obj)"
-// call: "obj->inputScheme()"
-extern "C"
-    CasADi::IOScheme* CasADi__FX__inputScheme(CasADi::FX* obj);
-CasADi::IOScheme* CasADi__FX__inputScheme(CasADi::FX* obj){
-
-    return new CasADi::IOScheme( obj->inputScheme() );
-}
-
-
-// ================== Normal method: "outputScheme" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::outputScheme"
-// cWrapperName: "CasADi__FX__outputScheme"
-// protoArgs: "(CasADi::FX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass IOScheme))
-// cWrapperRetType: "CasADi::IOScheme*"
-// proto: "CasADi::IOScheme* CasADi__FX__outputScheme(CasADi::FX* obj)"
-// call: "obj->outputScheme()"
-extern "C"
-    CasADi::IOScheme* CasADi__FX__outputScheme(CasADi::FX* obj);
-CasADi::IOScheme* CasADi__FX__outputScheme(CasADi::FX* obj){
-
-    return new CasADi::IOScheme( obj->outputScheme() );
-}
-
-
-// ================== Normal method: "setInputScheme" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::setInputScheme"
-// cWrapperName: "CasADi__FX__setInputScheme"
-// protoArgs: "(CasADi::FX* obj, CasADi::IOScheme* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__FX__setInputScheme(CasADi::FX* obj, CasADi::IOScheme* x0)"
-// call: "obj->setInputScheme(x0_)"
-extern "C"
-    void CasADi__FX__setInputScheme(CasADi::FX* obj, CasADi::IOScheme* x0);
-void CasADi__FX__setInputScheme(CasADi::FX* obj, CasADi::IOScheme* x0){
-    CasADi::IOScheme x0_ = Marshaling<CasADi::IOScheme,CasADi::IOScheme*>::marshal(x0);
-
-    return obj->setInputScheme(x0_);
-}
-
-
-// ================== Normal method: "setOutputScheme" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::setOutputScheme"
-// cWrapperName: "CasADi__FX__setOutputScheme"
-// protoArgs: "(CasADi::FX* obj, CasADi::IOScheme* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__FX__setOutputScheme(CasADi::FX* obj, CasADi::IOScheme* x0)"
-// call: "obj->setOutputScheme(x0_)"
-extern "C"
-    void CasADi__FX__setOutputScheme(CasADi::FX* obj, CasADi::IOScheme* x0);
-void CasADi__FX__setOutputScheme(CasADi::FX* obj, CasADi::IOScheme* x0){
-    CasADi::IOScheme x0_ = Marshaling<CasADi::IOScheme,CasADi::IOScheme*>::marshal(x0);
-
-    return obj->setOutputScheme(x0_);
-}
-
-
-// ================== Normal method: "getInputScheme" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::getInputScheme"
-// cWrapperName: "CasADi__FX__getInputScheme"
-// protoArgs: "(CasADi::FX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass IOScheme))
-// cWrapperRetType: "CasADi::IOScheme*"
-// proto: "CasADi::IOScheme* CasADi__FX__getInputScheme(CasADi::FX* obj)"
-// call: "obj->getInputScheme()"
-extern "C"
-    CasADi::IOScheme* CasADi__FX__getInputScheme(CasADi::FX* obj);
-CasADi::IOScheme* CasADi__FX__getInputScheme(CasADi::FX* obj){
-
-    return new CasADi::IOScheme( obj->getInputScheme() );
-}
-
-
-// ================== Normal method: "getOutputScheme" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::getOutputScheme"
-// cWrapperName: "CasADi__FX__getOutputScheme"
-// protoArgs: "(CasADi::FX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass IOScheme))
-// cWrapperRetType: "CasADi::IOScheme*"
-// proto: "CasADi::IOScheme* CasADi__FX__getOutputScheme(CasADi::FX* obj)"
-// call: "obj->getOutputScheme()"
-extern "C"
-    CasADi::IOScheme* CasADi__FX__getOutputScheme(CasADi::FX* obj);
-CasADi::IOScheme* CasADi__FX__getOutputScheme(CasADi::FX* obj){
-
-    return new CasADi::IOScheme( obj->getOutputScheme() );
-}
-
-
-// ================== Normal method: "evaluate" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::evaluate"
-// cWrapperName: "CasADi__FX__evaluate"
-// protoArgs: "(CasADi::FX* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__FX__evaluate(CasADi::FX* obj)"
-// call: "obj->evaluate()"
-extern "C"
-    void CasADi__FX__evaluate(CasADi::FX* obj);
-void CasADi__FX__evaluate(CasADi::FX* obj){
-
-    return obj->evaluate();
-}
-
-
-// ================== Normal method: "solve" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::solve"
-// cWrapperName: "CasADi__FX__solve"
-// protoArgs: "(CasADi::FX* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__FX__solve(CasADi::FX* obj)"
-// call: "obj->solve()"
-extern "C"
-    void CasADi__FX__solve(CasADi::FX* obj);
-void CasADi__FX__solve(CasADi::FX* obj){
-
-    return obj->solve();
-}
-
-
-// ================== Normal method: "jacobian" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::jacobian"
-// cWrapperName: "CasADi__FX__jacobian"
-// protoArgs: "(CasADi::FX* obj, int x0, int x1, bool* x2, bool* x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Val (NonVec (CasadiClass FX))
-// cWrapperRetType: "CasADi::FX*"
-// proto: "CasADi::FX* CasADi__FX__jacobian(CasADi::FX* obj, int x0, int x1, bool* x2, bool* x3)"
-// call: "obj->jacobian(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::FX* CasADi__FX__jacobian(CasADi::FX* obj, int x0, int x1, bool* x2, bool* x3);
-CasADi::FX* CasADi__FX__jacobian(CasADi::FX* obj, int x0, int x1, bool* x2, bool* x3){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    bool x2_ = Marshaling<bool,bool*>::marshal(x2);
-    bool x3_ = Marshaling<bool,bool*>::marshal(x3);
-
-    return new CasADi::FX( obj->jacobian(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== Normal method: "gradient" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::gradient"
-// cWrapperName: "CasADi__FX__gradient"
-// protoArgs: "(CasADi::FX* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass FX))
-// cWrapperRetType: "CasADi::FX*"
-// proto: "CasADi::FX* CasADi__FX__gradient(CasADi::FX* obj, int x0, int x1)"
-// call: "obj->gradient(x0_, x1_)"
-extern "C"
-    CasADi::FX* CasADi__FX__gradient(CasADi::FX* obj, int x0, int x1);
-CasADi::FX* CasADi__FX__gradient(CasADi::FX* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::FX( obj->gradient(x0_, x1_) );
-}
-
-
-// ================== Normal method: "hessian" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::hessian"
-// cWrapperName: "CasADi__FX__hessian"
-// protoArgs: "(CasADi::FX* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass FX))
-// cWrapperRetType: "CasADi::FX*"
-// proto: "CasADi::FX* CasADi__FX__hessian(CasADi::FX* obj, int x0, int x1)"
-// call: "obj->hessian(x0_, x1_)"
-extern "C"
-    CasADi::FX* CasADi__FX__hessian(CasADi::FX* obj, int x0, int x1);
-CasADi::FX* CasADi__FX__hessian(CasADi::FX* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::FX( obj->hessian(x0_, x1_) );
-}
-
-
-// ================== Normal method: "fullJacobian" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::fullJacobian"
-// cWrapperName: "CasADi__FX__fullJacobian"
-// protoArgs: "(CasADi::FX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass FX))
-// cWrapperRetType: "CasADi::FX*"
-// proto: "CasADi::FX* CasADi__FX__fullJacobian(CasADi::FX* obj)"
-// call: "obj->fullJacobian()"
-extern "C"
-    CasADi::FX* CasADi__FX__fullJacobian(CasADi::FX* obj);
-CasADi::FX* CasADi__FX__fullJacobian(CasADi::FX* obj){
-
-    return new CasADi::FX( obj->fullJacobian() );
-}
-
-
-// ================== Normal method: "call" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::call"
-// cWrapperName: "CasADi__FX__call"
-// protoArgs: "(CasADi::FX* obj, std::vector<CasADi::MX* > * x0)"
-// args: "(x0_)"
-// rettype: Val (Vec (NonVec (CasadiClass MX)))
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__FX__call(CasADi::FX* obj, std::vector<CasADi::MX* > * x0)"
-// call: "obj->call(x0_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__FX__call(CasADi::FX* obj, std::vector<CasADi::MX* > * x0);
-std::vector<CasADi::MX >* CasADi__FX__call(CasADi::FX* obj, std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new std::vector<CasADi::MX >( obj->call(x0_) );
-}
-
-
-// ================== Normal method: "call''" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::call''"
-// cWrapperName: "CasADi__FX__call_TIC_TIC"
-// protoArgs: "(CasADi::FX* obj, std::vector<std::vector<CasADi::MX* > > * x0)"
-// args: "(x0_)"
-// rettype: Val (Vec (Vec (NonVec (CasadiClass MX))))
-// cWrapperRetType: "std::vector<std::vector<CasADi::MX > >*"
-// proto: "std::vector<std::vector<CasADi::MX > >* CasADi__FX__call_TIC_TIC(CasADi::FX* obj, std::vector<std::vector<CasADi::MX* > > * x0)"
-// call: "obj->call(x0_)"
-extern "C"
-    std::vector<std::vector<CasADi::MX > >* CasADi__FX__call_TIC_TIC(CasADi::FX* obj, std::vector<std::vector<CasADi::MX* > > * x0);
-std::vector<std::vector<CasADi::MX > >* CasADi__FX__call_TIC_TIC(CasADi::FX* obj, std::vector<std::vector<CasADi::MX* > > * x0){
-    std::vector<std::vector<CasADi::MX > > x0_ = Marshaling<std::vector<std::vector<CasADi::MX > >,std::vector<std::vector<CasADi::MX* > > *>::marshal(x0);
-
-    return new std::vector<std::vector<CasADi::MX > >( obj->call(x0_) );
-}
-
-
-// ================== Normal method: "evalMX" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::evalMX"
-// cWrapperName: "CasADi__FX__evalMX"
-// protoArgs: "(CasADi::FX* obj, std::vector<CasADi::MX* > * x0)"
-// args: "(x0_)"
-// rettype: Val (Vec (NonVec (CasadiClass MX)))
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__FX__evalMX(CasADi::FX* obj, std::vector<CasADi::MX* > * x0)"
-// call: "obj->evalMX(x0_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__FX__evalMX(CasADi::FX* obj, std::vector<CasADi::MX* > * x0);
-std::vector<CasADi::MX >* CasADi__FX__evalMX(CasADi::FX* obj, std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new std::vector<CasADi::MX >( obj->evalMX(x0_) );
-}
-
-
-// ================== Normal method: "evalSX" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::evalSX"
-// cWrapperName: "CasADi__FX__evalSX"
-// protoArgs: "(CasADi::FX* obj, std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// args: "(x0_)"
-// rettype: Val (Vec (NonVec (CasadiClass SXMatrix)))
-// cWrapperRetType: "std::vector<CasADi::Matrix< CasADi::SX > >*"
-// proto: "std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__FX__evalSX(CasADi::FX* obj, std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// call: "obj->evalSX(x0_)"
-extern "C"
-    std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__FX__evalSX(CasADi::FX* obj, std::vector<CasADi::Matrix< CasADi::SX >* > * x0);
-std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__FX__evalSX(CasADi::FX* obj, std::vector<CasADi::Matrix< CasADi::SX >* > * x0){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-
-    return new std::vector<CasADi::Matrix< CasADi::SX > >( obj->evalSX(x0_) );
-}
-
-
-// ================== Normal method: "generateCode" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::generateCode"
-// cWrapperName: "CasADi__FX__generateCode"
-// protoArgs: "(CasADi::FX* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__FX__generateCode(CasADi::FX* obj, std::string* x0)"
-// call: "obj->generateCode(x0_)"
-extern "C"
-    void CasADi__FX__generateCode(CasADi::FX* obj, std::string* x0);
-void CasADi__FX__generateCode(CasADi::FX* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return obj->generateCode(x0_);
-}
-
-
-// ================== Normal method: "checkNode" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::checkNode"
-// cWrapperName: "CasADi__FX__checkNode"
-// protoArgs: "(CasADi::FX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__FX__checkNode(CasADi::FX* obj)"
-// call: "obj->checkNode()"
-extern "C"
-    bool* CasADi__FX__checkNode(CasADi::FX* obj);
-bool* CasADi__FX__checkNode(CasADi::FX* obj){
-
-    return new bool( obj->checkNode() );
-}
-
-
-// ================== Normal method: "getStat" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::getStat"
-// cWrapperName: "CasADi__FX__getStat"
-// protoArgs: "(CasADi::FX* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__FX__getStat(CasADi::FX* obj, std::string* x0)"
-// call: "obj->getStat(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__FX__getStat(CasADi::FX* obj, std::string* x0);
-CasADi::GenericType* CasADi__FX__getStat(CasADi::FX* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new CasADi::GenericType( obj->getStat(x0_) );
-}
-
-
-// ================== Normal method: "symbolicInput" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::symbolicInput"
-// cWrapperName: "CasADi__FX__symbolicInput"
-// protoArgs: "(CasADi::FX* obj)"
-// args: "()"
-// rettype: Val (Vec (NonVec (CasadiClass MX)))
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__FX__symbolicInput(CasADi::FX* obj)"
-// call: "obj->symbolicInput()"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__FX__symbolicInput(CasADi::FX* obj);
-std::vector<CasADi::MX >* CasADi__FX__symbolicInput(CasADi::FX* obj){
-
-    return new std::vector<CasADi::MX >( obj->symbolicInput() );
-}
-
-
-// ================== Normal method: "symbolicInputSX" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::symbolicInputSX"
-// cWrapperName: "CasADi__FX__symbolicInputSX"
-// protoArgs: "(CasADi::FX* obj)"
-// args: "()"
-// rettype: Val (Vec (NonVec (CasadiClass SXMatrix)))
-// cWrapperRetType: "std::vector<CasADi::Matrix< CasADi::SX > >*"
-// proto: "std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__FX__symbolicInputSX(CasADi::FX* obj)"
-// call: "obj->symbolicInputSX()"
-extern "C"
-    std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__FX__symbolicInputSX(CasADi::FX* obj);
-std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__FX__symbolicInputSX(CasADi::FX* obj){
-
-    return new std::vector<CasADi::Matrix< CasADi::SX > >( obj->symbolicInputSX() );
-}
-
-
-// ================== Normal method: "addMonitor" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::addMonitor"
-// cWrapperName: "CasADi__FX__addMonitor"
-// protoArgs: "(CasADi::FX* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__FX__addMonitor(CasADi::FX* obj, std::string* x0)"
-// call: "obj->addMonitor(x0_)"
-extern "C"
-    void CasADi__FX__addMonitor(CasADi::FX* obj, std::string* x0);
-void CasADi__FX__addMonitor(CasADi::FX* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return obj->addMonitor(x0_);
-}
-
-
-// ================== Normal method: "removeMonitor" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::removeMonitor"
-// cWrapperName: "CasADi__FX__removeMonitor"
-// protoArgs: "(CasADi::FX* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__FX__removeMonitor(CasADi::FX* obj, std::string* x0)"
-// call: "obj->removeMonitor(x0_)"
-extern "C"
-    void CasADi__FX__removeMonitor(CasADi::FX* obj, std::string* x0);
-void CasADi__FX__removeMonitor(CasADi::FX* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return obj->removeMonitor(x0_);
-}
-
-
-// ================== Normal method: "checkInputs" ===============
-// class: "CasADi::FX"
-// cppName: "CasADi::FX::checkInputs"
-// cWrapperName: "CasADi__FX__checkInputs"
-// protoArgs: "(CasADi::FX* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__FX__checkInputs(CasADi::FX* obj)"
-// call: "obj->checkInputs()"
-extern "C"
-    void CasADi__FX__checkInputs(CasADi::FX* obj);
-void CasADi__FX__checkInputs(CasADi::FX* obj){
-
-    return obj->checkInputs();
-}
-
-
-// ================== delete CasadiClass SharedObject===============
-// classType: CasadiClass SharedObject
-extern "C"
-    void delete_CasADi__SharedObject(CasADi::SharedObject* obj);
-void delete_CasADi__SharedObject(CasADi::SharedObject* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__SharedObject_(std::vector<CasADi::SharedObject* >* obj);
-void delete_std__vector_CasADi__SharedObject_(std::vector<CasADi::SharedObject* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__SharedObject__(std::vector<std::vector<CasADi::SharedObject* > >* obj);
-void delete_std__vector_std__vector_CasADi__SharedObject__(std::vector<std::vector<CasADi::SharedObject* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__SharedObject___(std::vector<std::vector<std::vector<CasADi::SharedObject* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__SharedObject___(std::vector<std::vector<std::vector<CasADi::SharedObject* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "printPtr'" ===============
-// class: "CasADi::SharedObject"
-// cppName: "CasADi::SharedObject::printPtr'"
-// cWrapperName: "CasADi__SharedObject__printPtr_TIC"
-// protoArgs: "(CasADi::SharedObject* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SharedObject__printPtr_TIC(CasADi::SharedObject* obj)"
-// call: "obj->printPtr()"
-extern "C"
-    void CasADi__SharedObject__printPtr_TIC(CasADi::SharedObject* obj);
-void CasADi__SharedObject__printPtr_TIC(CasADi::SharedObject* obj){
-
-    return obj->printPtr();
-}
-
-
-// ================== Normal method: "init" ===============
-// class: "CasADi::SharedObject"
-// cppName: "CasADi::SharedObject::init"
-// cWrapperName: "CasADi__SharedObject__init"
-// protoArgs: "(CasADi::SharedObject* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SharedObject__init(CasADi::SharedObject* obj)"
-// call: "obj->init()"
-extern "C"
-    void CasADi__SharedObject__init(CasADi::SharedObject* obj);
-void CasADi__SharedObject__init(CasADi::SharedObject* obj){
-
-    return obj->init();
-}
-
-
-// ================== Normal method: "isInit" ===============
-// class: "CasADi::SharedObject"
-// cppName: "CasADi::SharedObject::isInit"
-// cWrapperName: "CasADi__SharedObject__isInit"
-// protoArgs: "(CasADi::SharedObject* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SharedObject__isInit(CasADi::SharedObject* obj)"
-// call: "obj->isInit()"
-extern "C"
-    bool* CasADi__SharedObject__isInit(CasADi::SharedObject* obj);
-bool* CasADi__SharedObject__isInit(CasADi::SharedObject* obj){
-
-    return new bool( obj->isInit() );
-}
-
-
-// ================== Normal method: "assertInit" ===============
-// class: "CasADi::SharedObject"
-// cppName: "CasADi::SharedObject::assertInit"
-// cWrapperName: "CasADi__SharedObject__assertInit"
-// protoArgs: "(CasADi::SharedObject* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SharedObject__assertInit(CasADi::SharedObject* obj)"
-// call: "obj->assertInit()"
-extern "C"
-    void CasADi__SharedObject__assertInit(CasADi::SharedObject* obj);
-void CasADi__SharedObject__assertInit(CasADi::SharedObject* obj){
-
-    return obj->assertInit();
-}
-
-
-// ================== Normal method: "checkNode" ===============
-// class: "CasADi::SharedObject"
-// cppName: "CasADi::SharedObject::checkNode"
-// cWrapperName: "CasADi__SharedObject__checkNode"
-// protoArgs: "(CasADi::SharedObject* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SharedObject__checkNode(CasADi::SharedObject* obj)"
-// call: "obj->checkNode()"
-extern "C"
-    bool* CasADi__SharedObject__checkNode(CasADi::SharedObject* obj);
-bool* CasADi__SharedObject__checkNode(CasADi::SharedObject* obj){
-
-    return new bool( obj->checkNode() );
-}
-
-
-// ================== Normal method: "makeUnique" ===============
-// class: "CasADi::SharedObject"
-// cppName: "CasADi::SharedObject::makeUnique"
-// cWrapperName: "CasADi__SharedObject__makeUnique"
-// protoArgs: "(CasADi::SharedObject* obj, bool* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SharedObject__makeUnique(CasADi::SharedObject* obj, bool* x0)"
-// call: "obj->makeUnique(x0_)"
-extern "C"
-    void CasADi__SharedObject__makeUnique(CasADi::SharedObject* obj, bool* x0);
-void CasADi__SharedObject__makeUnique(CasADi::SharedObject* obj, bool* x0){
-    bool x0_ = Marshaling<bool,bool*>::marshal(x0);
-
-    return obj->makeUnique(x0_);
-}
-
-
-// ================== Normal method: "makeUnique'" ===============
-// class: "CasADi::SharedObject"
-// cppName: "CasADi::SharedObject::makeUnique'"
-// cWrapperName: "CasADi__SharedObject__makeUnique_TIC"
-// protoArgs: "(CasADi::SharedObject* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SharedObject__makeUnique_TIC(CasADi::SharedObject* obj)"
-// call: "obj->makeUnique()"
-extern "C"
-    void CasADi__SharedObject__makeUnique_TIC(CasADi::SharedObject* obj);
-void CasADi__SharedObject__makeUnique_TIC(CasADi::SharedObject* obj){
-
-    return obj->makeUnique();
-}
-
-
-// ================== delete CasadiClass PrintableObject===============
-// classType: CasadiClass PrintableObject
-extern "C"
-    void delete_CasADi__PrintableObject(CasADi::PrintableObject* obj);
-void delete_CasADi__PrintableObject(CasADi::PrintableObject* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__PrintableObject_(std::vector<CasADi::PrintableObject* >* obj);
-void delete_std__vector_CasADi__PrintableObject_(std::vector<CasADi::PrintableObject* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__PrintableObject__(std::vector<std::vector<CasADi::PrintableObject* > >* obj);
-void delete_std__vector_std__vector_CasADi__PrintableObject__(std::vector<std::vector<CasADi::PrintableObject* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__PrintableObject___(std::vector<std::vector<std::vector<CasADi::PrintableObject* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__PrintableObject___(std::vector<std::vector<std::vector<CasADi::PrintableObject* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "getRepresentation" ===============
-// class: "CasADi::PrintableObject"
-// cppName: "CasADi::PrintableObject::getRepresentation"
-// cWrapperName: "CasADi__PrintableObject__getRepresentation"
-// protoArgs: "(CasADi::PrintableObject* obj)"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__PrintableObject__getRepresentation(CasADi::PrintableObject* obj)"
-// call: "obj->getRepresentation()"
-extern "C"
-    std::string* CasADi__PrintableObject__getRepresentation(CasADi::PrintableObject* obj);
-std::string* CasADi__PrintableObject__getRepresentation(CasADi::PrintableObject* obj){
-
-    return new std::string( obj->getRepresentation() );
-}
-
-
-// ================== Normal method: "getDescription" ===============
-// class: "CasADi::PrintableObject"
-// cppName: "CasADi::PrintableObject::getDescription"
-// cWrapperName: "CasADi__PrintableObject__getDescription"
-// protoArgs: "(CasADi::PrintableObject* obj)"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__PrintableObject__getDescription(CasADi::PrintableObject* obj)"
-// call: "obj->getDescription()"
-extern "C"
-    std::string* CasADi__PrintableObject__getDescription(CasADi::PrintableObject* obj);
-std::string* CasADi__PrintableObject__getDescription(CasADi::PrintableObject* obj){
-
-    return new std::string( obj->getDescription() );
-}
-
-
-// ================== delete CasadiClass CRSSparsity===============
-// classType: CasadiClass CRSSparsity
-extern "C"
-    void delete_CasADi__CRSSparsity(CasADi::CRSSparsity* obj);
-void delete_CasADi__CRSSparsity(CasADi::CRSSparsity* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__CRSSparsity_(std::vector<CasADi::CRSSparsity* >* obj);
-void delete_std__vector_CasADi__CRSSparsity_(std::vector<CasADi::CRSSparsity* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__CRSSparsity__(std::vector<std::vector<CasADi::CRSSparsity* > >* obj);
-void delete_std__vector_std__vector_CasADi__CRSSparsity__(std::vector<std::vector<CasADi::CRSSparsity* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__CRSSparsity___(std::vector<std::vector<std::vector<CasADi::CRSSparsity* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__CRSSparsity___(std::vector<std::vector<std::vector<CasADi::CRSSparsity* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "size1" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::size1"
-// cWrapperName: "CasADi__CRSSparsity__size1"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__CRSSparsity__size1(CasADi::CRSSparsity* obj)"
-// call: "obj->size1()"
-extern "C"
-    int CasADi__CRSSparsity__size1(CasADi::CRSSparsity* obj);
-int CasADi__CRSSparsity__size1(CasADi::CRSSparsity* obj){
-
-    return obj->size1();
-}
-
-
-// ================== Normal method: "size2" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::size2"
-// cWrapperName: "CasADi__CRSSparsity__size2"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__CRSSparsity__size2(CasADi::CRSSparsity* obj)"
-// call: "obj->size2()"
-extern "C"
-    int CasADi__CRSSparsity__size2(CasADi::CRSSparsity* obj);
-int CasADi__CRSSparsity__size2(CasADi::CRSSparsity* obj){
-
-    return obj->size2();
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::numel"
-// cWrapperName: "CasADi__CRSSparsity__numel"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__CRSSparsity__numel(CasADi::CRSSparsity* obj)"
-// call: "obj->numel()"
-extern "C"
-    int CasADi__CRSSparsity__numel(CasADi::CRSSparsity* obj);
-int CasADi__CRSSparsity__numel(CasADi::CRSSparsity* obj){
-
-    return obj->numel();
-}
-
-
-// ================== Normal method: "empty" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::empty"
-// cWrapperName: "CasADi__CRSSparsity__empty"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__CRSSparsity__empty(CasADi::CRSSparsity* obj)"
-// call: "obj->empty()"
-extern "C"
-    bool* CasADi__CRSSparsity__empty(CasADi::CRSSparsity* obj);
-bool* CasADi__CRSSparsity__empty(CasADi::CRSSparsity* obj){
-
-    return new bool( obj->empty() );
-}
-
-
-// ================== Normal method: "null" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::null"
-// cWrapperName: "CasADi__CRSSparsity__null"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__CRSSparsity__null(CasADi::CRSSparsity* obj)"
-// call: "obj->null()"
-extern "C"
-    bool* CasADi__CRSSparsity__null(CasADi::CRSSparsity* obj);
-bool* CasADi__CRSSparsity__null(CasADi::CRSSparsity* obj){
-
-    return new bool( obj->null() );
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::size"
-// cWrapperName: "CasADi__CRSSparsity__size"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__CRSSparsity__size(CasADi::CRSSparsity* obj)"
-// call: "obj->size()"
-extern "C"
-    int CasADi__CRSSparsity__size(CasADi::CRSSparsity* obj);
-int CasADi__CRSSparsity__size(CasADi::CRSSparsity* obj){
-
-    return obj->size();
-}
-
-
-// ================== Normal method: "sizeU" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::sizeU"
-// cWrapperName: "CasADi__CRSSparsity__sizeU"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__CRSSparsity__sizeU(CasADi::CRSSparsity* obj)"
-// call: "obj->sizeU()"
-extern "C"
-    int CasADi__CRSSparsity__sizeU(CasADi::CRSSparsity* obj);
-int CasADi__CRSSparsity__sizeU(CasADi::CRSSparsity* obj){
-
-    return obj->sizeU();
-}
-
-
-// ================== Normal method: "sizeL" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::sizeL"
-// cWrapperName: "CasADi__CRSSparsity__sizeL"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__CRSSparsity__sizeL(CasADi::CRSSparsity* obj)"
-// call: "obj->sizeL()"
-extern "C"
-    int CasADi__CRSSparsity__sizeL(CasADi::CRSSparsity* obj);
-int CasADi__CRSSparsity__sizeL(CasADi::CRSSparsity* obj){
-
-    return obj->sizeL();
-}
-
-
-// ================== Normal method: "sizeD" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::sizeD"
-// cWrapperName: "CasADi__CRSSparsity__sizeD"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__CRSSparsity__sizeD(CasADi::CRSSparsity* obj)"
-// call: "obj->sizeD()"
-extern "C"
-    int CasADi__CRSSparsity__sizeD(CasADi::CRSSparsity* obj);
-int CasADi__CRSSparsity__sizeD(CasADi::CRSSparsity* obj){
-
-    return obj->sizeD();
-}
-
-
-// ================== Normal method: "col" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::col"
-// cWrapperName: "CasADi__CRSSparsity__col"
-// protoArgs: "(CasADi::CRSSparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__CRSSparsity__col(CasADi::CRSSparsity* obj, int x0)"
-// call: "obj->col(x0_)"
-extern "C"
-    int CasADi__CRSSparsity__col(CasADi::CRSSparsity* obj, int x0);
-int CasADi__CRSSparsity__col(CasADi::CRSSparsity* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->col(x0_);
-}
-
-
-// ================== Normal method: "rowind" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::rowind"
-// cWrapperName: "CasADi__CRSSparsity__rowind"
-// protoArgs: "(CasADi::CRSSparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__CRSSparsity__rowind(CasADi::CRSSparsity* obj, int x0)"
-// call: "obj->rowind(x0_)"
-extern "C"
-    int CasADi__CRSSparsity__rowind(CasADi::CRSSparsity* obj, int x0);
-int CasADi__CRSSparsity__rowind(CasADi::CRSSparsity* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->rowind(x0_);
-}
-
-
-// ================== Normal method: "colRef" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::colRef"
-// cWrapperName: "CasADi__CRSSparsity__colRef"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (Vec (NonVec CInt))
-// cWrapperRetType: "std::vector<int >*"
-// proto: "std::vector<int >* CasADi__CRSSparsity__colRef(CasADi::CRSSparsity* obj)"
-// call: "obj->colRef()"
-extern "C"
-    std::vector<int >* CasADi__CRSSparsity__colRef(CasADi::CRSSparsity* obj);
-std::vector<int >* CasADi__CRSSparsity__colRef(CasADi::CRSSparsity* obj){
-
-    return new std::vector<int >( obj->colRef() );
-}
-
-
-// ================== Normal method: "rowindRef" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::rowindRef"
-// cWrapperName: "CasADi__CRSSparsity__rowindRef"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (Vec (NonVec CInt))
-// cWrapperRetType: "std::vector<int >*"
-// proto: "std::vector<int >* CasADi__CRSSparsity__rowindRef(CasADi::CRSSparsity* obj)"
-// call: "obj->rowindRef()"
-extern "C"
-    std::vector<int >* CasADi__CRSSparsity__rowindRef(CasADi::CRSSparsity* obj);
-std::vector<int >* CasADi__CRSSparsity__rowindRef(CasADi::CRSSparsity* obj){
-
-    return new std::vector<int >( obj->rowindRef() );
-}
-
-
-// ================== Normal method: "getRow" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::getRow"
-// cWrapperName: "CasADi__CRSSparsity__getRow"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (Vec (NonVec CInt))
-// cWrapperRetType: "std::vector<int >*"
-// proto: "std::vector<int >* CasADi__CRSSparsity__getRow(CasADi::CRSSparsity* obj)"
-// call: "obj->getRow()"
-extern "C"
-    std::vector<int >* CasADi__CRSSparsity__getRow(CasADi::CRSSparsity* obj);
-std::vector<int >* CasADi__CRSSparsity__getRow(CasADi::CRSSparsity* obj){
-
-    return new std::vector<int >( obj->getRow() );
-}
-
-
-// ================== Normal method: "getNZ" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::getNZ"
-// cWrapperName: "CasADi__CRSSparsity__getNZ"
-// protoArgs: "(CasADi::CRSSparsity* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__CRSSparsity__getNZ(CasADi::CRSSparsity* obj, int x0, int x1)"
-// call: "obj->getNZ(x0_, x1_)"
-extern "C"
-    int CasADi__CRSSparsity__getNZ(CasADi::CRSSparsity* obj, int x0, int x1);
-int CasADi__CRSSparsity__getNZ(CasADi::CRSSparsity* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->getNZ(x0_, x1_);
-}
-
-
-// ================== Normal method: "getNZ''" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::getNZ''"
-// cWrapperName: "CasADi__CRSSparsity__getNZ_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (Vec (NonVec CInt))
-// cWrapperRetType: "std::vector<int >*"
-// proto: "std::vector<int >* CasADi__CRSSparsity__getNZ_TIC_TIC(CasADi::CRSSparsity* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// call: "obj->getNZ(x0_, x1_)"
-extern "C"
-    std::vector<int >* CasADi__CRSSparsity__getNZ_TIC_TIC(CasADi::CRSSparsity* obj, std::vector<int > * x0, std::vector<int > * x1);
-std::vector<int >* CasADi__CRSSparsity__getNZ_TIC_TIC(CasADi::CRSSparsity* obj, std::vector<int > * x0, std::vector<int > * x1){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return new std::vector<int >( obj->getNZ(x0_, x1_) );
-}
-
-
-// ================== Normal method: "hasNZ" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::hasNZ"
-// cWrapperName: "CasADi__CRSSparsity__hasNZ"
-// protoArgs: "(CasADi::CRSSparsity* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__CRSSparsity__hasNZ(CasADi::CRSSparsity* obj, int x0, int x1)"
-// call: "obj->hasNZ(x0_, x1_)"
-extern "C"
-    bool* CasADi__CRSSparsity__hasNZ(CasADi::CRSSparsity* obj, int x0, int x1);
-bool* CasADi__CRSSparsity__hasNZ(CasADi::CRSSparsity* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new bool( obj->hasNZ(x0_, x1_) );
-}
-
-
-// ================== Normal method: "getNZInplace" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::getNZInplace"
-// cWrapperName: "CasADi__CRSSparsity__getNZInplace"
-// protoArgs: "(CasADi::CRSSparsity* obj, std::vector<int >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__CRSSparsity__getNZInplace(CasADi::CRSSparsity* obj, std::vector<int >* x0)"
-// call: "obj->getNZInplace(x0_)"
-extern "C"
-    void CasADi__CRSSparsity__getNZInplace(CasADi::CRSSparsity* obj, std::vector<int >* x0);
-void CasADi__CRSSparsity__getNZInplace(CasADi::CRSSparsity* obj, std::vector<int >* x0){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int >*>::marshal(x0);
-
-    return obj->getNZInplace(x0_);
-}
-
-
-// ================== Normal method: "columnsSequential" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::columnsSequential"
-// cWrapperName: "CasADi__CRSSparsity__columnsSequential"
-// protoArgs: "(CasADi::CRSSparsity* obj, bool* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__CRSSparsity__columnsSequential(CasADi::CRSSparsity* obj, bool* x0)"
-// call: "obj->columnsSequential(x0_)"
-extern "C"
-    bool* CasADi__CRSSparsity__columnsSequential(CasADi::CRSSparsity* obj, bool* x0);
-bool* CasADi__CRSSparsity__columnsSequential(CasADi::CRSSparsity* obj, bool* x0){
-    bool x0_ = Marshaling<bool,bool*>::marshal(x0);
-
-    return new bool( obj->columnsSequential(x0_) );
-}
-
-
-// ================== Normal method: "getElements" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::getElements"
-// cWrapperName: "CasADi__CRSSparsity__getElements"
-// protoArgs: "(CasADi::CRSSparsity* obj, bool* x0)"
-// args: "(x0_)"
-// rettype: Val (Vec (NonVec CInt))
-// cWrapperRetType: "std::vector<int >*"
-// proto: "std::vector<int >* CasADi__CRSSparsity__getElements(CasADi::CRSSparsity* obj, bool* x0)"
-// call: "obj->getElements(x0_)"
-extern "C"
-    std::vector<int >* CasADi__CRSSparsity__getElements(CasADi::CRSSparsity* obj, bool* x0);
-std::vector<int >* CasADi__CRSSparsity__getElements(CasADi::CRSSparsity* obj, bool* x0){
-    bool x0_ = Marshaling<bool,bool*>::marshal(x0);
-
-    return new std::vector<int >( obj->getElements(x0_) );
-}
-
-
-// ================== Normal method: "unidirectionalColoring" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::unidirectionalColoring"
-// cWrapperName: "CasADi__CRSSparsity__unidirectionalColoring"
-// protoArgs: "(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0, int x1)"
-// call: "obj->unidirectionalColoring(x0_, x1_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0, int x1);
-CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0, int x1){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::CRSSparsity( obj->unidirectionalColoring(x0_, x1_) );
-}
-
-
-// ================== Normal method: "unidirectionalColoring'" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::unidirectionalColoring'"
-// cWrapperName: "CasADi__CRSSparsity__unidirectionalColoring_TIC"
-// protoArgs: "(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0)"
-// call: "obj->unidirectionalColoring(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0);
-CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::CRSSparsity( obj->unidirectionalColoring(x0_) );
-}
-
-
-// ================== Normal method: "unidirectionalColoring''" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::unidirectionalColoring''"
-// cWrapperName: "CasADi__CRSSparsity__unidirectionalColoring_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC_TIC(CasADi::CRSSparsity* obj)"
-// call: "obj->unidirectionalColoring()"
-extern "C"
-    CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC_TIC(CasADi::CRSSparsity* obj);
-CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC_TIC(CasADi::CRSSparsity* obj){
-
-    return new CasADi::CRSSparsity( obj->unidirectionalColoring() );
-}
-
-
-// ================== Normal method: "starColoring" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::starColoring"
-// cWrapperName: "CasADi__CRSSparsity__starColoring"
-// protoArgs: "(CasADi::CRSSparsity* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring(CasADi::CRSSparsity* obj, int x0, int x1)"
-// call: "obj->starColoring(x0_, x1_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring(CasADi::CRSSparsity* obj, int x0, int x1);
-CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring(CasADi::CRSSparsity* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::CRSSparsity( obj->starColoring(x0_, x1_) );
-}
-
-
-// ================== Normal method: "starColoring'" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::starColoring'"
-// cWrapperName: "CasADi__CRSSparsity__starColoring_TIC"
-// protoArgs: "(CasADi::CRSSparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC(CasADi::CRSSparsity* obj, int x0)"
-// call: "obj->starColoring(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC(CasADi::CRSSparsity* obj, int x0);
-CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC(CasADi::CRSSparsity* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::CRSSparsity( obj->starColoring(x0_) );
-}
-
-
-// ================== Normal method: "starColoring''" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::starColoring''"
-// cWrapperName: "CasADi__CRSSparsity__starColoring_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC_TIC(CasADi::CRSSparsity* obj)"
-// call: "obj->starColoring()"
-extern "C"
-    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC_TIC(CasADi::CRSSparsity* obj);
-CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC_TIC(CasADi::CRSSparsity* obj){
-
-    return new CasADi::CRSSparsity( obj->starColoring() );
-}
-
-
-// ================== Normal method: "starColoring2" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::starColoring2"
-// cWrapperName: "CasADi__CRSSparsity__starColoring2"
-// protoArgs: "(CasADi::CRSSparsity* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2(CasADi::CRSSparsity* obj, int x0, int x1)"
-// call: "obj->starColoring2(x0_, x1_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2(CasADi::CRSSparsity* obj, int x0, int x1);
-CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2(CasADi::CRSSparsity* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::CRSSparsity( obj->starColoring2(x0_, x1_) );
-}
-
-
-// ================== Normal method: "starColoring2'" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::starColoring2'"
-// cWrapperName: "CasADi__CRSSparsity__starColoring2_TIC"
-// protoArgs: "(CasADi::CRSSparsity* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC(CasADi::CRSSparsity* obj, int x0)"
-// call: "obj->starColoring2(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC(CasADi::CRSSparsity* obj, int x0);
-CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC(CasADi::CRSSparsity* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::CRSSparsity( obj->starColoring2(x0_) );
-}
-
-
-// ================== Normal method: "starColoring2''" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::starColoring2''"
-// cWrapperName: "CasADi__CRSSparsity__starColoring2_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC_TIC(CasADi::CRSSparsity* obj)"
-// call: "obj->starColoring2()"
-extern "C"
-    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC_TIC(CasADi::CRSSparsity* obj);
-CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC_TIC(CasADi::CRSSparsity* obj){
-
-    return new CasADi::CRSSparsity( obj->starColoring2() );
-}
-
-
-// ================== Normal method: "dimString" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::dimString"
-// cWrapperName: "CasADi__CRSSparsity__dimString"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__CRSSparsity__dimString(CasADi::CRSSparsity* obj)"
-// call: "obj->dimString()"
-extern "C"
-    std::string* CasADi__CRSSparsity__dimString(CasADi::CRSSparsity* obj);
-std::string* CasADi__CRSSparsity__dimString(CasADi::CRSSparsity* obj){
-
-    return new std::string( obj->dimString() );
-}
-
-
-// ================== Normal method: "spy'" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::spy'"
-// cWrapperName: "CasADi__CRSSparsity__spy_TIC"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__CRSSparsity__spy_TIC(CasADi::CRSSparsity* obj)"
-// call: "obj->spy()"
-extern "C"
-    void CasADi__CRSSparsity__spy_TIC(CasADi::CRSSparsity* obj);
-void CasADi__CRSSparsity__spy_TIC(CasADi::CRSSparsity* obj){
-
-    return obj->spy();
-}
-
-
-// ================== Normal method: "spyMatlab" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::spyMatlab"
-// cWrapperName: "CasADi__CRSSparsity__spyMatlab"
-// protoArgs: "(CasADi::CRSSparsity* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__CRSSparsity__spyMatlab(CasADi::CRSSparsity* obj, std::string* x0)"
-// call: "obj->spyMatlab(x0_)"
-extern "C"
-    void CasADi__CRSSparsity__spyMatlab(CasADi::CRSSparsity* obj, std::string* x0);
-void CasADi__CRSSparsity__spyMatlab(CasADi::CRSSparsity* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return obj->spyMatlab(x0_);
-}
-
-
-// ================== Normal method: "hash" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity::hash"
-// cWrapperName: "CasADi__CRSSparsity__hash"
-// protoArgs: "(CasADi::CRSSparsity* obj)"
-// args: "()"
-// rettype: Val (NonVec CSize)
-// cWrapperRetType: "size_t"
-// proto: "size_t CasADi__CRSSparsity__hash(CasADi::CRSSparsity* obj)"
-// call: "obj->hash()"
-extern "C"
-    size_t CasADi__CRSSparsity__hash(CasADi::CRSSparsity* obj);
-size_t CasADi__CRSSparsity__hash(CasADi::CRSSparsity* obj){
-
-    return obj->hash();
-}
-
-
-// ================== Constructor method: "CRSSparsity" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity"
-// cWrapperName: "CasADi__CRSSparsity__CRSSparsity"
-// protoArgs: "(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// call: "CasADi::CRSSparsity(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3);
-CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-
-    return new CasADi::CRSSparsity( CasADi::CRSSparsity(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== Constructor method: "CRSSparsity'" ===============
-// class: "CasADi::CRSSparsity"
-// cppName: "CasADi::CRSSparsity"
-// cWrapperName: "CasADi__CRSSparsity__CRSSparsity_TIC"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity_TIC()"
-// call: "CasADi::CRSSparsity()"
-extern "C"
-    CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity_TIC();
-CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity_TIC(){
-
-    return new CasADi::CRSSparsity( CasADi::CRSSparsity() );
-}
-
-
-// ================== delete CasadiClass GenericType===============
-// classType: CasadiClass GenericType
-extern "C"
-    void delete_CasADi__GenericType(CasADi::GenericType* obj);
-void delete_CasADi__GenericType(CasADi::GenericType* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__GenericType_(std::vector<CasADi::GenericType* >* obj);
-void delete_std__vector_CasADi__GenericType_(std::vector<CasADi::GenericType* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__GenericType__(std::vector<std::vector<CasADi::GenericType* > >* obj);
-void delete_std__vector_std__vector_CasADi__GenericType__(std::vector<std::vector<CasADi::GenericType* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__GenericType___(std::vector<std::vector<std::vector<CasADi::GenericType* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__GenericType___(std::vector<std::vector<std::vector<CasADi::GenericType* > > >* obj){
-    delete obj;
-}
-
-// ================== Static method: "get_type_description" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::get_type_description"
-// cWrapperName: "CasADi__GenericType__get_type_description"
-// protoArgs: "(CasADi::opt_type* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__GenericType__get_type_description(CasADi::opt_type* x0)"
-// call: "CasADi::GenericType::get_type_description(x0_)"
-extern "C"
-    std::string* CasADi__GenericType__get_type_description(CasADi::opt_type* x0);
-std::string* CasADi__GenericType__get_type_description(CasADi::opt_type* x0){
-    CasADi::opt_type x0_ = Marshaling<CasADi::opt_type,CasADi::opt_type*>::marshal(x0);
-
-    return new std::string( CasADi::GenericType::get_type_description(x0_) );
-}
-
-
-// ================== Normal method: "get_description" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::get_description"
-// cWrapperName: "CasADi__GenericType__get_description"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__GenericType__get_description(CasADi::GenericType* obj)"
-// call: "obj->get_description()"
-extern "C"
-    std::string* CasADi__GenericType__get_description(CasADi::GenericType* obj);
-std::string* CasADi__GenericType__get_description(CasADi::GenericType* obj){
-
-    return new std::string( obj->get_description() );
-}
-
-
-// ================== Static method: "from_type" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::from_type"
-// cWrapperName: "CasADi__GenericType__from_type"
-// protoArgs: "(CasADi::opt_type x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__from_type(CasADi::opt_type x0)"
-// call: "CasADi::GenericType::from_type(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__from_type(CasADi::opt_type x0);
-CasADi::GenericType* CasADi__GenericType__from_type(CasADi::opt_type x0){
-    CasADi::opt_type x0_ = Marshaling<CasADi::opt_type,CasADi::opt_type>::marshal(x0);
-
-    return new CasADi::GenericType( CasADi::GenericType::from_type(x0_) );
-}
-
-
-// ================== Normal method: "getType" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::getType"
-// cWrapperName: "CasADi__GenericType__getType"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiEnum Opt_type))
-// cWrapperRetType: "CasADi::opt_type"
-// proto: "CasADi::opt_type CasADi__GenericType__getType(CasADi::GenericType* obj)"
-// call: "obj->getType()"
-extern "C"
-    CasADi::opt_type CasADi__GenericType__getType(CasADi::GenericType* obj);
-CasADi::opt_type CasADi__GenericType__getType(CasADi::GenericType* obj){
-
-    return obj->getType();
-}
-
-
-// ================== Normal method: "can_cast_to" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::can_cast_to"
-// cWrapperName: "CasADi__GenericType__can_cast_to"
-// protoArgs: "(CasADi::GenericType* obj, CasADi::opt_type x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__can_cast_to(CasADi::GenericType* obj, CasADi::opt_type x0)"
-// call: "obj->can_cast_to(x0_)"
-extern "C"
-    bool* CasADi__GenericType__can_cast_to(CasADi::GenericType* obj, CasADi::opt_type x0);
-bool* CasADi__GenericType__can_cast_to(CasADi::GenericType* obj, CasADi::opt_type x0){
-    CasADi::opt_type x0_ = Marshaling<CasADi::opt_type,CasADi::opt_type>::marshal(x0);
-
-    return new bool( obj->can_cast_to(x0_) );
-}
-
-
-// ================== Normal method: "can_cast_to'" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::can_cast_to'"
-// cWrapperName: "CasADi__GenericType__can_cast_to_TIC"
-// protoArgs: "(CasADi::GenericType* obj, CasADi::GenericType* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__can_cast_to_TIC(CasADi::GenericType* obj, CasADi::GenericType* x0)"
-// call: "obj->can_cast_to(x0_)"
-extern "C"
-    bool* CasADi__GenericType__can_cast_to_TIC(CasADi::GenericType* obj, CasADi::GenericType* x0);
-bool* CasADi__GenericType__can_cast_to_TIC(CasADi::GenericType* obj, CasADi::GenericType* x0){
-    CasADi::GenericType x0_ = Marshaling<CasADi::GenericType,CasADi::GenericType*>::marshal(x0);
-
-    return new bool( obj->can_cast_to(x0_) );
-}
-
-
-// ================== Normal method: "isBool" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::isBool"
-// cWrapperName: "CasADi__GenericType__isBool"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__isBool(CasADi::GenericType* obj)"
-// call: "obj->isBool()"
-extern "C"
-    bool* CasADi__GenericType__isBool(CasADi::GenericType* obj);
-bool* CasADi__GenericType__isBool(CasADi::GenericType* obj){
-
-    return new bool( obj->isBool() );
-}
-
-
-// ================== Normal method: "isInt" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::isInt"
-// cWrapperName: "CasADi__GenericType__isInt"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__isInt(CasADi::GenericType* obj)"
-// call: "obj->isInt()"
-extern "C"
-    bool* CasADi__GenericType__isInt(CasADi::GenericType* obj);
-bool* CasADi__GenericType__isInt(CasADi::GenericType* obj){
-
-    return new bool( obj->isInt() );
-}
-
-
-// ================== Normal method: "isDouble" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::isDouble"
-// cWrapperName: "CasADi__GenericType__isDouble"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__isDouble(CasADi::GenericType* obj)"
-// call: "obj->isDouble()"
-extern "C"
-    bool* CasADi__GenericType__isDouble(CasADi::GenericType* obj);
-bool* CasADi__GenericType__isDouble(CasADi::GenericType* obj){
-
-    return new bool( obj->isDouble() );
-}
-
-
-// ================== Normal method: "isString" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::isString"
-// cWrapperName: "CasADi__GenericType__isString"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__isString(CasADi::GenericType* obj)"
-// call: "obj->isString()"
-extern "C"
-    bool* CasADi__GenericType__isString(CasADi::GenericType* obj);
-bool* CasADi__GenericType__isString(CasADi::GenericType* obj){
-
-    return new bool( obj->isString() );
-}
-
-
-// ================== Normal method: "isEmptyVector" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::isEmptyVector"
-// cWrapperName: "CasADi__GenericType__isEmptyVector"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__isEmptyVector(CasADi::GenericType* obj)"
-// call: "obj->isEmptyVector()"
-extern "C"
-    bool* CasADi__GenericType__isEmptyVector(CasADi::GenericType* obj);
-bool* CasADi__GenericType__isEmptyVector(CasADi::GenericType* obj){
-
-    return new bool( obj->isEmptyVector() );
-}
-
-
-// ================== Normal method: "isIntVector" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::isIntVector"
-// cWrapperName: "CasADi__GenericType__isIntVector"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__isIntVector(CasADi::GenericType* obj)"
-// call: "obj->isIntVector()"
-extern "C"
-    bool* CasADi__GenericType__isIntVector(CasADi::GenericType* obj);
-bool* CasADi__GenericType__isIntVector(CasADi::GenericType* obj){
-
-    return new bool( obj->isIntVector() );
-}
-
-
-// ================== Normal method: "isDoubleVector" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::isDoubleVector"
-// cWrapperName: "CasADi__GenericType__isDoubleVector"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__isDoubleVector(CasADi::GenericType* obj)"
-// call: "obj->isDoubleVector()"
-extern "C"
-    bool* CasADi__GenericType__isDoubleVector(CasADi::GenericType* obj);
-bool* CasADi__GenericType__isDoubleVector(CasADi::GenericType* obj){
-
-    return new bool( obj->isDoubleVector() );
-}
-
-
-// ================== Normal method: "isStringVector" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::isStringVector"
-// cWrapperName: "CasADi__GenericType__isStringVector"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__isStringVector(CasADi::GenericType* obj)"
-// call: "obj->isStringVector()"
-extern "C"
-    bool* CasADi__GenericType__isStringVector(CasADi::GenericType* obj);
-bool* CasADi__GenericType__isStringVector(CasADi::GenericType* obj){
-
-    return new bool( obj->isStringVector() );
-}
-
-
-// ================== Normal method: "isSharedObject" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::isSharedObject"
-// cWrapperName: "CasADi__GenericType__isSharedObject"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__isSharedObject(CasADi::GenericType* obj)"
-// call: "obj->isSharedObject()"
-extern "C"
-    bool* CasADi__GenericType__isSharedObject(CasADi::GenericType* obj);
-bool* CasADi__GenericType__isSharedObject(CasADi::GenericType* obj){
-
-    return new bool( obj->isSharedObject() );
-}
-
-
-// ================== Normal method: "isDictionary" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::isDictionary"
-// cWrapperName: "CasADi__GenericType__isDictionary"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__isDictionary(CasADi::GenericType* obj)"
-// call: "obj->isDictionary()"
-extern "C"
-    bool* CasADi__GenericType__isDictionary(CasADi::GenericType* obj);
-bool* CasADi__GenericType__isDictionary(CasADi::GenericType* obj){
-
-    return new bool( obj->isDictionary() );
-}
-
-
-// ================== Normal method: "isFX" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::isFX"
-// cWrapperName: "CasADi__GenericType__isFX"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__isFX(CasADi::GenericType* obj)"
-// call: "obj->isFX()"
-extern "C"
-    bool* CasADi__GenericType__isFX(CasADi::GenericType* obj);
-bool* CasADi__GenericType__isFX(CasADi::GenericType* obj){
-
-    return new bool( obj->isFX() );
-}
-
-
-// ================== Normal method: "toBool" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::toBool"
-// cWrapperName: "CasADi__GenericType__toBool"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__toBool(CasADi::GenericType* obj)"
-// call: "obj->toBool()"
-extern "C"
-    bool* CasADi__GenericType__toBool(CasADi::GenericType* obj);
-bool* CasADi__GenericType__toBool(CasADi::GenericType* obj){
-
-    return new bool( obj->toBool() );
-}
-
-
-// ================== Normal method: "toInt" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::toInt"
-// cWrapperName: "CasADi__GenericType__toInt"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__GenericType__toInt(CasADi::GenericType* obj)"
-// call: "obj->toInt()"
-extern "C"
-    int CasADi__GenericType__toInt(CasADi::GenericType* obj);
-int CasADi__GenericType__toInt(CasADi::GenericType* obj){
-
-    return obj->toInt();
-}
-
-
-// ================== Normal method: "toDouble" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::toDouble"
-// cWrapperName: "CasADi__GenericType__toDouble"
-// protoArgs: "(CasADi::GenericType* obj)"
-// args: "()"
-// rettype: Val (NonVec CDouble)
-// cWrapperRetType: "double"
-// proto: "double CasADi__GenericType__toDouble(CasADi::GenericType* obj)"
-// call: "obj->toDouble()"
-extern "C"
-    double CasADi__GenericType__toDouble(CasADi::GenericType* obj);
-double CasADi__GenericType__toDouble(CasADi::GenericType* obj){
-
-    return obj->toDouble();
-}
-
-
-// ================== Normal method: "operator ==" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::operator =="
-// cWrapperName: "CasADi__GenericType__operator_equals"
-// protoArgs: "(CasADi::GenericType* obj, CasADi::GenericType* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__operator_equals(CasADi::GenericType* obj, CasADi::GenericType* x0)"
-// call: "obj->operator ==(x0_)"
-extern "C"
-    bool* CasADi__GenericType__operator_equals(CasADi::GenericType* obj, CasADi::GenericType* x0);
-bool* CasADi__GenericType__operator_equals(CasADi::GenericType* obj, CasADi::GenericType* x0){
-    CasADi::GenericType x0_ = Marshaling<CasADi::GenericType,CasADi::GenericType*>::marshal(x0);
-
-    return new bool( obj->operator ==(x0_) );
-}
-
-
-// ================== Normal method: "operator !=" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType::operator !="
-// cWrapperName: "CasADi__GenericType__operator_nequals"
-// protoArgs: "(CasADi::GenericType* obj, CasADi::GenericType* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__GenericType__operator_nequals(CasADi::GenericType* obj, CasADi::GenericType* x0)"
-// call: "obj->operator !=(x0_)"
-extern "C"
-    bool* CasADi__GenericType__operator_nequals(CasADi::GenericType* obj, CasADi::GenericType* x0);
-bool* CasADi__GenericType__operator_nequals(CasADi::GenericType* obj, CasADi::GenericType* x0){
-    CasADi::GenericType x0_ = Marshaling<CasADi::GenericType,CasADi::GenericType*>::marshal(x0);
-
-    return new bool( obj->operator !=(x0_) );
-}
-
-
-// ================== Constructor method: "GenericTypeBool" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType"
-// cWrapperName: "CasADi__GenericType__GenericTypeBool"
-// protoArgs: "(bool* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeBool(bool* x0)"
-// call: "CasADi::GenericType(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__GenericTypeBool(bool* x0);
-CasADi::GenericType* CasADi__GenericType__GenericTypeBool(bool* x0){
-    bool x0_ = Marshaling<bool,bool*>::marshal(x0);
-
-    return new CasADi::GenericType( CasADi::GenericType(x0_) );
-}
-
-
-// ================== Constructor method: "GenericTypeInt" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType"
-// cWrapperName: "CasADi__GenericType__GenericTypeInt"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeInt(int x0)"
-// call: "CasADi::GenericType(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__GenericTypeInt(int x0);
-CasADi::GenericType* CasADi__GenericType__GenericTypeInt(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::GenericType( CasADi::GenericType(x0_) );
-}
-
-
-// ================== Constructor method: "GenericTypeDouble" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType"
-// cWrapperName: "CasADi__GenericType__GenericTypeDouble"
-// protoArgs: "(double x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeDouble(double x0)"
-// call: "CasADi::GenericType(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__GenericTypeDouble(double x0);
-CasADi::GenericType* CasADi__GenericType__GenericTypeDouble(double x0){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-
-    return new CasADi::GenericType( CasADi::GenericType(x0_) );
-}
-
-
-// ================== Constructor method: "GenericTypeString" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType"
-// cWrapperName: "CasADi__GenericType__GenericTypeString"
-// protoArgs: "(std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeString(std::string* x0)"
-// call: "CasADi::GenericType(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__GenericTypeString(std::string* x0);
-CasADi::GenericType* CasADi__GenericType__GenericTypeString(std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new CasADi::GenericType( CasADi::GenericType(x0_) );
-}
-
-
-// ================== Constructor method: "GenericTypeBoolVec" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType"
-// cWrapperName: "CasADi__GenericType__GenericTypeBoolVec"
-// protoArgs: "(std::vector<bool* > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeBoolVec(std::vector<bool* > * x0)"
-// call: "CasADi::GenericType(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__GenericTypeBoolVec(std::vector<bool* > * x0);
-CasADi::GenericType* CasADi__GenericType__GenericTypeBoolVec(std::vector<bool* > * x0){
-    std::vector<bool > x0_ = Marshaling<std::vector<bool >,std::vector<bool* > *>::marshal(x0);
-
-    return new CasADi::GenericType( CasADi::GenericType(x0_) );
-}
-
-
-// ================== Constructor method: "GenericTypeIntVec" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType"
-// cWrapperName: "CasADi__GenericType__GenericTypeIntVec"
-// protoArgs: "(std::vector<int > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeIntVec(std::vector<int > * x0)"
-// call: "CasADi::GenericType(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__GenericTypeIntVec(std::vector<int > * x0);
-CasADi::GenericType* CasADi__GenericType__GenericTypeIntVec(std::vector<int > * x0){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-
-    return new CasADi::GenericType( CasADi::GenericType(x0_) );
-}
-
-
-// ================== Constructor method: "GenericTypeDoubleVec" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType"
-// cWrapperName: "CasADi__GenericType__GenericTypeDoubleVec"
-// protoArgs: "(std::vector<double > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeDoubleVec(std::vector<double > * x0)"
-// call: "CasADi::GenericType(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__GenericTypeDoubleVec(std::vector<double > * x0);
-CasADi::GenericType* CasADi__GenericType__GenericTypeDoubleVec(std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return new CasADi::GenericType( CasADi::GenericType(x0_) );
-}
-
-
-// ================== Constructor method: "GenericTypeStringVec" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType"
-// cWrapperName: "CasADi__GenericType__GenericTypeStringVec"
-// protoArgs: "(std::vector<std::string* > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeStringVec(std::vector<std::string* > * x0)"
-// call: "CasADi::GenericType(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__GenericTypeStringVec(std::vector<std::string* > * x0);
-CasADi::GenericType* CasADi__GenericType__GenericTypeStringVec(std::vector<std::string* > * x0){
-    std::vector<std::string > x0_ = Marshaling<std::vector<std::string >,std::vector<std::string* > *>::marshal(x0);
-
-    return new CasADi::GenericType( CasADi::GenericType(x0_) );
-}
-
-
-// ================== Constructor method: "GenericTypeFX" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType"
-// cWrapperName: "CasADi__GenericType__GenericTypeFX"
-// protoArgs: "(CasADi::FX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeFX(CasADi::FX* x0)"
-// call: "CasADi::GenericType(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__GenericTypeFX(CasADi::FX* x0);
-CasADi::GenericType* CasADi__GenericType__GenericTypeFX(CasADi::FX* x0){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-
-    return new CasADi::GenericType( CasADi::GenericType(x0_) );
-}
-
-
-// ================== Constructor method: "GenericTypeCallback" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType"
-// cWrapperName: "CasADi__GenericType__GenericTypeCallback"
-// protoArgs: "(CasADi::Callback* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeCallback(CasADi::Callback* x0)"
-// call: "CasADi::GenericType(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__GenericTypeCallback(CasADi::Callback* x0);
-CasADi::GenericType* CasADi__GenericType__GenericTypeCallback(CasADi::Callback* x0){
-    CasADi::Callback x0_ = Marshaling<CasADi::Callback,CasADi::Callback*>::marshal(x0);
-
-    return new CasADi::GenericType( CasADi::GenericType(x0_) );
-}
-
-
-// ================== Constructor method: "GenericType" ===============
-// class: "CasADi::GenericType"
-// cppName: "CasADi::GenericType"
-// cWrapperName: "CasADi__GenericType__GenericType"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__GenericType__GenericType()"
-// call: "CasADi::GenericType()"
-extern "C"
-    CasADi::GenericType* CasADi__GenericType__GenericType();
-CasADi::GenericType* CasADi__GenericType__GenericType(){
-
-    return new CasADi::GenericType( CasADi::GenericType() );
-}
-
-
-// ================== delete CasadiClass IOInterfaceFX===============
-// classType: CasadiClass IOInterfaceFX
-extern "C"
-    void delete_CasADi__IOInterface_CasADi__FX_(CasADi::IOInterface< CasADi::FX >* obj);
-void delete_CasADi__IOInterface_CasADi__FX_(CasADi::IOInterface< CasADi::FX >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__IOInterface_CasADi__FX__(std::vector<CasADi::IOInterface< CasADi::FX >* >* obj);
-void delete_std__vector_CasADi__IOInterface_CasADi__FX__(std::vector<CasADi::IOInterface< CasADi::FX >* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__IOInterface_CasADi__FX___(std::vector<std::vector<CasADi::IOInterface< CasADi::FX >* > >* obj);
-void delete_std__vector_std__vector_CasADi__IOInterface_CasADi__FX___(std::vector<std::vector<CasADi::IOInterface< CasADi::FX >* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__IOInterface_CasADi__FX____(std::vector<std::vector<std::vector<CasADi::IOInterface< CasADi::FX >* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__IOInterface_CasADi__FX____(std::vector<std::vector<std::vector<CasADi::IOInterface< CasADi::FX >* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "input" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::input"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___input"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input(CasADi::IOInterface< CasADi::FX >* obj, int x0)"
-// call: "obj->input(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input(CasADi::IOInterface< CasADi::FX >* obj, int x0);
-CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input(CasADi::IOInterface< CasADi::FX >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->input(x0_) );
-}
-
-
-// ================== Normal method: "input'" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::input'"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___input_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC(CasADi::IOInterface< CasADi::FX >* obj)"
-// call: "obj->input()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC(CasADi::IOInterface< CasADi::FX >* obj);
-CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC(CasADi::IOInterface< CasADi::FX >* obj){
-
-    return new CasADi::Matrix< double >( obj->input() );
-}
-
-
-// ================== Normal method: "input''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::input''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___input_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
-// call: "obj->input(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0);
-CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->input(x0_) );
-}
-
-
-// ================== Normal method: "output" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::output"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___output"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output(CasADi::IOInterface< CasADi::FX >* obj, int x0)"
-// call: "obj->output(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output(CasADi::IOInterface< CasADi::FX >* obj, int x0);
-CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output(CasADi::IOInterface< CasADi::FX >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->output(x0_) );
-}
-
-
-// ================== Normal method: "output'" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::output'"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___output_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC(CasADi::IOInterface< CasADi::FX >* obj)"
-// call: "obj->output()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC(CasADi::IOInterface< CasADi::FX >* obj);
-CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC(CasADi::IOInterface< CasADi::FX >* obj){
-
-    return new CasADi::Matrix< double >( obj->output() );
-}
-
-
-// ================== Normal method: "output''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::output''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___output_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
-// call: "obj->output(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0);
-CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->output(x0_) );
-}
-
-
-// ================== Normal method: "getNumInputs" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::getNumInputs"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___getNumInputs"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__IOInterface_CasADi__FX___getNumInputs(CasADi::IOInterface< CasADi::FX >* obj)"
-// call: "obj->getNumInputs()"
-extern "C"
-    int CasADi__IOInterface_CasADi__FX___getNumInputs(CasADi::IOInterface< CasADi::FX >* obj);
-int CasADi__IOInterface_CasADi__FX___getNumInputs(CasADi::IOInterface< CasADi::FX >* obj){
-
-    return obj->getNumInputs();
-}
-
-
-// ================== Normal method: "getNumOutputs" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::getNumOutputs"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___getNumOutputs"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__IOInterface_CasADi__FX___getNumOutputs(CasADi::IOInterface< CasADi::FX >* obj)"
-// call: "obj->getNumOutputs()"
-extern "C"
-    int CasADi__IOInterface_CasADi__FX___getNumOutputs(CasADi::IOInterface< CasADi::FX >* obj);
-int CasADi__IOInterface_CasADi__FX___getNumOutputs(CasADi::IOInterface< CasADi::FX >* obj){
-
-    return obj->getNumOutputs();
-}
-
-
-// ================== Normal method: "getInputScheme" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::getInputScheme"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___getInputScheme"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass IOScheme))
-// cWrapperRetType: "CasADi::IOScheme*"
-// proto: "CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getInputScheme(CasADi::IOInterface< CasADi::FX >* obj)"
-// call: "obj->getInputScheme()"
-extern "C"
-    CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getInputScheme(CasADi::IOInterface< CasADi::FX >* obj);
-CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getInputScheme(CasADi::IOInterface< CasADi::FX >* obj){
-
-    return new CasADi::IOScheme( obj->getInputScheme() );
-}
-
-
-// ================== Normal method: "getOutputScheme" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::getOutputScheme"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___getOutputScheme"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass IOScheme))
-// cWrapperRetType: "CasADi::IOScheme*"
-// proto: "CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getOutputScheme(CasADi::IOInterface< CasADi::FX >* obj)"
-// call: "obj->getOutputScheme()"
-extern "C"
-    CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getOutputScheme(CasADi::IOInterface< CasADi::FX >* obj);
-CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getOutputScheme(CasADi::IOInterface< CasADi::FX >* obj){
-
-    return new CasADi::IOScheme( obj->getOutputScheme() );
-}
-
-
-// ================== Normal method: "inputSchemeEntry" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::inputSchemeEntry"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___inputSchemeEntry"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__IOInterface_CasADi__FX___inputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
-// call: "obj->inputSchemeEntry(x0_)"
-extern "C"
-    int CasADi__IOInterface_CasADi__FX___inputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0);
-int CasADi__IOInterface_CasADi__FX___inputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return obj->inputSchemeEntry(x0_);
-}
-
-
-// ================== Normal method: "outputSchemeEntry" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::outputSchemeEntry"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___outputSchemeEntry"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__IOInterface_CasADi__FX___outputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
-// call: "obj->outputSchemeEntry(x0_)"
-extern "C"
-    int CasADi__IOInterface_CasADi__FX___outputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0);
-int CasADi__IOInterface_CasADi__FX___outputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return obj->outputSchemeEntry(x0_);
-}
-
-
-// ================== Normal method: "schemeEntry" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::schemeEntry"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___schemeEntry"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::IOScheme* x0, std::string* x1, bool* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__IOInterface_CasADi__FX___schemeEntry(CasADi::IOInterface< CasADi::FX >* obj, CasADi::IOScheme* x0, std::string* x1, bool* x2)"
-// call: "obj->schemeEntry(x0_, x1_, x2_)"
-extern "C"
-    int CasADi__IOInterface_CasADi__FX___schemeEntry(CasADi::IOInterface< CasADi::FX >* obj, CasADi::IOScheme* x0, std::string* x1, bool* x2);
-int CasADi__IOInterface_CasADi__FX___schemeEntry(CasADi::IOInterface< CasADi::FX >* obj, CasADi::IOScheme* x0, std::string* x1, bool* x2){
-    CasADi::IOScheme x0_ = Marshaling<CasADi::IOScheme,CasADi::IOScheme*>::marshal(x0);
-    std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
-    bool x2_ = Marshaling<bool,bool*>::marshal(x2);
-
-    return obj->schemeEntry(x0_, x1_, x2_);
-}
-
-
-// ================== Normal method: "setInput" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setInput"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setInput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1)"
-// call: "obj->setInput(x0_, x1_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setInput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1);
-void CasADi__IOInterface_CasADi__FX___setInput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->setInput(x0_, x1_);
-}
-
-
-// ================== Normal method: "setInput'" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setInput'"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, double x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0)"
-// call: "obj->setInput(x0_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setInput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0);
-void CasADi__IOInterface_CasADi__FX___setInput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-
-    return obj->setInput(x0_);
-}
-
-
-// ================== Normal method: "setOutput" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setOutput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1)"
-// call: "obj->setOutput(x0_, x1_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setOutput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1);
-void CasADi__IOInterface_CasADi__FX___setOutput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->setOutput(x0_, x1_);
-}
-
-
-// ================== Normal method: "setOutput'" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput'"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, double x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0)"
-// call: "obj->setOutput(x0_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setOutput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0);
-void CasADi__IOInterface_CasADi__FX___setOutput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-
-    return obj->setOutput(x0_);
-}
-
-
-// ================== Normal method: "setOutput''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, double x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0, std::string* x1)"
-// call: "obj->setOutput(x0_, x1_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0, std::string* x1);
-void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0, std::string* x1){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-    std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
-
-    return obj->setOutput(x0_, x1_);
-}
-
-
-// ================== Normal method: "setInput'''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setInput'''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, int x1)"
-// call: "obj->setInput(x0_, x1_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, int x1);
-void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, int x1){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->setInput(x0_, x1_);
-}
-
-
-// ================== Normal method: "setInput''''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setInput''''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0)"
-// call: "obj->setInput(x0_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0);
-void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return obj->setInput(x0_);
-}
-
-
-// ================== Normal method: "setOutput'''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput'''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, int x1)"
-// call: "obj->setOutput(x0_, x1_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, int x1);
-void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, int x1){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->setOutput(x0_, x1_);
-}
-
-
-// ================== Normal method: "setOutput''''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput''''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0)"
-// call: "obj->setOutput(x0_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0);
-void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return obj->setOutput(x0_);
-}
-
-
-// ================== Normal method: "setInput'''''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setInput'''''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, std::string* x1)"
-// call: "obj->setInput(x0_, x1_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, std::string* x1);
-void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, std::string* x1){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-    std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
-
-    return obj->setInput(x0_, x1_);
-}
-
-
-// ================== Normal method: "setOutput'''''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput'''''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, std::string* x1)"
-// call: "obj->setOutput(x0_, x1_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, std::string* x1);
-void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector<double > * x0, std::string* x1){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-    std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
-
-    return obj->setOutput(x0_, x1_);
-}
-
-
-// ================== Normal method: "setInput''''''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setInput''''''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1)"
-// call: "obj->setInput(x0_, x1_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1);
-void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->setInput(x0_, x1_);
-}
-
-
-// ================== Normal method: "setInput'''''''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setInput'''''''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->setInput(x0_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0);
-void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return obj->setInput(x0_);
-}
-
-
-// ================== Normal method: "setOutput''''''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput''''''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1)"
-// call: "obj->setOutput(x0_, x1_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1);
-void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->setOutput(x0_, x1_);
-}
-
-
-// ================== Normal method: "setOutput'''''''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput'''''''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->setOutput(x0_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0);
-void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return obj->setOutput(x0_);
-}
-
-
-// ================== Normal method: "setInput''''''''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setInput''''''''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1)"
-// call: "obj->setInput(x0_, x1_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1);
-void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
-
-    return obj->setInput(x0_, x1_);
-}
-
-
-// ================== Normal method: "setOutput''''''''" ===============
-// class: "CasADi::IOInterface< CasADi::FX >"
-// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput''''''''"
-// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1)"
-// call: "obj->setOutput(x0_, x1_)"
-extern "C"
-    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1);
-void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
-
-    return obj->setOutput(x0_, x1_);
-}
-
-
-// ================== delete CasadiClass OptionsFunctionality===============
-// classType: CasadiClass OptionsFunctionality
-extern "C"
-    void delete_CasADi__OptionsFunctionality(CasADi::OptionsFunctionality* obj);
-void delete_CasADi__OptionsFunctionality(CasADi::OptionsFunctionality* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__OptionsFunctionality_(std::vector<CasADi::OptionsFunctionality* >* obj);
-void delete_std__vector_CasADi__OptionsFunctionality_(std::vector<CasADi::OptionsFunctionality* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__OptionsFunctionality__(std::vector<std::vector<CasADi::OptionsFunctionality* > >* obj);
-void delete_std__vector_std__vector_CasADi__OptionsFunctionality__(std::vector<std::vector<CasADi::OptionsFunctionality* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__OptionsFunctionality___(std::vector<std::vector<std::vector<CasADi::OptionsFunctionality* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__OptionsFunctionality___(std::vector<std::vector<std::vector<CasADi::OptionsFunctionality* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "setOption" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::setOption"
-// cWrapperName: "CasADi__OptionsFunctionality__setOption"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0, CasADi::GenericType* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__OptionsFunctionality__setOption(CasADi::OptionsFunctionality* obj, std::string* x0, CasADi::GenericType* x1)"
-// call: "obj->setOption(x0_, x1_)"
-extern "C"
-    void CasADi__OptionsFunctionality__setOption(CasADi::OptionsFunctionality* obj, std::string* x0, CasADi::GenericType* x1);
-void CasADi__OptionsFunctionality__setOption(CasADi::OptionsFunctionality* obj, std::string* x0, CasADi::GenericType* x1){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    CasADi::GenericType x1_ = Marshaling<CasADi::GenericType,CasADi::GenericType*>::marshal(x1);
-
-    return obj->setOption(x0_, x1_);
-}
-
-
-// ================== Normal method: "getOption" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::getOption"
-// cWrapperName: "CasADi__OptionsFunctionality__getOption"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__OptionsFunctionality__getOption(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// call: "obj->getOption(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__OptionsFunctionality__getOption(CasADi::OptionsFunctionality* obj, std::string* x0);
-CasADi::GenericType* CasADi__OptionsFunctionality__getOption(CasADi::OptionsFunctionality* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new CasADi::GenericType( obj->getOption(x0_) );
-}
-
-
-// ================== Normal method: "hasOption" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::hasOption"
-// cWrapperName: "CasADi__OptionsFunctionality__hasOption"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__OptionsFunctionality__hasOption(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// call: "obj->hasOption(x0_)"
-extern "C"
-    bool* CasADi__OptionsFunctionality__hasOption(CasADi::OptionsFunctionality* obj, std::string* x0);
-bool* CasADi__OptionsFunctionality__hasOption(CasADi::OptionsFunctionality* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new bool( obj->hasOption(x0_) );
-}
-
-
-// ================== Normal method: "hasSetOption" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::hasSetOption"
-// cWrapperName: "CasADi__OptionsFunctionality__hasSetOption"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__OptionsFunctionality__hasSetOption(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// call: "obj->hasSetOption(x0_)"
-extern "C"
-    bool* CasADi__OptionsFunctionality__hasSetOption(CasADi::OptionsFunctionality* obj, std::string* x0);
-bool* CasADi__OptionsFunctionality__hasSetOption(CasADi::OptionsFunctionality* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new bool( obj->hasSetOption(x0_) );
-}
-
-
-// ================== Normal method: "printOptions'" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::printOptions'"
-// cWrapperName: "CasADi__OptionsFunctionality__printOptions_TIC"
-// protoArgs: "(CasADi::OptionsFunctionality* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__OptionsFunctionality__printOptions_TIC(CasADi::OptionsFunctionality* obj)"
-// call: "obj->printOptions()"
-extern "C"
-    void CasADi__OptionsFunctionality__printOptions_TIC(CasADi::OptionsFunctionality* obj);
-void CasADi__OptionsFunctionality__printOptions_TIC(CasADi::OptionsFunctionality* obj){
-
-    return obj->printOptions();
-}
-
-
-// ================== Normal method: "copyOptions" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::copyOptions"
-// cWrapperName: "CasADi__OptionsFunctionality__copyOptions"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0, bool* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__OptionsFunctionality__copyOptions(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0, bool* x1)"
-// call: "obj->copyOptions(x0_, x1_)"
-extern "C"
-    void CasADi__OptionsFunctionality__copyOptions(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0, bool* x1);
-void CasADi__OptionsFunctionality__copyOptions(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0, bool* x1){
-    CasADi::OptionsFunctionality x0_ = Marshaling<CasADi::OptionsFunctionality,CasADi::OptionsFunctionality*>::marshal(x0);
-    bool x1_ = Marshaling<bool,bool*>::marshal(x1);
-
-    return obj->copyOptions(x0_, x1_);
-}
-
-
-// ================== Normal method: "copyOptions'" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::copyOptions'"
-// cWrapperName: "CasADi__OptionsFunctionality__copyOptions_TIC"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__OptionsFunctionality__copyOptions_TIC(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0)"
-// call: "obj->copyOptions(x0_)"
-extern "C"
-    void CasADi__OptionsFunctionality__copyOptions_TIC(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0);
-void CasADi__OptionsFunctionality__copyOptions_TIC(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0){
-    CasADi::OptionsFunctionality x0_ = Marshaling<CasADi::OptionsFunctionality,CasADi::OptionsFunctionality*>::marshal(x0);
-
-    return obj->copyOptions(x0_);
-}
-
-
-// ================== Normal method: "checkNode" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::checkNode"
-// cWrapperName: "CasADi__OptionsFunctionality__checkNode"
-// protoArgs: "(CasADi::OptionsFunctionality* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__OptionsFunctionality__checkNode(CasADi::OptionsFunctionality* obj)"
-// call: "obj->checkNode()"
-extern "C"
-    bool* CasADi__OptionsFunctionality__checkNode(CasADi::OptionsFunctionality* obj);
-bool* CasADi__OptionsFunctionality__checkNode(CasADi::OptionsFunctionality* obj){
-
-    return new bool( obj->checkNode() );
-}
-
-
-// ================== Normal method: "getOptionNames" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::getOptionNames"
-// cWrapperName: "CasADi__OptionsFunctionality__getOptionNames"
-// protoArgs: "(CasADi::OptionsFunctionality* obj)"
-// args: "()"
-// rettype: Val (Vec (NonVec StdString))
-// cWrapperRetType: "std::vector<std::string >*"
-// proto: "std::vector<std::string >* CasADi__OptionsFunctionality__getOptionNames(CasADi::OptionsFunctionality* obj)"
-// call: "obj->getOptionNames()"
-extern "C"
-    std::vector<std::string >* CasADi__OptionsFunctionality__getOptionNames(CasADi::OptionsFunctionality* obj);
-std::vector<std::string >* CasADi__OptionsFunctionality__getOptionNames(CasADi::OptionsFunctionality* obj){
-
-    return new std::vector<std::string >( obj->getOptionNames() );
-}
-
-
-// ================== Normal method: "getOptionDescription" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::getOptionDescription"
-// cWrapperName: "CasADi__OptionsFunctionality__getOptionDescription"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__OptionsFunctionality__getOptionDescription(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// call: "obj->getOptionDescription(x0_)"
-extern "C"
-    std::string* CasADi__OptionsFunctionality__getOptionDescription(CasADi::OptionsFunctionality* obj, std::string* x0);
-std::string* CasADi__OptionsFunctionality__getOptionDescription(CasADi::OptionsFunctionality* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new std::string( obj->getOptionDescription(x0_) );
-}
-
-
-// ================== Normal method: "getOptionType" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::getOptionType"
-// cWrapperName: "CasADi__OptionsFunctionality__getOptionType"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiEnum Opt_type))
-// cWrapperRetType: "CasADi::opt_type"
-// proto: "CasADi::opt_type CasADi__OptionsFunctionality__getOptionType(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// call: "obj->getOptionType(x0_)"
-extern "C"
-    CasADi::opt_type CasADi__OptionsFunctionality__getOptionType(CasADi::OptionsFunctionality* obj, std::string* x0);
-CasADi::opt_type CasADi__OptionsFunctionality__getOptionType(CasADi::OptionsFunctionality* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return obj->getOptionType(x0_);
-}
-
-
-// ================== Normal method: "getOptionTypeName" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::getOptionTypeName"
-// cWrapperName: "CasADi__OptionsFunctionality__getOptionTypeName"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__OptionsFunctionality__getOptionTypeName(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// call: "obj->getOptionTypeName(x0_)"
-extern "C"
-    std::string* CasADi__OptionsFunctionality__getOptionTypeName(CasADi::OptionsFunctionality* obj, std::string* x0);
-std::string* CasADi__OptionsFunctionality__getOptionTypeName(CasADi::OptionsFunctionality* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new std::string( obj->getOptionTypeName(x0_) );
-}
-
-
-// ================== Normal method: "getOptionAllowed" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::getOptionAllowed"
-// cWrapperName: "CasADi__OptionsFunctionality__getOptionAllowed"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (Vec (NonVec (CasadiClass GenericType)))
-// cWrapperRetType: "std::vector<CasADi::GenericType >*"
-// proto: "std::vector<CasADi::GenericType >* CasADi__OptionsFunctionality__getOptionAllowed(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// call: "obj->getOptionAllowed(x0_)"
-extern "C"
-    std::vector<CasADi::GenericType >* CasADi__OptionsFunctionality__getOptionAllowed(CasADi::OptionsFunctionality* obj, std::string* x0);
-std::vector<CasADi::GenericType >* CasADi__OptionsFunctionality__getOptionAllowed(CasADi::OptionsFunctionality* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new std::vector<CasADi::GenericType >( obj->getOptionAllowed(x0_) );
-}
-
-
-// ================== Normal method: "getOptionAllowedIndex" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::getOptionAllowedIndex"
-// cWrapperName: "CasADi__OptionsFunctionality__getOptionAllowedIndex"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__OptionsFunctionality__getOptionAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// call: "obj->getOptionAllowedIndex(x0_)"
-extern "C"
-    int CasADi__OptionsFunctionality__getOptionAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0);
-int CasADi__OptionsFunctionality__getOptionAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return obj->getOptionAllowedIndex(x0_);
-}
-
-
-// ================== Normal method: "setOptionByAllowedIndex" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::setOptionByAllowedIndex"
-// cWrapperName: "CasADi__OptionsFunctionality__setOptionByAllowedIndex"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__OptionsFunctionality__setOptionByAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0, int x1)"
-// call: "obj->setOptionByAllowedIndex(x0_, x1_)"
-extern "C"
-    void CasADi__OptionsFunctionality__setOptionByAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0, int x1);
-void CasADi__OptionsFunctionality__setOptionByAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0, int x1){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->setOptionByAllowedIndex(x0_, x1_);
-}
-
-
-// ================== Normal method: "getOptionEnumValue" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::getOptionEnumValue"
-// cWrapperName: "CasADi__OptionsFunctionality__getOptionEnumValue"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__OptionsFunctionality__getOptionEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// call: "obj->getOptionEnumValue(x0_)"
-extern "C"
-    int CasADi__OptionsFunctionality__getOptionEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0);
-int CasADi__OptionsFunctionality__getOptionEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return obj->getOptionEnumValue(x0_);
-}
-
-
-// ================== Normal method: "setOptionByEnumValue" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::setOptionByEnumValue"
-// cWrapperName: "CasADi__OptionsFunctionality__setOptionByEnumValue"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__OptionsFunctionality__setOptionByEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0, int x1)"
-// call: "obj->setOptionByEnumValue(x0_, x1_)"
-extern "C"
-    void CasADi__OptionsFunctionality__setOptionByEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0, int x1);
-void CasADi__OptionsFunctionality__setOptionByEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0, int x1){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->setOptionByEnumValue(x0_, x1_);
-}
-
-
-// ================== Normal method: "getOptionDefault" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality::getOptionDefault"
-// cWrapperName: "CasADi__OptionsFunctionality__getOptionDefault"
-// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass GenericType))
-// cWrapperRetType: "CasADi::GenericType*"
-// proto: "CasADi::GenericType* CasADi__OptionsFunctionality__getOptionDefault(CasADi::OptionsFunctionality* obj, std::string* x0)"
-// call: "obj->getOptionDefault(x0_)"
-extern "C"
-    CasADi::GenericType* CasADi__OptionsFunctionality__getOptionDefault(CasADi::OptionsFunctionality* obj, std::string* x0);
-CasADi::GenericType* CasADi__OptionsFunctionality__getOptionDefault(CasADi::OptionsFunctionality* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new CasADi::GenericType( obj->getOptionDefault(x0_) );
-}
-
-
-// ================== Constructor method: "OptionsFunctionality" ===============
-// class: "CasADi::OptionsFunctionality"
-// cppName: "CasADi::OptionsFunctionality"
-// cWrapperName: "CasADi__OptionsFunctionality__OptionsFunctionality"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass OptionsFunctionality))
-// cWrapperRetType: "CasADi::OptionsFunctionality*"
-// proto: "CasADi::OptionsFunctionality* CasADi__OptionsFunctionality__OptionsFunctionality()"
-// call: "CasADi::OptionsFunctionality()"
-extern "C"
-    CasADi::OptionsFunctionality* CasADi__OptionsFunctionality__OptionsFunctionality();
-CasADi::OptionsFunctionality* CasADi__OptionsFunctionality__OptionsFunctionality(){
-
-    return new CasADi::OptionsFunctionality( CasADi::OptionsFunctionality() );
-}
-
-
-// ================== delete CasadiClass IpoptSolver===============
-// classType: CasadiClass IpoptSolver
-extern "C"
-    void delete_CasADi__IpoptSolver(CasADi::IpoptSolver* obj);
-void delete_CasADi__IpoptSolver(CasADi::IpoptSolver* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__IpoptSolver_(std::vector<CasADi::IpoptSolver* >* obj);
-void delete_std__vector_CasADi__IpoptSolver_(std::vector<CasADi::IpoptSolver* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__IpoptSolver__(std::vector<std::vector<CasADi::IpoptSolver* > >* obj);
-void delete_std__vector_std__vector_CasADi__IpoptSolver__(std::vector<std::vector<CasADi::IpoptSolver* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__IpoptSolver___(std::vector<std::vector<std::vector<CasADi::IpoptSolver* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__IpoptSolver___(std::vector<std::vector<std::vector<CasADi::IpoptSolver* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "getReducedHessian" ===============
-// class: "CasADi::IpoptSolver"
-// cppName: "CasADi::IpoptSolver::getReducedHessian"
-// cWrapperName: "CasADi__IpoptSolver__getReducedHessian"
-// protoArgs: "(CasADi::IpoptSolver* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__IpoptSolver__getReducedHessian(CasADi::IpoptSolver* obj)"
-// call: "obj->getReducedHessian()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__IpoptSolver__getReducedHessian(CasADi::IpoptSolver* obj);
-CasADi::Matrix< double >* CasADi__IpoptSolver__getReducedHessian(CasADi::IpoptSolver* obj){
-
-    return new CasADi::Matrix< double >( obj->getReducedHessian() );
-}
-
-
-// ================== Normal method: "checkNode" ===============
-// class: "CasADi::IpoptSolver"
-// cppName: "CasADi::IpoptSolver::checkNode"
-// cWrapperName: "CasADi__IpoptSolver__checkNode"
-// protoArgs: "(CasADi::IpoptSolver* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__IpoptSolver__checkNode(CasADi::IpoptSolver* obj)"
-// call: "obj->checkNode()"
-extern "C"
-    bool* CasADi__IpoptSolver__checkNode(CasADi::IpoptSolver* obj);
-bool* CasADi__IpoptSolver__checkNode(CasADi::IpoptSolver* obj){
-
-    return new bool( obj->checkNode() );
-}
-
-
-// ================== Constructor method: "IpoptSolver" ===============
-// class: "CasADi::IpoptSolver"
-// cppName: "CasADi::IpoptSolver"
-// cWrapperName: "CasADi__IpoptSolver__IpoptSolver"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass IpoptSolver))
-// cWrapperRetType: "CasADi::IpoptSolver*"
-// proto: "CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver()"
-// call: "CasADi::IpoptSolver()"
-extern "C"
-    CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver();
-CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver(){
-
-    return new CasADi::IpoptSolver( CasADi::IpoptSolver() );
-}
-
-
-// ================== Constructor method: "IpoptSolver'" ===============
-// class: "CasADi::IpoptSolver"
-// cppName: "CasADi::IpoptSolver"
-// cWrapperName: "CasADi__IpoptSolver__IpoptSolver_TIC"
-// protoArgs: "(CasADi::FX* x0, CasADi::FX* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass IpoptSolver))
-// cWrapperRetType: "CasADi::IpoptSolver*"
-// proto: "CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC(CasADi::FX* x0, CasADi::FX* x1)"
-// call: "CasADi::IpoptSolver(x0_, x1_)"
-extern "C"
-    CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC(CasADi::FX* x0, CasADi::FX* x1);
-CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC(CasADi::FX* x0, CasADi::FX* x1){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-    CasADi::FX x1_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x1);
-
-    return new CasADi::IpoptSolver( CasADi::IpoptSolver(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "IpoptSolver''" ===============
-// class: "CasADi::IpoptSolver"
-// cppName: "CasADi::IpoptSolver"
-// cWrapperName: "CasADi__IpoptSolver__IpoptSolver_TIC_TIC"
-// protoArgs: "(CasADi::FX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass IpoptSolver))
-// cWrapperRetType: "CasADi::IpoptSolver*"
-// proto: "CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC_TIC(CasADi::FX* x0)"
-// call: "CasADi::IpoptSolver(x0_)"
-extern "C"
-    CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC_TIC(CasADi::FX* x0);
-CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC_TIC(CasADi::FX* x0){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-
-    return new CasADi::IpoptSolver( CasADi::IpoptSolver(x0_) );
-}
-
-
-// ================== delete CasadiClass SXMatrix===============
-// classType: CasadiClass SXMatrix
-extern "C"
-    void delete_CasADi__Matrix_CasADi__SX_(CasADi::Matrix< CasADi::SX >* obj);
-void delete_CasADi__Matrix_CasADi__SX_(CasADi::Matrix< CasADi::SX >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__Matrix_CasADi__SX__(std::vector<CasADi::Matrix< CasADi::SX >* >* obj);
-void delete_std__vector_CasADi__Matrix_CasADi__SX__(std::vector<CasADi::Matrix< CasADi::SX >* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__Matrix_CasADi__SX___(std::vector<std::vector<CasADi::Matrix< CasADi::SX >* > >* obj);
-void delete_std__vector_std__vector_CasADi__Matrix_CasADi__SX___(std::vector<std::vector<CasADi::Matrix< CasADi::SX >* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__Matrix_CasADi__SX____(std::vector<std::vector<std::vector<CasADi::Matrix< CasADi::SX >* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__Matrix_CasADi__SX____(std::vector<std::vector<std::vector<CasADi::Matrix< CasADi::SX >* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "size1" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::size1"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___size1"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_CasADi__SX___size1(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->size1()"
-extern "C"
-    int CasADi__Matrix_CasADi__SX___size1(CasADi::Matrix< CasADi::SX >* obj);
-int CasADi__Matrix_CasADi__SX___size1(CasADi::Matrix< CasADi::SX >* obj){
-
-    return obj->size1();
-}
-
-
-// ================== Normal method: "size2" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::size2"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___size2"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_CasADi__SX___size2(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->size2()"
-extern "C"
-    int CasADi__Matrix_CasADi__SX___size2(CasADi::Matrix< CasADi::SX >* obj);
-int CasADi__Matrix_CasADi__SX___size2(CasADi::Matrix< CasADi::SX >* obj){
-
-    return obj->size2();
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::size"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___size"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_CasADi__SX___size(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->size()"
-extern "C"
-    int CasADi__Matrix_CasADi__SX___size(CasADi::Matrix< CasADi::SX >* obj);
-int CasADi__Matrix_CasADi__SX___size(CasADi::Matrix< CasADi::SX >* obj){
-
-    return obj->size();
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::numel"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___numel"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_CasADi__SX___numel(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->numel()"
-extern "C"
-    int CasADi__Matrix_CasADi__SX___numel(CasADi::Matrix< CasADi::SX >* obj);
-int CasADi__Matrix_CasADi__SX___numel(CasADi::Matrix< CasADi::SX >* obj){
-
-    return obj->numel();
-}
-
-
-// ================== Normal method: "sanityCheck" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::sanityCheck"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___sanityCheck"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, bool* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___sanityCheck(CasADi::Matrix< CasADi::SX >* obj, bool* x0)"
-// call: "obj->sanityCheck(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___sanityCheck(CasADi::Matrix< CasADi::SX >* obj, bool* x0);
-void CasADi__Matrix_CasADi__SX___sanityCheck(CasADi::Matrix< CasADi::SX >* obj, bool* x0){
-    bool x0_ = Marshaling<bool,bool*>::marshal(x0);
-
-    return obj->sanityCheck(x0_);
-}
-
-
-// ================== Normal method: "sanityCheck'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::sanityCheck'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___sanityCheck_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___sanityCheck_TIC(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->sanityCheck()"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___sanityCheck_TIC(CasADi::Matrix< CasADi::SX >* obj);
-void CasADi__Matrix_CasADi__SX___sanityCheck_TIC(CasADi::Matrix< CasADi::SX >* obj){
-
-    return obj->sanityCheck();
-}
-
-
-// ================== Normal method: "vector" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::vector"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___vector"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__Matrix_CasADi__SX___vector(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->vector()"
-extern "C"
-    bool* CasADi__Matrix_CasADi__SX___vector(CasADi::Matrix< CasADi::SX >* obj);
-bool* CasADi__Matrix_CasADi__SX___vector(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new bool( obj->vector() );
-}
-
-
-// ================== Normal method: "at" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::at"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___at"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__Matrix_CasADi__SX___at(CasADi::Matrix< CasADi::SX >* obj, int x0)"
-// call: "obj->at(x0_)"
-extern "C"
-    CasADi::SX* CasADi__Matrix_CasADi__SX___at(CasADi::Matrix< CasADi::SX >* obj, int x0);
-CasADi::SX* CasADi__Matrix_CasADi__SX___at(CasADi::Matrix< CasADi::SX >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::SX( obj->at(x0_) );
-}
-
-
-// ================== Normal method: "elem" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::elem"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___elem"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__Matrix_CasADi__SX___elem(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
-// call: "obj->elem(x0_, x1_)"
-extern "C"
-    CasADi::SX* CasADi__Matrix_CasADi__SX___elem(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1);
-CasADi::SX* CasADi__Matrix_CasADi__SX___elem(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::SX( obj->elem(x0_, x1_) );
-}
-
-
-// ================== Normal method: "elem'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::elem'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___elem_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__Matrix_CasADi__SX___elem_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0)"
-// call: "obj->elem(x0_)"
-extern "C"
-    CasADi::SX* CasADi__Matrix_CasADi__SX___elem_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0);
-CasADi::SX* CasADi__Matrix_CasADi__SX___elem_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::SX( obj->elem(x0_) );
-}
-
-
-// ================== Normal method: "hasNZ" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::hasNZ"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___hasNZ"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__Matrix_CasADi__SX___hasNZ(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
-// call: "obj->hasNZ(x0_, x1_)"
-extern "C"
-    bool* CasADi__Matrix_CasADi__SX___hasNZ(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1);
-bool* CasADi__Matrix_CasADi__SX___hasNZ(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new bool( obj->hasNZ(x0_, x1_) );
-}
-
-
-// ================== Normal method: "__nonzero__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__nonzero__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____nonzero__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__Matrix_CasADi__SX_____nonzero__(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->__nonzero__()"
-extern "C"
-    bool* CasADi__Matrix_CasADi__SX_____nonzero__(CasADi::Matrix< CasADi::SX >* obj);
-bool* CasADi__Matrix_CasADi__SX_____nonzero__(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new bool( obj->__nonzero__() );
-}
-
-
-// ================== Normal method: "append" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::append"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___append"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___append(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->append(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___append(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-void CasADi__Matrix_CasADi__SX___append(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return obj->append(x0_);
-}
-
-
-// ================== Normal method: "operator +" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::operator +"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___operator_plus"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_plus(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->operator +()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_plus(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_plus(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->operator +() );
-}
-
-
-// ================== Normal method: "operator -" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::operator -"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___operator_minus"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_minus(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->operator -()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_minus(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_minus(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->operator -() );
-}
-
-
-// ================== Static method: "binary" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::binary"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___binary"
-// protoArgs: "(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___binary(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::Matrix< CasADi::SX >::binary(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___binary(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___binary(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::binary(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "unary" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::unary"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___unary"
-// protoArgs: "(int x0, CasADi::Matrix< CasADi::SX >* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___unary(int x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::Matrix< CasADi::SX >::unary(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___unary(int x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___unary(int x0, CasADi::Matrix< CasADi::SX >* x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::unary(x0_, x1_) );
-}
-
-
-// ================== Static method: "scalar_matrix" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::scalar_matrix"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___scalar_matrix"
-// protoArgs: "(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___scalar_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::Matrix< CasADi::SX >::scalar_matrix(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___scalar_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___scalar_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::scalar_matrix(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "matrix_scalar" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::matrix_scalar"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___matrix_scalar"
-// protoArgs: "(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_scalar(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::Matrix< CasADi::SX >::matrix_scalar(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_scalar(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_scalar(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::matrix_scalar(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "matrix_matrix" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::matrix_matrix"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___matrix_matrix"
-// protoArgs: "(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::Matrix< CasADi::SX >::matrix_matrix(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::matrix_matrix(x0_, x1_, x2_) );
-}
-
-
-// ================== Normal method: "__add__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__add__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____add__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____add__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__add__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____add__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____add__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__add__(x0_) );
-}
-
-
-// ================== Normal method: "__sub__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__sub__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____sub__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____sub__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__sub__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____sub__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____sub__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__sub__(x0_) );
-}
-
-
-// ================== Normal method: "__mul__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__mul__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____mul__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mul__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__mul__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mul__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mul__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__mul__(x0_) );
-}
-
-
-// ================== Normal method: "__div__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__div__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____div__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____div__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__div__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____div__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____div__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__div__(x0_) );
-}
-
-
-// ================== Normal method: "__lt__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__lt__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____lt__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____lt__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__lt__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____lt__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____lt__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__lt__(x0_) );
-}
-
-
-// ================== Normal method: "__le__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__le__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____le__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____le__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__le__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____le__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____le__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__le__(x0_) );
-}
-
-
-// ================== Normal method: "__eq__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__eq__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____eq__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____eq__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__eq__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____eq__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____eq__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__eq__(x0_) );
-}
-
-
-// ================== Normal method: "__ne__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__ne__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____ne__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____ne__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__ne__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____ne__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____ne__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__ne__(x0_) );
-}
-
-
-// ================== Normal method: "__truediv__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__truediv__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____truediv__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____truediv__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__truediv__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____truediv__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____truediv__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__truediv__(x0_) );
-}
-
-
-// ================== Normal method: "__pow__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__pow__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____pow__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____pow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__pow__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____pow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____pow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__pow__(x0_) );
-}
-
-
-// ================== Normal method: "__constpow__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__constpow__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____constpow__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____constpow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__constpow__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____constpow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____constpow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__constpow__(x0_) );
-}
-
-
-// ================== Normal method: "__mpower__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__mpower__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____mpower__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mpower__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__mpower__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mpower__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mpower__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__mpower__(x0_) );
-}
-
-
-// ================== Normal method: "__mrdivide__" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::__mrdivide__"
-// cWrapperName: "CasADi__Matrix_CasADi__SX_____mrdivide__"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mrdivide__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->__mrdivide__(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mrdivide__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mrdivide__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->__mrdivide__(x0_) );
-}
-
-
-// ================== Normal method: "mul_full" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::mul_full"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_full"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
-// call: "obj->mul_full(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->mul_full(x0_, x1_) );
-}
-
-
-// ================== Normal method: "mul_full'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::mul_full'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_full_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->mul_full(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->mul_full(x0_) );
-}
-
-
-// ================== Normal method: "mul" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::mul"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___mul"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
-// call: "obj->mul(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->mul(x0_, x1_) );
-}
-
-
-// ================== Normal method: "mul'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::mul'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->mul(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->mul(x0_) );
-}
-
-
-// ================== Static method: "mul_no_alloc_nn" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_no_alloc_nn"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn(x0_, x1_, x2_);
-}
-
-
-// ================== Static method: "mul_no_alloc_nt" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nt"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_no_alloc_nt"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___mul_no_alloc_nt(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nt(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___mul_no_alloc_nt(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-void CasADi__Matrix_CasADi__SX___mul_no_alloc_nt(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return CasADi::Matrix< CasADi::SX >::mul_no_alloc_nt(x0_, x1_, x2_);
-}
-
-
-// ================== Static method: "mul_no_alloc_tn" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_no_alloc_tn"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn(x0_, x1_, x2_);
-}
-
-
-// ================== Static method: "mul_no_alloc_nn'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_no_alloc_nn_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2)"
-// call: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2);
-void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    std::vector<CasADi::SX > x1_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x1);
-    std::vector<CasADi::SX > x2_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x2);
-
-    return CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn(x0_, x1_, x2_);
-}
-
-
-// ================== Static method: "mul_no_alloc_tn'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_no_alloc_tn_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2)"
-// call: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2);
-void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    std::vector<CasADi::SX > x1_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x1);
-    std::vector<CasADi::SX > x2_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x2);
-
-    return CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn(x0_, x1_, x2_);
-}
-
-
-// ================== Static method: "quad_form" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::quad_form"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___quad_form"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__Matrix_CasADi__SX___quad_form(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1)"
-// call: "CasADi::Matrix< CasADi::SX >::quad_form(x0_, x1_)"
-extern "C"
-    CasADi::SX* CasADi__Matrix_CasADi__SX___quad_form(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1);
-CasADi::SX* CasADi__Matrix_CasADi__SX___quad_form(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    std::vector<CasADi::SX > x1_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x1);
-
-    return new CasADi::SX( CasADi::Matrix< CasADi::SX >::quad_form(x0_, x1_) );
-}
-
-
-// ================== Normal method: "trans" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::trans"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___trans"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___trans(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->trans()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___trans(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___trans(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->trans() );
-}
-
-
-// ================== Normal method: "sin" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::sin"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___sin"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sin(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->sin()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sin(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sin(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->sin() );
-}
-
-
-// ================== Normal method: "cos" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::cos"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___cos"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cos(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->cos()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cos(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cos(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->cos() );
-}
-
-
-// ================== Normal method: "tan" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::tan"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___tan"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tan(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->tan()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tan(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tan(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->tan() );
-}
-
-
-// ================== Normal method: "arcsin" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::arcsin"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___arcsin"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsin(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->arcsin()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsin(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsin(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->arcsin() );
-}
-
-
-// ================== Normal method: "arccos" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::arccos"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___arccos"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccos(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->arccos()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccos(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccos(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->arccos() );
-}
-
-
-// ================== Normal method: "arctan" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::arctan"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___arctan"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->arctan()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->arctan() );
-}
-
-
-// ================== Normal method: "exp" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::exp"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___exp"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___exp(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->exp()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___exp(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___exp(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->exp() );
-}
-
-
-// ================== Normal method: "log" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::log"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___log"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->log()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->log() );
-}
-
-
-// ================== Normal method: "sqrt" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::sqrt"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___sqrt"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sqrt(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->sqrt()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sqrt(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sqrt(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->sqrt() );
-}
-
-
-// ================== Normal method: "floor" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::floor"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___floor"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___floor(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->floor()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___floor(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___floor(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->floor() );
-}
-
-
-// ================== Normal method: "ceil" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::ceil"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___ceil"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ceil(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->ceil()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ceil(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ceil(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->ceil() );
-}
-
-
-// ================== Normal method: "fabs" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::fabs"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___fabs"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fabs(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->fabs()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fabs(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fabs(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->fabs() );
-}
-
-
-// ================== Normal method: "sign" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::sign"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___sign"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sign(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->sign()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sign(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sign(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->sign() );
-}
-
-
-// ================== Normal method: "erfinv" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::erfinv"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___erfinv"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erfinv(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->erfinv()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erfinv(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erfinv(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->erfinv() );
-}
-
-
-// ================== Normal method: "fmin" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::fmin"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___fmin"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmin(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->fmin(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmin(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmin(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->fmin(x0_) );
-}
-
-
-// ================== Normal method: "fmax" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::fmax"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___fmax"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmax(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->fmax(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmax(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmax(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->fmax(x0_) );
-}
-
-
-// ================== Normal method: "erf" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::erf"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___erf"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erf(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->erf()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erf(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erf(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->erf() );
-}
-
-
-// ================== Normal method: "sinh" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::sinh"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___sinh"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sinh(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->sinh()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sinh(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sinh(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->sinh() );
-}
-
-
-// ================== Normal method: "cosh" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::cosh"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___cosh"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cosh(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->cosh()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cosh(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cosh(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->cosh() );
-}
-
-
-// ================== Normal method: "tanh" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::tanh"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___tanh"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tanh(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->tanh()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tanh(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tanh(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->tanh() );
-}
-
-
-// ================== Normal method: "arcsinh" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::arcsinh"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___arcsinh"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsinh(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->arcsinh()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsinh(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsinh(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->arcsinh() );
-}
-
-
-// ================== Normal method: "arccosh" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::arccosh"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___arccosh"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccosh(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->arccosh()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccosh(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccosh(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->arccosh() );
-}
-
-
-// ================== Normal method: "arctanh" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::arctanh"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___arctanh"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctanh(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->arctanh()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctanh(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctanh(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->arctanh() );
-}
-
-
-// ================== Normal method: "arctan2" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::arctan2"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___arctan2"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan2(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->arctan2(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan2(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan2(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->arctan2(x0_) );
-}
-
-
-// ================== Normal method: "log10" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::log10"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___log10"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log10(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->log10()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log10(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log10(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->log10() );
-}
-
-
-// ================== Normal method: "printme" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::printme"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___printme"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___printme(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->printme(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___printme(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___printme(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->printme(x0_) );
-}
-
-
-// ================== Normal method: "logic_not" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::logic_not"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___logic_not"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_not(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->logic_not()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_not(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_not(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::Matrix< CasADi::SX >( obj->logic_not() );
-}
-
-
-// ================== Normal method: "logic_and" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::logic_and"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___logic_and"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_and(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->logic_and(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_and(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_and(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->logic_and(x0_) );
-}
-
-
-// ================== Normal method: "logic_or" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::logic_or"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___logic_or"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_or(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->logic_or(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_or(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_or(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->logic_or(x0_) );
-}
-
-
-// ================== Normal method: "if_else_zero" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::if_else_zero"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___if_else_zero"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___if_else_zero(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->if_else_zero(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___if_else_zero(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___if_else_zero(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->if_else_zero(x0_) );
-}
-
-
-// ================== Static method: "className" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::className"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___className"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__Matrix_CasADi__SX___className()"
-// call: "CasADi::Matrix< CasADi::SX >::className()"
-extern "C"
-    std::string* CasADi__Matrix_CasADi__SX___className();
-std::string* CasADi__Matrix_CasADi__SX___className(){
-
-    return new std::string( CasADi::Matrix< CasADi::SX >::className() );
-}
-
-
-// ================== Normal method: "printScalar'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::printScalar'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___printScalar_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___printScalar_TIC(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->printScalar()"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___printScalar_TIC(CasADi::Matrix< CasADi::SX >* obj);
-void CasADi__Matrix_CasADi__SX___printScalar_TIC(CasADi::Matrix< CasADi::SX >* obj){
-
-    return obj->printScalar();
-}
-
-
-// ================== Normal method: "printVector'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::printVector'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___printVector_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___printVector_TIC(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->printVector()"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___printVector_TIC(CasADi::Matrix< CasADi::SX >* obj);
-void CasADi__Matrix_CasADi__SX___printVector_TIC(CasADi::Matrix< CasADi::SX >* obj){
-
-    return obj->printVector();
-}
-
-
-// ================== Normal method: "printMatrix'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::printMatrix'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___printMatrix_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___printMatrix_TIC(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->printMatrix()"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___printMatrix_TIC(CasADi::Matrix< CasADi::SX >* obj);
-void CasADi__Matrix_CasADi__SX___printMatrix_TIC(CasADi::Matrix< CasADi::SX >* obj){
-
-    return obj->printMatrix();
-}
-
-
-// ================== Normal method: "printSparse'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::printSparse'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___printSparse_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___printSparse_TIC(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->printSparse()"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___printSparse_TIC(CasADi::Matrix< CasADi::SX >* obj);
-void CasADi__Matrix_CasADi__SX___printSparse_TIC(CasADi::Matrix< CasADi::SX >* obj){
-
-    return obj->printSparse();
-}
-
-
-// ================== Normal method: "printDense'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::printDense'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___printDense_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___printDense_TIC(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->printDense()"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___printDense_TIC(CasADi::Matrix< CasADi::SX >* obj);
-void CasADi__Matrix_CasADi__SX___printDense_TIC(CasADi::Matrix< CasADi::SX >* obj){
-
-    return obj->printDense();
-}
-
-
-// ================== Normal method: "col" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::col"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___col"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_CasADi__SX___col(CasADi::Matrix< CasADi::SX >* obj, int x0)"
-// call: "obj->col(x0_)"
-extern "C"
-    int CasADi__Matrix_CasADi__SX___col(CasADi::Matrix< CasADi::SX >* obj, int x0);
-int CasADi__Matrix_CasADi__SX___col(CasADi::Matrix< CasADi::SX >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->col(x0_);
-}
-
-
-// ================== Normal method: "rowind" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::rowind"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___rowind"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_CasADi__SX___rowind(CasADi::Matrix< CasADi::SX >* obj, int x0)"
-// call: "obj->rowind(x0_)"
-extern "C"
-    int CasADi__Matrix_CasADi__SX___rowind(CasADi::Matrix< CasADi::SX >* obj, int x0);
-int CasADi__Matrix_CasADi__SX___rowind(CasADi::Matrix< CasADi::SX >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->rowind(x0_);
-}
-
-
-// ================== Normal method: "clear" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::clear"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___clear"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___clear(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->clear()"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___clear(CasADi::Matrix< CasADi::SX >* obj);
-void CasADi__Matrix_CasADi__SX___clear(CasADi::Matrix< CasADi::SX >* obj){
-
-    return obj->clear();
-}
-
-
-// ================== Normal method: "resize" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::resize"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___resize"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___resize(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
-// call: "obj->resize(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___resize(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1);
-void CasADi__Matrix_CasADi__SX___resize(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->resize(x0_, x1_);
-}
-
-
-// ================== Normal method: "reserve" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::reserve"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___reserve"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___reserve(CasADi::Matrix< CasADi::SX >* obj, int x0)"
-// call: "obj->reserve(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___reserve(CasADi::Matrix< CasADi::SX >* obj, int x0);
-void CasADi__Matrix_CasADi__SX___reserve(CasADi::Matrix< CasADi::SX >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->reserve(x0_);
-}
-
-
-// ================== Normal method: "reserve'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::reserve'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___reserve_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___reserve_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
-// call: "obj->reserve(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___reserve_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1);
-void CasADi__Matrix_CasADi__SX___reserve_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->reserve(x0_, x1_);
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::erase"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___erase"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___erase(CasADi::Matrix< CasADi::SX >* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// call: "obj->erase(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___erase(CasADi::Matrix< CasADi::SX >* obj, std::vector<int > * x0, std::vector<int > * x1);
-void CasADi__Matrix_CasADi__SX___erase(CasADi::Matrix< CasADi::SX >* obj, std::vector<int > * x0, std::vector<int > * x1){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return obj->erase(x0_, x1_);
-}
-
-
-// ================== Normal method: "remove" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::remove"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___remove"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___remove(CasADi::Matrix< CasADi::SX >* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// call: "obj->remove(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___remove(CasADi::Matrix< CasADi::SX >* obj, std::vector<int > * x0, std::vector<int > * x1);
-void CasADi__Matrix_CasADi__SX___remove(CasADi::Matrix< CasADi::SX >* obj, std::vector<int > * x0, std::vector<int > * x1){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return obj->remove(x0_, x1_);
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::enlarge"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___enlarge"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___enlarge(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// call: "obj->enlarge(x0_, x1_, x2_, x3_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___enlarge(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3);
-void CasADi__Matrix_CasADi__SX___enlarge(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-
-    return obj->enlarge(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== Normal method: "data" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::data"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___data"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (Vec (NonVec (CasadiClass SX)))
-// cWrapperRetType: "std::vector<CasADi::SX >*"
-// proto: "std::vector<CasADi::SX >* CasADi__Matrix_CasADi__SX___data(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->data()"
-extern "C"
-    std::vector<CasADi::SX >* CasADi__Matrix_CasADi__SX___data(CasADi::Matrix< CasADi::SX >* obj);
-std::vector<CasADi::SX >* CasADi__Matrix_CasADi__SX___data(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new std::vector<CasADi::SX >( obj->data() );
-}
-
-
-// ================== Normal method: "sparsityRef" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::sparsityRef"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___sparsityRef"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__Matrix_CasADi__SX___sparsityRef(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->sparsityRef()"
-extern "C"
-    CasADi::CRSSparsity* CasADi__Matrix_CasADi__SX___sparsityRef(CasADi::Matrix< CasADi::SX >* obj);
-CasADi::CRSSparsity* CasADi__Matrix_CasADi__SX___sparsityRef(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new CasADi::CRSSparsity( obj->sparsityRef() );
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::set"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___set"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___set(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1)"
-// call: "obj->set(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___set(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1);
-void CasADi__Matrix_CasADi__SX___set(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->set(x0_, x1_);
-}
-
-
-// ================== Normal method: "set'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::set'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___set_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___set_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0)"
-// call: "obj->set(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___set_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0);
-void CasADi__Matrix_CasADi__SX___set_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return obj->set(x0_);
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::get"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___get"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___get(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1)"
-// call: "obj->get(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___get(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1);
-void CasADi__Matrix_CasADi__SX___get(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->get(x0_, x1_);
-}
-
-
-// ================== Normal method: "get'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::get'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___get_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___get_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0)"
-// call: "obj->get(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___get_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0);
-void CasADi__Matrix_CasADi__SX___get_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return obj->get(x0_);
-}
-
-
-// ================== Normal method: "set''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::set''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___set_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* > * x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___set_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* > * x0, CasADi::Sparsity x1)"
-// call: "obj->set(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___set_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* > * x0, CasADi::Sparsity x1);
-void CasADi__Matrix_CasADi__SX___set_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* > * x0, CasADi::Sparsity x1){
-    std::vector<CasADi::SX > x0_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->set(x0_, x1_);
-}
-
-
-// ================== Normal method: "set'''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::set'''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* > * x0)"
-// call: "obj->set(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* > * x0);
-void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* > * x0){
-    std::vector<CasADi::SX > x0_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x0);
-
-    return obj->set(x0_);
-}
-
-
-// ================== Normal method: "get''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::get''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___get_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* >* x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___get_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* >* x0, CasADi::Sparsity x1)"
-// call: "obj->get(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___get_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* >* x0, CasADi::Sparsity x1);
-void CasADi__Matrix_CasADi__SX___get_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* >* x0, CasADi::Sparsity x1){
-    std::vector<CasADi::SX > x0_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->get(x0_, x1_);
-}
-
-
-// ================== Normal method: "get'''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::get'''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* >* x0)"
-// call: "obj->get(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* >* x0);
-void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector<CasADi::SX* >* x0){
-    std::vector<CasADi::SX > x0_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x0);
-
-    return obj->get(x0_);
-}
-
-
-// ================== Normal method: "set''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::set''''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1)"
-// call: "obj->set(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1);
-void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->set(x0_, x1_);
-}
-
-
-// ================== Normal method: "set'''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::set'''''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->set(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return obj->set(x0_);
-}
-
-
-// ================== Normal method: "get''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::get''''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1)"
-// call: "obj->get(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1);
-void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->get(x0_, x1_);
-}
-
-
-// ================== Normal method: "get'''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::get'''''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->get(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
-void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return obj->get(x0_);
-}
-
-
-// ================== Static method: "sparse" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::sparse"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___sparse"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse(int x0, int x1)"
-// call: "CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse(int x0, int x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_) );
-}
-
-
-// ================== Static method: "sparse'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::sparse'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___sparse_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC(int x0)"
-// call: "CasADi::Matrix< CasADi::SX >::sparse(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC(int x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::sparse(x0_) );
-}
-
-
-// ================== Static method: "sparse''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::sparse''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___sparse_TIC_TIC"
-// protoArgs: "(std::vector<int > * x0, std::vector<int > * x1, std::vector<CasADi::SX* > * x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<CasADi::SX* > * x2)"
-// call: "CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<CasADi::SX* > * x2);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<CasADi::SX* > * x2){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-    std::vector<CasADi::SX > x2_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "sparse'''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::sparse'''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___sparse_TIC_TIC_TIC"
-// protoArgs: "(std::vector<int > * x0, std::vector<int > * x1, std::vector<CasADi::SX* > * x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<CasADi::SX* > * x2, int x3, int x4)"
-// call: "CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_, x2_, x3_, x4_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<CasADi::SX* > * x2, int x3, int x4);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<CasADi::SX* > * x2, int x3, int x4){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-    std::vector<CasADi::SX > x2_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-    int x4_ = Marshaling<int,int>::marshal(x4);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_, x2_, x3_, x4_) );
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::zeros"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___zeros"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros(CasADi::CRSSparsity* x0)"
-// call: "CasADi::Matrix< CasADi::SX >::zeros(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros(CasADi::CRSSparsity* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::zeros(x0_) );
-}
-
-
-// ================== Static method: "zeros'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::zeros'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___zeros_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC(int x0, int x1)"
-// call: "CasADi::Matrix< CasADi::SX >::zeros(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC(int x0, int x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::zeros(x0_, x1_) );
-}
-
-
-// ================== Static method: "zeros''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::zeros''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___zeros_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC_TIC(int x0)"
-// call: "CasADi::Matrix< CasADi::SX >::zeros(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC_TIC(int x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::zeros(x0_) );
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::ones"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___ones"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones(CasADi::CRSSparsity* x0)"
-// call: "CasADi::Matrix< CasADi::SX >::ones(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones(CasADi::CRSSparsity* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::ones(x0_) );
-}
-
-
-// ================== Static method: "ones'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::ones'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___ones_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC(int x0, int x1)"
-// call: "CasADi::Matrix< CasADi::SX >::ones(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC(int x0, int x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::ones(x0_, x1_) );
-}
-
-
-// ================== Static method: "ones''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::ones''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___ones_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC_TIC(int x0)"
-// call: "CasADi::Matrix< CasADi::SX >::ones(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC_TIC(int x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::ones(x0_) );
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::inf"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___inf"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf(CasADi::CRSSparsity* x0)"
-// call: "CasADi::Matrix< CasADi::SX >::inf(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf(CasADi::CRSSparsity* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::inf(x0_) );
-}
-
-
-// ================== Static method: "inf'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::inf'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___inf_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC(int x0, int x1)"
-// call: "CasADi::Matrix< CasADi::SX >::inf(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC(int x0, int x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::inf(x0_, x1_) );
-}
-
-
-// ================== Static method: "inf''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::inf''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___inf_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC(int x0)"
-// call: "CasADi::Matrix< CasADi::SX >::inf(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC(int x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::inf(x0_) );
-}
-
-
-// ================== Static method: "inf'''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::inf'''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___inf_TIC_TIC_TIC"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC_TIC()"
-// call: "CasADi::Matrix< CasADi::SX >::inf()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC_TIC();
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC_TIC(){
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::inf() );
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::nan"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___nan"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan(CasADi::CRSSparsity* x0)"
-// call: "CasADi::Matrix< CasADi::SX >::nan(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan(CasADi::CRSSparsity* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::nan(x0_) );
-}
-
-
-// ================== Static method: "nan'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::nan'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___nan_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC(int x0, int x1)"
-// call: "CasADi::Matrix< CasADi::SX >::nan(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC(int x0, int x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::nan(x0_, x1_) );
-}
-
-
-// ================== Static method: "nan''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::nan''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___nan_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC(int x0)"
-// call: "CasADi::Matrix< CasADi::SX >::nan(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC(int x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::nan(x0_) );
-}
-
-
-// ================== Static method: "nan'''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::nan'''"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___nan_TIC_TIC_TIC"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC_TIC()"
-// call: "CasADi::Matrix< CasADi::SX >::nan()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC_TIC();
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC_TIC(){
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::nan() );
-}
-
-
-// ================== Static method: "repmat" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::repmat"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___repmat"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// call: "CasADi::Matrix< CasADi::SX >::repmat(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::repmat(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "repmat'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::repmat'"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___repmat_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// call: "CasADi::Matrix< CasADi::SX >::repmat(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::repmat(x0_, x1_) );
-}
-
-
-// ================== Static method: "eye" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::eye"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___eye"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___eye(int x0)"
-// call: "CasADi::Matrix< CasADi::SX >::eye(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___eye(int x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___eye(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >::eye(x0_) );
-}
-
-
-// ================== Normal method: "isNull" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::isNull"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___isNull"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__Matrix_CasADi__SX___isNull(CasADi::Matrix< CasADi::SX >* obj)"
-// call: "obj->isNull()"
-extern "C"
-    bool* CasADi__Matrix_CasADi__SX___isNull(CasADi::Matrix< CasADi::SX >* obj);
-bool* CasADi__Matrix_CasADi__SX___isNull(CasADi::Matrix< CasADi::SX >* obj){
-
-    return new bool( obj->isNull() );
-}
-
-
-// ================== Static method: "setPrecision" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::setPrecision"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___setPrecision"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___setPrecision(int x0)"
-// call: "CasADi::Matrix< CasADi::SX >::setPrecision(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___setPrecision(int x0);
-void CasADi__Matrix_CasADi__SX___setPrecision(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return CasADi::Matrix< CasADi::SX >::setPrecision(x0_);
-}
-
-
-// ================== Static method: "setWidth" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::setWidth"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___setWidth"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___setWidth(int x0)"
-// call: "CasADi::Matrix< CasADi::SX >::setWidth(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___setWidth(int x0);
-void CasADi__Matrix_CasADi__SX___setWidth(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return CasADi::Matrix< CasADi::SX >::setWidth(x0_);
-}
-
-
-// ================== Static method: "setScientific" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >::setScientific"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___setScientific"
-// protoArgs: "(bool* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_CasADi__SX___setScientific(bool* x0)"
-// call: "CasADi::Matrix< CasADi::SX >::setScientific(x0_)"
-extern "C"
-    void CasADi__Matrix_CasADi__SX___setScientific(bool* x0);
-void CasADi__Matrix_CasADi__SX___setScientific(bool* x0){
-    bool x0_ = Marshaling<bool,bool*>::marshal(x0);
-
-    return CasADi::Matrix< CasADi::SX >::setScientific(x0_);
-}
-
-
-// ================== Constructor method: "SXMatrix" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix()"
-// call: "CasADi::Matrix< CasADi::SX >()"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix();
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix(){
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >() );
-}
-
-
-// ================== Constructor method: "SXMatrix'" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_) );
-}
-
-
-// ================== Constructor method: "SXMatrix''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC(int x0, int x1)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC(int x0, int x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "SXMatrix'''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC"
-// protoArgs: "(int x0, int x1, CasADi::SX* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC(int x0, int x1, CasADi::SX* x2)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC(int x0, int x1, CasADi::SX* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC(int x0, int x1, CasADi::SX* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    CasADi::SX x2_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_) );
-}
-
-
-// ================== Constructor method: "SXMatrix''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC"
-// protoArgs: "(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<CasADi::SX* > * x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<CasADi::SX* > * x4)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_, x3_, x4_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<CasADi::SX* > * x4);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<CasADi::SX* > * x4){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-    std::vector<CasADi::SX > x4_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x4);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_, x3_, x4_) );
-}
-
-
-// ================== Constructor method: "SXMatrix'''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== Constructor method: "SXMatrix''''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<std::vector<CasADi::SX* > > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<std::vector<CasADi::SX* > > * x0)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<std::vector<CasADi::SX* > > * x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<std::vector<CasADi::SX* > > * x0){
-    std::vector<std::vector<CasADi::SX > > x0_ = Marshaling<std::vector<std::vector<CasADi::SX > >,std::vector<std::vector<CasADi::SX* > > *>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_) );
-}
-
-
-// ================== Constructor method: "SXMatrix'''''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0, CasADi::SX* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::SX* x1)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::SX* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::SX* x1){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-    CasADi::SX x1_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "SXMatrix''''''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_) );
-}
-
-
-// ================== Constructor method: "SXMatrix'''''''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0, std::vector<CasADi::SX* > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector<CasADi::SX* > * x1)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector<CasADi::SX* > * x1);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector<CasADi::SX* > * x1){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-    std::vector<CasADi::SX > x1_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "SXMatrix''''''''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(double x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_) );
-}
-
-
-// ================== Constructor method: "SXMatrix'''''''''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::SX* > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::SX* > * x0)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::SX* > * x0);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::SX* > * x0){
-    std::vector<CasADi::SX > x0_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_) );
-}
-
-
-// ================== Constructor method: "SXMatrix''''''''''''" ===============
-// class: "CasADi::Matrix< CasADi::SX >"
-// cppName: "CasADi::Matrix< CasADi::SX >"
-// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::SX* > * x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::SX* > * x0, int x1, int x2)"
-// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::SX* > * x0, int x1, int x2);
-CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::SX* > * x0, int x1, int x2){
-    std::vector<CasADi::SX > x0_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_) );
-}
-
-
-// ================== delete CasadiClass IOScheme===============
-// classType: CasadiClass IOScheme
-extern "C"
-    void delete_CasADi__IOScheme(CasADi::IOScheme* obj);
-void delete_CasADi__IOScheme(CasADi::IOScheme* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__IOScheme_(std::vector<CasADi::IOScheme* >* obj);
-void delete_std__vector_CasADi__IOScheme_(std::vector<CasADi::IOScheme* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__IOScheme__(std::vector<std::vector<CasADi::IOScheme* > >* obj);
-void delete_std__vector_std__vector_CasADi__IOScheme__(std::vector<std::vector<CasADi::IOScheme* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__IOScheme___(std::vector<std::vector<std::vector<CasADi::IOScheme* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__IOScheme___(std::vector<std::vector<std::vector<CasADi::IOScheme* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "checkNode" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::checkNode"
-// cWrapperName: "CasADi__IOScheme__checkNode"
-// protoArgs: "(CasADi::IOScheme* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__IOScheme__checkNode(CasADi::IOScheme* obj)"
-// call: "obj->checkNode()"
-extern "C"
-    bool* CasADi__IOScheme__checkNode(CasADi::IOScheme* obj);
-bool* CasADi__IOScheme__checkNode(CasADi::IOScheme* obj){
-
-    return new bool( obj->checkNode() );
-}
-
-
-// ================== Normal method: "name" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::name"
-// cWrapperName: "CasADi__IOScheme__name"
-// protoArgs: "(CasADi::IOScheme* obj)"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__IOScheme__name(CasADi::IOScheme* obj)"
-// call: "obj->name()"
-extern "C"
-    std::string* CasADi__IOScheme__name(CasADi::IOScheme* obj);
-std::string* CasADi__IOScheme__name(CasADi::IOScheme* obj){
-
-    return new std::string( obj->name() );
-}
-
-
-// ================== Normal method: "entryNames" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::entryNames"
-// cWrapperName: "CasADi__IOScheme__entryNames"
-// protoArgs: "(CasADi::IOScheme* obj)"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__IOScheme__entryNames(CasADi::IOScheme* obj)"
-// call: "obj->entryNames()"
-extern "C"
-    std::string* CasADi__IOScheme__entryNames(CasADi::IOScheme* obj);
-std::string* CasADi__IOScheme__entryNames(CasADi::IOScheme* obj){
-
-    return new std::string( obj->entryNames() );
-}
-
-
-// ================== Normal method: "index" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::index"
-// cWrapperName: "CasADi__IOScheme__index"
-// protoArgs: "(CasADi::IOScheme* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__IOScheme__index(CasADi::IOScheme* obj, std::string* x0)"
-// call: "obj->index(x0_)"
-extern "C"
-    int CasADi__IOScheme__index(CasADi::IOScheme* obj, std::string* x0);
-int CasADi__IOScheme__index(CasADi::IOScheme* obj, std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return obj->index(x0_);
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::size"
-// cWrapperName: "CasADi__IOScheme__size"
-// protoArgs: "(CasADi::IOScheme* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__IOScheme__size(CasADi::IOScheme* obj)"
-// call: "obj->size()"
-extern "C"
-    int CasADi__IOScheme__size(CasADi::IOScheme* obj);
-int CasADi__IOScheme__size(CasADi::IOScheme* obj){
-
-    return obj->size();
-}
-
-
-// ================== Normal method: "entry" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::entry"
-// cWrapperName: "CasADi__IOScheme__entry"
-// protoArgs: "(CasADi::IOScheme* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__IOScheme__entry(CasADi::IOScheme* obj, int x0)"
-// call: "obj->entry(x0_)"
-extern "C"
-    std::string* CasADi__IOScheme__entry(CasADi::IOScheme* obj, int x0);
-std::string* CasADi__IOScheme__entry(CasADi::IOScheme* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new std::string( obj->entry(x0_) );
-}
-
-
-// ================== Normal method: "entryLabel" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::entryLabel"
-// cWrapperName: "CasADi__IOScheme__entryLabel"
-// protoArgs: "(CasADi::IOScheme* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__IOScheme__entryLabel(CasADi::IOScheme* obj, int x0)"
-// call: "obj->entryLabel(x0_)"
-extern "C"
-    std::string* CasADi__IOScheme__entryLabel(CasADi::IOScheme* obj, int x0);
-std::string* CasADi__IOScheme__entryLabel(CasADi::IOScheme* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new std::string( obj->entryLabel(x0_) );
-}
-
-
-// ================== Normal method: "entryEnum" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::entryEnum"
-// cWrapperName: "CasADi__IOScheme__entryEnum"
-// protoArgs: "(CasADi::IOScheme* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__IOScheme__entryEnum(CasADi::IOScheme* obj, int x0)"
-// call: "obj->entryEnum(x0_)"
-extern "C"
-    std::string* CasADi__IOScheme__entryEnum(CasADi::IOScheme* obj, int x0);
-std::string* CasADi__IOScheme__entryEnum(CasADi::IOScheme* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new std::string( obj->entryEnum(x0_) );
-}
-
-
-// ================== Normal method: "describeInput" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::describeInput"
-// cWrapperName: "CasADi__IOScheme__describeInput"
-// protoArgs: "(CasADi::IOScheme* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__IOScheme__describeInput(CasADi::IOScheme* obj, int x0)"
-// call: "obj->describeInput(x0_)"
-extern "C"
-    std::string* CasADi__IOScheme__describeInput(CasADi::IOScheme* obj, int x0);
-std::string* CasADi__IOScheme__describeInput(CasADi::IOScheme* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new std::string( obj->describeInput(x0_) );
-}
-
-
-// ================== Normal method: "describeOutput" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::describeOutput"
-// cWrapperName: "CasADi__IOScheme__describeOutput"
-// protoArgs: "(CasADi::IOScheme* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__IOScheme__describeOutput(CasADi::IOScheme* obj, int x0)"
-// call: "obj->describeOutput(x0_)"
-extern "C"
-    std::string* CasADi__IOScheme__describeOutput(CasADi::IOScheme* obj, int x0);
-std::string* CasADi__IOScheme__describeOutput(CasADi::IOScheme* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new std::string( obj->describeOutput(x0_) );
-}
-
-
-// ================== Normal method: "describe" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::describe"
-// cWrapperName: "CasADi__IOScheme__describe"
-// protoArgs: "(CasADi::IOScheme* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__IOScheme__describe(CasADi::IOScheme* obj, int x0)"
-// call: "obj->describe(x0_)"
-extern "C"
-    std::string* CasADi__IOScheme__describe(CasADi::IOScheme* obj, int x0);
-std::string* CasADi__IOScheme__describe(CasADi::IOScheme* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new std::string( obj->describe(x0_) );
-}
-
-
-// ================== Normal method: "known" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::known"
-// cWrapperName: "CasADi__IOScheme__known"
-// protoArgs: "(CasADi::IOScheme* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__IOScheme__known(CasADi::IOScheme* obj)"
-// call: "obj->known()"
-extern "C"
-    bool* CasADi__IOScheme__known(CasADi::IOScheme* obj);
-bool* CasADi__IOScheme__known(CasADi::IOScheme* obj){
-
-    return new bool( obj->known() );
-}
-
-
-// ================== Normal method: "compatibleSize" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme::compatibleSize"
-// cWrapperName: "CasADi__IOScheme__compatibleSize"
-// protoArgs: "(CasADi::IOScheme* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__IOScheme__compatibleSize(CasADi::IOScheme* obj, int x0)"
-// call: "obj->compatibleSize(x0_)"
-extern "C"
-    int CasADi__IOScheme__compatibleSize(CasADi::IOScheme* obj, int x0);
-int CasADi__IOScheme__compatibleSize(CasADi::IOScheme* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->compatibleSize(x0_);
-}
-
-
-// ================== Constructor method: "IOScheme" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme"
-// cWrapperName: "CasADi__IOScheme__IOScheme"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass IOScheme))
-// cWrapperRetType: "CasADi::IOScheme*"
-// proto: "CasADi::IOScheme* CasADi__IOScheme__IOScheme()"
-// call: "CasADi::IOScheme()"
-extern "C"
-    CasADi::IOScheme* CasADi__IOScheme__IOScheme();
-CasADi::IOScheme* CasADi__IOScheme__IOScheme(){
-
-    return new CasADi::IOScheme( CasADi::IOScheme() );
-}
-
-
-// ================== Constructor method: "IOScheme'" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme"
-// cWrapperName: "CasADi__IOScheme__IOScheme_TIC"
-// protoArgs: "(CasADi::InputOutputScheme x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass IOScheme))
-// cWrapperRetType: "CasADi::IOScheme*"
-// proto: "CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC(CasADi::InputOutputScheme x0)"
-// call: "CasADi::IOScheme(x0_)"
-extern "C"
-    CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC(CasADi::InputOutputScheme x0);
-CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC(CasADi::InputOutputScheme x0){
-    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
-
-    return new CasADi::IOScheme( CasADi::IOScheme(x0_) );
-}
-
-
-// ================== Constructor method: "IOScheme''" ===============
-// class: "CasADi::IOScheme"
-// cppName: "CasADi::IOScheme"
-// cWrapperName: "CasADi__IOScheme__IOScheme_TIC_TIC"
-// protoArgs: "(std::vector<std::string* > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass IOScheme))
-// cWrapperRetType: "CasADi::IOScheme*"
-// proto: "CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC_TIC(std::vector<std::string* > * x0)"
-// call: "CasADi::IOScheme(x0_)"
-extern "C"
-    CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC_TIC(std::vector<std::string* > * x0);
-CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC_TIC(std::vector<std::string* > * x0){
-    std::vector<std::string > x0_ = Marshaling<std::vector<std::string >,std::vector<std::string* > *>::marshal(x0);
-
-    return new CasADi::IOScheme( CasADi::IOScheme(x0_) );
-}
-
-
-// ================== delete CasadiClass DMatrix===============
-// classType: CasadiClass DMatrix
-extern "C"
-    void delete_CasADi__Matrix_double_(CasADi::Matrix< double >* obj);
-void delete_CasADi__Matrix_double_(CasADi::Matrix< double >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__Matrix_double__(std::vector<CasADi::Matrix< double >* >* obj);
-void delete_std__vector_CasADi__Matrix_double__(std::vector<CasADi::Matrix< double >* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__Matrix_double___(std::vector<std::vector<CasADi::Matrix< double >* > >* obj);
-void delete_std__vector_std__vector_CasADi__Matrix_double___(std::vector<std::vector<CasADi::Matrix< double >* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__Matrix_double____(std::vector<std::vector<std::vector<CasADi::Matrix< double >* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__Matrix_double____(std::vector<std::vector<std::vector<CasADi::Matrix< double >* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "size1" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::size1"
-// cWrapperName: "CasADi__Matrix_double___size1"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_double___size1(CasADi::Matrix< double >* obj)"
-// call: "obj->size1()"
-extern "C"
-    int CasADi__Matrix_double___size1(CasADi::Matrix< double >* obj);
-int CasADi__Matrix_double___size1(CasADi::Matrix< double >* obj){
-
-    return obj->size1();
-}
-
-
-// ================== Normal method: "size2" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::size2"
-// cWrapperName: "CasADi__Matrix_double___size2"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_double___size2(CasADi::Matrix< double >* obj)"
-// call: "obj->size2()"
-extern "C"
-    int CasADi__Matrix_double___size2(CasADi::Matrix< double >* obj);
-int CasADi__Matrix_double___size2(CasADi::Matrix< double >* obj){
-
-    return obj->size2();
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::size"
-// cWrapperName: "CasADi__Matrix_double___size"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_double___size(CasADi::Matrix< double >* obj)"
-// call: "obj->size()"
-extern "C"
-    int CasADi__Matrix_double___size(CasADi::Matrix< double >* obj);
-int CasADi__Matrix_double___size(CasADi::Matrix< double >* obj){
-
-    return obj->size();
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::numel"
-// cWrapperName: "CasADi__Matrix_double___numel"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_double___numel(CasADi::Matrix< double >* obj)"
-// call: "obj->numel()"
-extern "C"
-    int CasADi__Matrix_double___numel(CasADi::Matrix< double >* obj);
-int CasADi__Matrix_double___numel(CasADi::Matrix< double >* obj){
-
-    return obj->numel();
-}
-
-
-// ================== Normal method: "sanityCheck" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::sanityCheck"
-// cWrapperName: "CasADi__Matrix_double___sanityCheck"
-// protoArgs: "(CasADi::Matrix< double >* obj, bool* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___sanityCheck(CasADi::Matrix< double >* obj, bool* x0)"
-// call: "obj->sanityCheck(x0_)"
-extern "C"
-    void CasADi__Matrix_double___sanityCheck(CasADi::Matrix< double >* obj, bool* x0);
-void CasADi__Matrix_double___sanityCheck(CasADi::Matrix< double >* obj, bool* x0){
-    bool x0_ = Marshaling<bool,bool*>::marshal(x0);
-
-    return obj->sanityCheck(x0_);
-}
-
-
-// ================== Normal method: "sanityCheck'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::sanityCheck'"
-// cWrapperName: "CasADi__Matrix_double___sanityCheck_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___sanityCheck_TIC(CasADi::Matrix< double >* obj)"
-// call: "obj->sanityCheck()"
-extern "C"
-    void CasADi__Matrix_double___sanityCheck_TIC(CasADi::Matrix< double >* obj);
-void CasADi__Matrix_double___sanityCheck_TIC(CasADi::Matrix< double >* obj){
-
-    return obj->sanityCheck();
-}
-
-
-// ================== Normal method: "vector" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::vector"
-// cWrapperName: "CasADi__Matrix_double___vector"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__Matrix_double___vector(CasADi::Matrix< double >* obj)"
-// call: "obj->vector()"
-extern "C"
-    bool* CasADi__Matrix_double___vector(CasADi::Matrix< double >* obj);
-bool* CasADi__Matrix_double___vector(CasADi::Matrix< double >* obj){
-
-    return new bool( obj->vector() );
-}
-
-
-// ================== Normal method: "at" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::at"
-// cWrapperName: "CasADi__Matrix_double___at"
-// protoArgs: "(CasADi::Matrix< double >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CDouble)
-// cWrapperRetType: "double"
-// proto: "double CasADi__Matrix_double___at(CasADi::Matrix< double >* obj, int x0)"
-// call: "obj->at(x0_)"
-extern "C"
-    double CasADi__Matrix_double___at(CasADi::Matrix< double >* obj, int x0);
-double CasADi__Matrix_double___at(CasADi::Matrix< double >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->at(x0_);
-}
-
-
-// ================== Normal method: "elem" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::elem"
-// cWrapperName: "CasADi__Matrix_double___elem"
-// protoArgs: "(CasADi::Matrix< double >* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CDouble)
-// cWrapperRetType: "double"
-// proto: "double CasADi__Matrix_double___elem(CasADi::Matrix< double >* obj, int x0, int x1)"
-// call: "obj->elem(x0_, x1_)"
-extern "C"
-    double CasADi__Matrix_double___elem(CasADi::Matrix< double >* obj, int x0, int x1);
-double CasADi__Matrix_double___elem(CasADi::Matrix< double >* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->elem(x0_, x1_);
-}
-
-
-// ================== Normal method: "elem'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::elem'"
-// cWrapperName: "CasADi__Matrix_double___elem_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CDouble)
-// cWrapperRetType: "double"
-// proto: "double CasADi__Matrix_double___elem_TIC(CasADi::Matrix< double >* obj, int x0)"
-// call: "obj->elem(x0_)"
-extern "C"
-    double CasADi__Matrix_double___elem_TIC(CasADi::Matrix< double >* obj, int x0);
-double CasADi__Matrix_double___elem_TIC(CasADi::Matrix< double >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->elem(x0_);
-}
-
-
-// ================== Normal method: "hasNZ" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::hasNZ"
-// cWrapperName: "CasADi__Matrix_double___hasNZ"
-// protoArgs: "(CasADi::Matrix< double >* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__Matrix_double___hasNZ(CasADi::Matrix< double >* obj, int x0, int x1)"
-// call: "obj->hasNZ(x0_, x1_)"
-extern "C"
-    bool* CasADi__Matrix_double___hasNZ(CasADi::Matrix< double >* obj, int x0, int x1);
-bool* CasADi__Matrix_double___hasNZ(CasADi::Matrix< double >* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new bool( obj->hasNZ(x0_, x1_) );
-}
-
-
-// ================== Normal method: "__nonzero__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__nonzero__"
-// cWrapperName: "CasADi__Matrix_double_____nonzero__"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__Matrix_double_____nonzero__(CasADi::Matrix< double >* obj)"
-// call: "obj->__nonzero__()"
-extern "C"
-    bool* CasADi__Matrix_double_____nonzero__(CasADi::Matrix< double >* obj);
-bool* CasADi__Matrix_double_____nonzero__(CasADi::Matrix< double >* obj){
-
-    return new bool( obj->__nonzero__() );
-}
-
-
-// ================== Normal method: "append" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::append"
-// cWrapperName: "CasADi__Matrix_double___append"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___append(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->append(x0_)"
-extern "C"
-    void CasADi__Matrix_double___append(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-void CasADi__Matrix_double___append(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return obj->append(x0_);
-}
-
-
-// ================== Normal method: "operator +" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::operator +"
-// cWrapperName: "CasADi__Matrix_double___operator_plus"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___operator_plus(CasADi::Matrix< double >* obj)"
-// call: "obj->operator +()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___operator_plus(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___operator_plus(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->operator +() );
-}
-
-
-// ================== Normal method: "operator -" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::operator -"
-// cWrapperName: "CasADi__Matrix_double___operator_minus"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___operator_minus(CasADi::Matrix< double >* obj)"
-// call: "obj->operator -()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___operator_minus(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___operator_minus(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->operator -() );
-}
-
-
-// ================== Static method: "binary" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::binary"
-// cWrapperName: "CasADi__Matrix_double___binary"
-// protoArgs: "(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___binary(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// call: "CasADi::Matrix< double >::binary(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___binary(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
-CasADi::Matrix< double >* CasADi__Matrix_double___binary(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-    CasADi::Matrix< double > x2_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::binary(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "unary" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::unary"
-// cWrapperName: "CasADi__Matrix_double___unary"
-// protoArgs: "(int x0, CasADi::Matrix< double >* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___unary(int x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::Matrix< double >::unary(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___unary(int x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___unary(int x0, CasADi::Matrix< double >* x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::unary(x0_, x1_) );
-}
-
-
-// ================== Static method: "scalar_matrix" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::scalar_matrix"
-// cWrapperName: "CasADi__Matrix_double___scalar_matrix"
-// protoArgs: "(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___scalar_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// call: "CasADi::Matrix< double >::scalar_matrix(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___scalar_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
-CasADi::Matrix< double >* CasADi__Matrix_double___scalar_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-    CasADi::Matrix< double > x2_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::scalar_matrix(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "matrix_scalar" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::matrix_scalar"
-// cWrapperName: "CasADi__Matrix_double___matrix_scalar"
-// protoArgs: "(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___matrix_scalar(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// call: "CasADi::Matrix< double >::matrix_scalar(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___matrix_scalar(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
-CasADi::Matrix< double >* CasADi__Matrix_double___matrix_scalar(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-    CasADi::Matrix< double > x2_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::matrix_scalar(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "matrix_matrix" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::matrix_matrix"
-// cWrapperName: "CasADi__Matrix_double___matrix_matrix"
-// protoArgs: "(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___matrix_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// call: "CasADi::Matrix< double >::matrix_matrix(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___matrix_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
-CasADi::Matrix< double >* CasADi__Matrix_double___matrix_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-    CasADi::Matrix< double > x2_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::matrix_matrix(x0_, x1_, x2_) );
-}
-
-
-// ================== Normal method: "__add__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__add__"
-// cWrapperName: "CasADi__Matrix_double_____add__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____add__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__add__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____add__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____add__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__add__(x0_) );
-}
-
-
-// ================== Normal method: "__sub__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__sub__"
-// cWrapperName: "CasADi__Matrix_double_____sub__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____sub__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__sub__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____sub__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____sub__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__sub__(x0_) );
-}
-
-
-// ================== Normal method: "__mul__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__mul__"
-// cWrapperName: "CasADi__Matrix_double_____mul__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____mul__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__mul__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____mul__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____mul__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__mul__(x0_) );
-}
-
-
-// ================== Normal method: "__div__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__div__"
-// cWrapperName: "CasADi__Matrix_double_____div__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____div__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__div__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____div__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____div__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__div__(x0_) );
-}
-
-
-// ================== Normal method: "__lt__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__lt__"
-// cWrapperName: "CasADi__Matrix_double_____lt__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____lt__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__lt__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____lt__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____lt__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__lt__(x0_) );
-}
-
-
-// ================== Normal method: "__le__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__le__"
-// cWrapperName: "CasADi__Matrix_double_____le__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____le__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__le__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____le__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____le__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__le__(x0_) );
-}
-
-
-// ================== Normal method: "__eq__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__eq__"
-// cWrapperName: "CasADi__Matrix_double_____eq__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____eq__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__eq__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____eq__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____eq__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__eq__(x0_) );
-}
-
-
-// ================== Normal method: "__ne__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__ne__"
-// cWrapperName: "CasADi__Matrix_double_____ne__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____ne__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__ne__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____ne__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____ne__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__ne__(x0_) );
-}
-
-
-// ================== Normal method: "__truediv__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__truediv__"
-// cWrapperName: "CasADi__Matrix_double_____truediv__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____truediv__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__truediv__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____truediv__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____truediv__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__truediv__(x0_) );
-}
-
-
-// ================== Normal method: "__pow__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__pow__"
-// cWrapperName: "CasADi__Matrix_double_____pow__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____pow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__pow__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____pow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____pow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__pow__(x0_) );
-}
-
-
-// ================== Normal method: "__constpow__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__constpow__"
-// cWrapperName: "CasADi__Matrix_double_____constpow__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____constpow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__constpow__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____constpow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____constpow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__constpow__(x0_) );
-}
-
-
-// ================== Normal method: "__mpower__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__mpower__"
-// cWrapperName: "CasADi__Matrix_double_____mpower__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____mpower__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__mpower__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____mpower__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____mpower__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__mpower__(x0_) );
-}
-
-
-// ================== Normal method: "__mrdivide__" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::__mrdivide__"
-// cWrapperName: "CasADi__Matrix_double_____mrdivide__"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____mrdivide__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->__mrdivide__(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double_____mrdivide__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double_____mrdivide__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->__mrdivide__(x0_) );
-}
-
-
-// ================== Normal method: "mul_full" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::mul_full"
-// cWrapperName: "CasADi__Matrix_double___mul_full"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___mul_full(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
-// call: "obj->mul_full(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___mul_full(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___mul_full(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( obj->mul_full(x0_, x1_) );
-}
-
-
-// ================== Normal method: "mul_full'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::mul_full'"
-// cWrapperName: "CasADi__Matrix_double___mul_full_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___mul_full_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->mul_full(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___mul_full_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___mul_full_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->mul_full(x0_) );
-}
-
-
-// ================== Normal method: "mul" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::mul"
-// cWrapperName: "CasADi__Matrix_double___mul"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___mul(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
-// call: "obj->mul(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___mul(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___mul(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( obj->mul(x0_, x1_) );
-}
-
-
-// ================== Normal method: "mul'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::mul'"
-// cWrapperName: "CasADi__Matrix_double___mul_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___mul_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->mul(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___mul_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___mul_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->mul(x0_) );
-}
-
-
-// ================== Static method: "mul_no_alloc_nn" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::mul_no_alloc_nn"
-// cWrapperName: "CasADi__Matrix_double___mul_no_alloc_nn"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___mul_no_alloc_nn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// call: "CasADi::Matrix< double >::mul_no_alloc_nn(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__Matrix_double___mul_no_alloc_nn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
-void CasADi__Matrix_double___mul_no_alloc_nn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-    CasADi::Matrix< double > x2_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x2);
-
-    return CasADi::Matrix< double >::mul_no_alloc_nn(x0_, x1_, x2_);
-}
-
-
-// ================== Static method: "mul_no_alloc_nt" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::mul_no_alloc_nt"
-// cWrapperName: "CasADi__Matrix_double___mul_no_alloc_nt"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___mul_no_alloc_nt(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// call: "CasADi::Matrix< double >::mul_no_alloc_nt(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__Matrix_double___mul_no_alloc_nt(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
-void CasADi__Matrix_double___mul_no_alloc_nt(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-    CasADi::Matrix< double > x2_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x2);
-
-    return CasADi::Matrix< double >::mul_no_alloc_nt(x0_, x1_, x2_);
-}
-
-
-// ================== Static method: "mul_no_alloc_tn" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::mul_no_alloc_tn"
-// cWrapperName: "CasADi__Matrix_double___mul_no_alloc_tn"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___mul_no_alloc_tn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// call: "CasADi::Matrix< double >::mul_no_alloc_tn(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__Matrix_double___mul_no_alloc_tn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
-void CasADi__Matrix_double___mul_no_alloc_tn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-    CasADi::Matrix< double > x2_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x2);
-
-    return CasADi::Matrix< double >::mul_no_alloc_tn(x0_, x1_, x2_);
-}
-
-
-// ================== Static method: "mul_no_alloc_nn'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::mul_no_alloc_nn'"
-// cWrapperName: "CasADi__Matrix_double___mul_no_alloc_nn_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___mul_no_alloc_nn_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2)"
-// call: "CasADi::Matrix< double >::mul_no_alloc_nn(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__Matrix_double___mul_no_alloc_nn_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2);
-void CasADi__Matrix_double___mul_no_alloc_nn_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    std::vector<double > x1_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x1);
-    std::vector<double > x2_ = Marshaling<std::vector<double >,std::vector<double >*>::marshal(x2);
-
-    return CasADi::Matrix< double >::mul_no_alloc_nn(x0_, x1_, x2_);
-}
-
-
-// ================== Static method: "mul_no_alloc_tn'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::mul_no_alloc_tn'"
-// cWrapperName: "CasADi__Matrix_double___mul_no_alloc_tn_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___mul_no_alloc_tn_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2)"
-// call: "CasADi::Matrix< double >::mul_no_alloc_tn(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__Matrix_double___mul_no_alloc_tn_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2);
-void CasADi__Matrix_double___mul_no_alloc_tn_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    std::vector<double > x1_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x1);
-    std::vector<double > x2_ = Marshaling<std::vector<double >,std::vector<double >*>::marshal(x2);
-
-    return CasADi::Matrix< double >::mul_no_alloc_tn(x0_, x1_, x2_);
-}
-
-
-// ================== Static method: "quad_form" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::quad_form"
-// cWrapperName: "CasADi__Matrix_double___quad_form"
-// protoArgs: "(CasADi::Matrix< double >* x0, std::vector<double > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CDouble)
-// cWrapperRetType: "double"
-// proto: "double CasADi__Matrix_double___quad_form(CasADi::Matrix< double >* x0, std::vector<double > * x1)"
-// call: "CasADi::Matrix< double >::quad_form(x0_, x1_)"
-extern "C"
-    double CasADi__Matrix_double___quad_form(CasADi::Matrix< double >* x0, std::vector<double > * x1);
-double CasADi__Matrix_double___quad_form(CasADi::Matrix< double >* x0, std::vector<double > * x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    std::vector<double > x1_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x1);
-
-    return CasADi::Matrix< double >::quad_form(x0_, x1_);
-}
-
-
-// ================== Normal method: "trans" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::trans"
-// cWrapperName: "CasADi__Matrix_double___trans"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___trans(CasADi::Matrix< double >* obj)"
-// call: "obj->trans()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___trans(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___trans(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->trans() );
-}
-
-
-// ================== Normal method: "sin" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::sin"
-// cWrapperName: "CasADi__Matrix_double___sin"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sin(CasADi::Matrix< double >* obj)"
-// call: "obj->sin()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___sin(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___sin(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->sin() );
-}
-
-
-// ================== Normal method: "cos" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::cos"
-// cWrapperName: "CasADi__Matrix_double___cos"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___cos(CasADi::Matrix< double >* obj)"
-// call: "obj->cos()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___cos(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___cos(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->cos() );
-}
-
-
-// ================== Normal method: "tan" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::tan"
-// cWrapperName: "CasADi__Matrix_double___tan"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___tan(CasADi::Matrix< double >* obj)"
-// call: "obj->tan()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___tan(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___tan(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->tan() );
-}
-
-
-// ================== Normal method: "arcsin" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::arcsin"
-// cWrapperName: "CasADi__Matrix_double___arcsin"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arcsin(CasADi::Matrix< double >* obj)"
-// call: "obj->arcsin()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___arcsin(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___arcsin(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->arcsin() );
-}
-
-
-// ================== Normal method: "arccos" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::arccos"
-// cWrapperName: "CasADi__Matrix_double___arccos"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arccos(CasADi::Matrix< double >* obj)"
-// call: "obj->arccos()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___arccos(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___arccos(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->arccos() );
-}
-
-
-// ================== Normal method: "arctan" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::arctan"
-// cWrapperName: "CasADi__Matrix_double___arctan"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arctan(CasADi::Matrix< double >* obj)"
-// call: "obj->arctan()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___arctan(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___arctan(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->arctan() );
-}
-
-
-// ================== Normal method: "exp" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::exp"
-// cWrapperName: "CasADi__Matrix_double___exp"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___exp(CasADi::Matrix< double >* obj)"
-// call: "obj->exp()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___exp(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___exp(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->exp() );
-}
-
-
-// ================== Normal method: "log" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::log"
-// cWrapperName: "CasADi__Matrix_double___log"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___log(CasADi::Matrix< double >* obj)"
-// call: "obj->log()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___log(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___log(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->log() );
-}
-
-
-// ================== Normal method: "sqrt" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::sqrt"
-// cWrapperName: "CasADi__Matrix_double___sqrt"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sqrt(CasADi::Matrix< double >* obj)"
-// call: "obj->sqrt()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___sqrt(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___sqrt(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->sqrt() );
-}
-
-
-// ================== Normal method: "floor" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::floor"
-// cWrapperName: "CasADi__Matrix_double___floor"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___floor(CasADi::Matrix< double >* obj)"
-// call: "obj->floor()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___floor(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___floor(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->floor() );
-}
-
-
-// ================== Normal method: "ceil" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::ceil"
-// cWrapperName: "CasADi__Matrix_double___ceil"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___ceil(CasADi::Matrix< double >* obj)"
-// call: "obj->ceil()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___ceil(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___ceil(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->ceil() );
-}
-
-
-// ================== Normal method: "fabs" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::fabs"
-// cWrapperName: "CasADi__Matrix_double___fabs"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___fabs(CasADi::Matrix< double >* obj)"
-// call: "obj->fabs()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___fabs(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___fabs(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->fabs() );
-}
-
-
-// ================== Normal method: "sign" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::sign"
-// cWrapperName: "CasADi__Matrix_double___sign"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sign(CasADi::Matrix< double >* obj)"
-// call: "obj->sign()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___sign(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___sign(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->sign() );
-}
-
-
-// ================== Normal method: "erfinv" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::erfinv"
-// cWrapperName: "CasADi__Matrix_double___erfinv"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___erfinv(CasADi::Matrix< double >* obj)"
-// call: "obj->erfinv()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___erfinv(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___erfinv(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->erfinv() );
-}
-
-
-// ================== Normal method: "fmin" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::fmin"
-// cWrapperName: "CasADi__Matrix_double___fmin"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___fmin(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->fmin(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___fmin(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___fmin(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->fmin(x0_) );
-}
-
-
-// ================== Normal method: "fmax" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::fmax"
-// cWrapperName: "CasADi__Matrix_double___fmax"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___fmax(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->fmax(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___fmax(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___fmax(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->fmax(x0_) );
-}
-
-
-// ================== Normal method: "erf" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::erf"
-// cWrapperName: "CasADi__Matrix_double___erf"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___erf(CasADi::Matrix< double >* obj)"
-// call: "obj->erf()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___erf(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___erf(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->erf() );
-}
-
-
-// ================== Normal method: "sinh" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::sinh"
-// cWrapperName: "CasADi__Matrix_double___sinh"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sinh(CasADi::Matrix< double >* obj)"
-// call: "obj->sinh()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___sinh(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___sinh(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->sinh() );
-}
-
-
-// ================== Normal method: "cosh" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::cosh"
-// cWrapperName: "CasADi__Matrix_double___cosh"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___cosh(CasADi::Matrix< double >* obj)"
-// call: "obj->cosh()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___cosh(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___cosh(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->cosh() );
-}
-
-
-// ================== Normal method: "tanh" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::tanh"
-// cWrapperName: "CasADi__Matrix_double___tanh"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___tanh(CasADi::Matrix< double >* obj)"
-// call: "obj->tanh()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___tanh(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___tanh(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->tanh() );
-}
-
-
-// ================== Normal method: "arcsinh" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::arcsinh"
-// cWrapperName: "CasADi__Matrix_double___arcsinh"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arcsinh(CasADi::Matrix< double >* obj)"
-// call: "obj->arcsinh()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___arcsinh(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___arcsinh(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->arcsinh() );
-}
-
-
-// ================== Normal method: "arccosh" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::arccosh"
-// cWrapperName: "CasADi__Matrix_double___arccosh"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arccosh(CasADi::Matrix< double >* obj)"
-// call: "obj->arccosh()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___arccosh(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___arccosh(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->arccosh() );
-}
-
-
-// ================== Normal method: "arctanh" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::arctanh"
-// cWrapperName: "CasADi__Matrix_double___arctanh"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arctanh(CasADi::Matrix< double >* obj)"
-// call: "obj->arctanh()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___arctanh(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___arctanh(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->arctanh() );
-}
-
-
-// ================== Normal method: "arctan2" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::arctan2"
-// cWrapperName: "CasADi__Matrix_double___arctan2"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arctan2(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->arctan2(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___arctan2(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___arctan2(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->arctan2(x0_) );
-}
-
-
-// ================== Normal method: "log10" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::log10"
-// cWrapperName: "CasADi__Matrix_double___log10"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___log10(CasADi::Matrix< double >* obj)"
-// call: "obj->log10()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___log10(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___log10(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->log10() );
-}
-
-
-// ================== Normal method: "printme" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::printme"
-// cWrapperName: "CasADi__Matrix_double___printme"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___printme(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->printme(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___printme(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___printme(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->printme(x0_) );
-}
-
-
-// ================== Normal method: "logic_not" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::logic_not"
-// cWrapperName: "CasADi__Matrix_double___logic_not"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___logic_not(CasADi::Matrix< double >* obj)"
-// call: "obj->logic_not()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___logic_not(CasADi::Matrix< double >* obj);
-CasADi::Matrix< double >* CasADi__Matrix_double___logic_not(CasADi::Matrix< double >* obj){
-
-    return new CasADi::Matrix< double >( obj->logic_not() );
-}
-
-
-// ================== Normal method: "logic_and" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::logic_and"
-// cWrapperName: "CasADi__Matrix_double___logic_and"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___logic_and(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->logic_and(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___logic_and(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___logic_and(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->logic_and(x0_) );
-}
-
-
-// ================== Normal method: "logic_or" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::logic_or"
-// cWrapperName: "CasADi__Matrix_double___logic_or"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___logic_or(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->logic_or(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___logic_or(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___logic_or(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->logic_or(x0_) );
-}
-
-
-// ================== Normal method: "if_else_zero" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::if_else_zero"
-// cWrapperName: "CasADi__Matrix_double___if_else_zero"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___if_else_zero(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->if_else_zero(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___if_else_zero(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___if_else_zero(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( obj->if_else_zero(x0_) );
-}
-
-
-// ================== Static method: "className" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::className"
-// cWrapperName: "CasADi__Matrix_double___className"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__Matrix_double___className()"
-// call: "CasADi::Matrix< double >::className()"
-extern "C"
-    std::string* CasADi__Matrix_double___className();
-std::string* CasADi__Matrix_double___className(){
-
-    return new std::string( CasADi::Matrix< double >::className() );
-}
-
-
-// ================== Normal method: "printScalar'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::printScalar'"
-// cWrapperName: "CasADi__Matrix_double___printScalar_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___printScalar_TIC(CasADi::Matrix< double >* obj)"
-// call: "obj->printScalar()"
-extern "C"
-    void CasADi__Matrix_double___printScalar_TIC(CasADi::Matrix< double >* obj);
-void CasADi__Matrix_double___printScalar_TIC(CasADi::Matrix< double >* obj){
-
-    return obj->printScalar();
-}
-
-
-// ================== Normal method: "printVector'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::printVector'"
-// cWrapperName: "CasADi__Matrix_double___printVector_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___printVector_TIC(CasADi::Matrix< double >* obj)"
-// call: "obj->printVector()"
-extern "C"
-    void CasADi__Matrix_double___printVector_TIC(CasADi::Matrix< double >* obj);
-void CasADi__Matrix_double___printVector_TIC(CasADi::Matrix< double >* obj){
-
-    return obj->printVector();
-}
-
-
-// ================== Normal method: "printMatrix'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::printMatrix'"
-// cWrapperName: "CasADi__Matrix_double___printMatrix_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___printMatrix_TIC(CasADi::Matrix< double >* obj)"
-// call: "obj->printMatrix()"
-extern "C"
-    void CasADi__Matrix_double___printMatrix_TIC(CasADi::Matrix< double >* obj);
-void CasADi__Matrix_double___printMatrix_TIC(CasADi::Matrix< double >* obj){
-
-    return obj->printMatrix();
-}
-
-
-// ================== Normal method: "printSparse'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::printSparse'"
-// cWrapperName: "CasADi__Matrix_double___printSparse_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___printSparse_TIC(CasADi::Matrix< double >* obj)"
-// call: "obj->printSparse()"
-extern "C"
-    void CasADi__Matrix_double___printSparse_TIC(CasADi::Matrix< double >* obj);
-void CasADi__Matrix_double___printSparse_TIC(CasADi::Matrix< double >* obj){
-
-    return obj->printSparse();
-}
-
-
-// ================== Normal method: "printDense'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::printDense'"
-// cWrapperName: "CasADi__Matrix_double___printDense_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___printDense_TIC(CasADi::Matrix< double >* obj)"
-// call: "obj->printDense()"
-extern "C"
-    void CasADi__Matrix_double___printDense_TIC(CasADi::Matrix< double >* obj);
-void CasADi__Matrix_double___printDense_TIC(CasADi::Matrix< double >* obj){
-
-    return obj->printDense();
-}
-
-
-// ================== Normal method: "col" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::col"
-// cWrapperName: "CasADi__Matrix_double___col"
-// protoArgs: "(CasADi::Matrix< double >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_double___col(CasADi::Matrix< double >* obj, int x0)"
-// call: "obj->col(x0_)"
-extern "C"
-    int CasADi__Matrix_double___col(CasADi::Matrix< double >* obj, int x0);
-int CasADi__Matrix_double___col(CasADi::Matrix< double >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->col(x0_);
-}
-
-
-// ================== Normal method: "rowind" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::rowind"
-// cWrapperName: "CasADi__Matrix_double___rowind"
-// protoArgs: "(CasADi::Matrix< double >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__Matrix_double___rowind(CasADi::Matrix< double >* obj, int x0)"
-// call: "obj->rowind(x0_)"
-extern "C"
-    int CasADi__Matrix_double___rowind(CasADi::Matrix< double >* obj, int x0);
-int CasADi__Matrix_double___rowind(CasADi::Matrix< double >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->rowind(x0_);
-}
-
-
-// ================== Normal method: "clear" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::clear"
-// cWrapperName: "CasADi__Matrix_double___clear"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___clear(CasADi::Matrix< double >* obj)"
-// call: "obj->clear()"
-extern "C"
-    void CasADi__Matrix_double___clear(CasADi::Matrix< double >* obj);
-void CasADi__Matrix_double___clear(CasADi::Matrix< double >* obj){
-
-    return obj->clear();
-}
-
-
-// ================== Normal method: "resize" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::resize"
-// cWrapperName: "CasADi__Matrix_double___resize"
-// protoArgs: "(CasADi::Matrix< double >* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___resize(CasADi::Matrix< double >* obj, int x0, int x1)"
-// call: "obj->resize(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_double___resize(CasADi::Matrix< double >* obj, int x0, int x1);
-void CasADi__Matrix_double___resize(CasADi::Matrix< double >* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->resize(x0_, x1_);
-}
-
-
-// ================== Normal method: "reserve" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::reserve"
-// cWrapperName: "CasADi__Matrix_double___reserve"
-// protoArgs: "(CasADi::Matrix< double >* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___reserve(CasADi::Matrix< double >* obj, int x0)"
-// call: "obj->reserve(x0_)"
-extern "C"
-    void CasADi__Matrix_double___reserve(CasADi::Matrix< double >* obj, int x0);
-void CasADi__Matrix_double___reserve(CasADi::Matrix< double >* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->reserve(x0_);
-}
-
-
-// ================== Normal method: "reserve'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::reserve'"
-// cWrapperName: "CasADi__Matrix_double___reserve_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___reserve_TIC(CasADi::Matrix< double >* obj, int x0, int x1)"
-// call: "obj->reserve(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_double___reserve_TIC(CasADi::Matrix< double >* obj, int x0, int x1);
-void CasADi__Matrix_double___reserve_TIC(CasADi::Matrix< double >* obj, int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->reserve(x0_, x1_);
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::erase"
-// cWrapperName: "CasADi__Matrix_double___erase"
-// protoArgs: "(CasADi::Matrix< double >* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___erase(CasADi::Matrix< double >* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// call: "obj->erase(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_double___erase(CasADi::Matrix< double >* obj, std::vector<int > * x0, std::vector<int > * x1);
-void CasADi__Matrix_double___erase(CasADi::Matrix< double >* obj, std::vector<int > * x0, std::vector<int > * x1){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return obj->erase(x0_, x1_);
-}
-
-
-// ================== Normal method: "remove" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::remove"
-// cWrapperName: "CasADi__Matrix_double___remove"
-// protoArgs: "(CasADi::Matrix< double >* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___remove(CasADi::Matrix< double >* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// call: "obj->remove(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_double___remove(CasADi::Matrix< double >* obj, std::vector<int > * x0, std::vector<int > * x1);
-void CasADi__Matrix_double___remove(CasADi::Matrix< double >* obj, std::vector<int > * x0, std::vector<int > * x1){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return obj->remove(x0_, x1_);
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::enlarge"
-// cWrapperName: "CasADi__Matrix_double___enlarge"
-// protoArgs: "(CasADi::Matrix< double >* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___enlarge(CasADi::Matrix< double >* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// call: "obj->enlarge(x0_, x1_, x2_, x3_)"
-extern "C"
-    void CasADi__Matrix_double___enlarge(CasADi::Matrix< double >* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3);
-void CasADi__Matrix_double___enlarge(CasADi::Matrix< double >* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-
-    return obj->enlarge(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== Normal method: "data" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::data"
-// cWrapperName: "CasADi__Matrix_double___data"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (Vec (NonVec CDouble))
-// cWrapperRetType: "std::vector<double >*"
-// proto: "std::vector<double >* CasADi__Matrix_double___data(CasADi::Matrix< double >* obj)"
-// call: "obj->data()"
-extern "C"
-    std::vector<double >* CasADi__Matrix_double___data(CasADi::Matrix< double >* obj);
-std::vector<double >* CasADi__Matrix_double___data(CasADi::Matrix< double >* obj){
-
-    return new std::vector<double >( obj->data() );
-}
-
-
-// ================== Normal method: "sparsityRef" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::sparsityRef"
-// cWrapperName: "CasADi__Matrix_double___sparsityRef"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__Matrix_double___sparsityRef(CasADi::Matrix< double >* obj)"
-// call: "obj->sparsityRef()"
-extern "C"
-    CasADi::CRSSparsity* CasADi__Matrix_double___sparsityRef(CasADi::Matrix< double >* obj);
-CasADi::CRSSparsity* CasADi__Matrix_double___sparsityRef(CasADi::Matrix< double >* obj){
-
-    return new CasADi::CRSSparsity( obj->sparsityRef() );
-}
-
-
-// ================== Normal method: "set" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::set"
-// cWrapperName: "CasADi__Matrix_double___set"
-// protoArgs: "(CasADi::Matrix< double >* obj, double x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___set(CasADi::Matrix< double >* obj, double x0, CasADi::Sparsity x1)"
-// call: "obj->set(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_double___set(CasADi::Matrix< double >* obj, double x0, CasADi::Sparsity x1);
-void CasADi__Matrix_double___set(CasADi::Matrix< double >* obj, double x0, CasADi::Sparsity x1){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->set(x0_, x1_);
-}
-
-
-// ================== Normal method: "set'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::set'"
-// cWrapperName: "CasADi__Matrix_double___set_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, double x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___set_TIC(CasADi::Matrix< double >* obj, double x0)"
-// call: "obj->set(x0_)"
-extern "C"
-    void CasADi__Matrix_double___set_TIC(CasADi::Matrix< double >* obj, double x0);
-void CasADi__Matrix_double___set_TIC(CasADi::Matrix< double >* obj, double x0){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-
-    return obj->set(x0_);
-}
-
-
-// ================== Normal method: "get" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::get"
-// cWrapperName: "CasADi__Matrix_double___get"
-// protoArgs: "(CasADi::Matrix< double >* obj, double* x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___get(CasADi::Matrix< double >* obj, double* x0, CasADi::Sparsity x1)"
-// call: "obj->get(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_double___get(CasADi::Matrix< double >* obj, double* x0, CasADi::Sparsity x1);
-void CasADi__Matrix_double___get(CasADi::Matrix< double >* obj, double* x0, CasADi::Sparsity x1){
-    double x0_ = Marshaling<double,double*>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->get(x0_, x1_);
-}
-
-
-// ================== Normal method: "get'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::get'"
-// cWrapperName: "CasADi__Matrix_double___get_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, double* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___get_TIC(CasADi::Matrix< double >* obj, double* x0)"
-// call: "obj->get(x0_)"
-extern "C"
-    void CasADi__Matrix_double___get_TIC(CasADi::Matrix< double >* obj, double* x0);
-void CasADi__Matrix_double___get_TIC(CasADi::Matrix< double >* obj, double* x0){
-    double x0_ = Marshaling<double,double*>::marshal(x0);
-
-    return obj->get(x0_);
-}
-
-
-// ================== Normal method: "set''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::set''"
-// cWrapperName: "CasADi__Matrix_double___set_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, std::vector<double > * x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___set_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double > * x0, CasADi::Sparsity x1)"
-// call: "obj->set(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_double___set_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double > * x0, CasADi::Sparsity x1);
-void CasADi__Matrix_double___set_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double > * x0, CasADi::Sparsity x1){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->set(x0_, x1_);
-}
-
-
-// ================== Normal method: "set'''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::set'''"
-// cWrapperName: "CasADi__Matrix_double___set_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, std::vector<double > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___set_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double > * x0)"
-// call: "obj->set(x0_)"
-extern "C"
-    void CasADi__Matrix_double___set_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double > * x0);
-void CasADi__Matrix_double___set_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return obj->set(x0_);
-}
-
-
-// ================== Normal method: "get''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::get''"
-// cWrapperName: "CasADi__Matrix_double___get_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, std::vector<double >* x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___get_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double >* x0, CasADi::Sparsity x1)"
-// call: "obj->get(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_double___get_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double >* x0, CasADi::Sparsity x1);
-void CasADi__Matrix_double___get_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double >* x0, CasADi::Sparsity x1){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double >*>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->get(x0_, x1_);
-}
-
-
-// ================== Normal method: "get'''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::get'''"
-// cWrapperName: "CasADi__Matrix_double___get_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, std::vector<double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___get_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double >* x0)"
-// call: "obj->get(x0_)"
-extern "C"
-    void CasADi__Matrix_double___get_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double >* x0);
-void CasADi__Matrix_double___get_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector<double >* x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double >*>::marshal(x0);
-
-    return obj->get(x0_);
-}
-
-
-// ================== Normal method: "set''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::set''''"
-// cWrapperName: "CasADi__Matrix_double___set_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1)"
-// call: "obj->set(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1);
-void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->set(x0_, x1_);
-}
-
-
-// ================== Normal method: "set'''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::set'''''"
-// cWrapperName: "CasADi__Matrix_double___set_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->set(x0_)"
-extern "C"
-    void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return obj->set(x0_);
-}
-
-
-// ================== Normal method: "get''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::get''''"
-// cWrapperName: "CasADi__Matrix_double___get_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1)"
-// call: "obj->get(x0_, x1_)"
-extern "C"
-    void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1);
-void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
-
-    return obj->get(x0_, x1_);
-}
-
-
-// ================== Normal method: "get'''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::get'''''"
-// cWrapperName: "CasADi__Matrix_double___get_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
-// call: "obj->get(x0_)"
-extern "C"
-    void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
-void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return obj->get(x0_);
-}
-
-
-// ================== Static method: "sparse" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::sparse"
-// cWrapperName: "CasADi__Matrix_double___sparse"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sparse(int x0, int x1)"
-// call: "CasADi::Matrix< double >::sparse(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___sparse(int x0, int x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___sparse(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::sparse(x0_, x1_) );
-}
-
-
-// ================== Static method: "sparse'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::sparse'"
-// cWrapperName: "CasADi__Matrix_double___sparse_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC(int x0)"
-// call: "CasADi::Matrix< double >::sparse(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC(int x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::sparse(x0_) );
-}
-
-
-// ================== Static method: "sparse''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::sparse''"
-// cWrapperName: "CasADi__Matrix_double___sparse_TIC_TIC"
-// protoArgs: "(std::vector<int > * x0, std::vector<int > * x1, std::vector<double > * x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<double > * x2)"
-// call: "CasADi::Matrix< double >::sparse(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<double > * x2);
-CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<double > * x2){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-    std::vector<double > x2_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::sparse(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "sparse'''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::sparse'''"
-// cWrapperName: "CasADi__Matrix_double___sparse_TIC_TIC_TIC"
-// protoArgs: "(std::vector<int > * x0, std::vector<int > * x1, std::vector<double > * x2, int x3, int x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<double > * x2, int x3, int x4)"
-// call: "CasADi::Matrix< double >::sparse(x0_, x1_, x2_, x3_, x4_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<double > * x2, int x3, int x4);
-CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC_TIC(std::vector<int > * x0, std::vector<int > * x1, std::vector<double > * x2, int x3, int x4){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-    std::vector<double > x2_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-    int x4_ = Marshaling<int,int>::marshal(x4);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::sparse(x0_, x1_, x2_, x3_, x4_) );
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::zeros"
-// cWrapperName: "CasADi__Matrix_double___zeros"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___zeros(CasADi::CRSSparsity* x0)"
-// call: "CasADi::Matrix< double >::zeros(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___zeros(CasADi::CRSSparsity* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___zeros(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::zeros(x0_) );
-}
-
-
-// ================== Static method: "zeros'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::zeros'"
-// cWrapperName: "CasADi__Matrix_double___zeros_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC(int x0, int x1)"
-// call: "CasADi::Matrix< double >::zeros(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC(int x0, int x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::zeros(x0_, x1_) );
-}
-
-
-// ================== Static method: "zeros''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::zeros''"
-// cWrapperName: "CasADi__Matrix_double___zeros_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC_TIC(int x0)"
-// call: "CasADi::Matrix< double >::zeros(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC_TIC(int x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::zeros(x0_) );
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::ones"
-// cWrapperName: "CasADi__Matrix_double___ones"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___ones(CasADi::CRSSparsity* x0)"
-// call: "CasADi::Matrix< double >::ones(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___ones(CasADi::CRSSparsity* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___ones(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::ones(x0_) );
-}
-
-
-// ================== Static method: "ones'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::ones'"
-// cWrapperName: "CasADi__Matrix_double___ones_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC(int x0, int x1)"
-// call: "CasADi::Matrix< double >::ones(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC(int x0, int x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::ones(x0_, x1_) );
-}
-
-
-// ================== Static method: "ones''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::ones''"
-// cWrapperName: "CasADi__Matrix_double___ones_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC_TIC(int x0)"
-// call: "CasADi::Matrix< double >::ones(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC_TIC(int x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::ones(x0_) );
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::inf"
-// cWrapperName: "CasADi__Matrix_double___inf"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___inf(CasADi::CRSSparsity* x0)"
-// call: "CasADi::Matrix< double >::inf(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___inf(CasADi::CRSSparsity* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___inf(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::inf(x0_) );
-}
-
-
-// ================== Static method: "inf'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::inf'"
-// cWrapperName: "CasADi__Matrix_double___inf_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC(int x0, int x1)"
-// call: "CasADi::Matrix< double >::inf(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC(int x0, int x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::inf(x0_, x1_) );
-}
-
-
-// ================== Static method: "inf''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::inf''"
-// cWrapperName: "CasADi__Matrix_double___inf_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC(int x0)"
-// call: "CasADi::Matrix< double >::inf(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC(int x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::inf(x0_) );
-}
-
-
-// ================== Static method: "inf'''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::inf'''"
-// cWrapperName: "CasADi__Matrix_double___inf_TIC_TIC_TIC"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC_TIC()"
-// call: "CasADi::Matrix< double >::inf()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC_TIC();
-CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC_TIC(){
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::inf() );
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::nan"
-// cWrapperName: "CasADi__Matrix_double___nan"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___nan(CasADi::CRSSparsity* x0)"
-// call: "CasADi::Matrix< double >::nan(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___nan(CasADi::CRSSparsity* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___nan(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::nan(x0_) );
-}
-
-
-// ================== Static method: "nan'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::nan'"
-// cWrapperName: "CasADi__Matrix_double___nan_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC(int x0, int x1)"
-// call: "CasADi::Matrix< double >::nan(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC(int x0, int x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::nan(x0_, x1_) );
-}
-
-
-// ================== Static method: "nan''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::nan''"
-// cWrapperName: "CasADi__Matrix_double___nan_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC(int x0)"
-// call: "CasADi::Matrix< double >::nan(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC(int x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::nan(x0_) );
-}
-
-
-// ================== Static method: "nan'''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::nan'''"
-// cWrapperName: "CasADi__Matrix_double___nan_TIC_TIC_TIC"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC_TIC()"
-// call: "CasADi::Matrix< double >::nan()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC_TIC();
-CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC_TIC(){
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::nan() );
-}
-
-
-// ================== Static method: "repmat" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::repmat"
-// cWrapperName: "CasADi__Matrix_double___repmat"
-// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___repmat(CasADi::Matrix< double >* x0, int x1, int x2)"
-// call: "CasADi::Matrix< double >::repmat(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___repmat(CasADi::Matrix< double >* x0, int x1, int x2);
-CasADi::Matrix< double >* CasADi__Matrix_double___repmat(CasADi::Matrix< double >* x0, int x1, int x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::repmat(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "repmat'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::repmat'"
-// cWrapperName: "CasADi__Matrix_double___repmat_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___repmat_TIC(CasADi::Matrix< double >* x0, int x1)"
-// call: "CasADi::Matrix< double >::repmat(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___repmat_TIC(CasADi::Matrix< double >* x0, int x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___repmat_TIC(CasADi::Matrix< double >* x0, int x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::repmat(x0_, x1_) );
-}
-
-
-// ================== Static method: "eye" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::eye"
-// cWrapperName: "CasADi__Matrix_double___eye"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___eye(int x0)"
-// call: "CasADi::Matrix< double >::eye(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___eye(int x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___eye(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >::eye(x0_) );
-}
-
-
-// ================== Normal method: "isNull" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::isNull"
-// cWrapperName: "CasADi__Matrix_double___isNull"
-// protoArgs: "(CasADi::Matrix< double >* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__Matrix_double___isNull(CasADi::Matrix< double >* obj)"
-// call: "obj->isNull()"
-extern "C"
-    bool* CasADi__Matrix_double___isNull(CasADi::Matrix< double >* obj);
-bool* CasADi__Matrix_double___isNull(CasADi::Matrix< double >* obj){
-
-    return new bool( obj->isNull() );
-}
-
-
-// ================== Static method: "setPrecision" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::setPrecision"
-// cWrapperName: "CasADi__Matrix_double___setPrecision"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___setPrecision(int x0)"
-// call: "CasADi::Matrix< double >::setPrecision(x0_)"
-extern "C"
-    void CasADi__Matrix_double___setPrecision(int x0);
-void CasADi__Matrix_double___setPrecision(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return CasADi::Matrix< double >::setPrecision(x0_);
-}
-
-
-// ================== Static method: "setWidth" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::setWidth"
-// cWrapperName: "CasADi__Matrix_double___setWidth"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___setWidth(int x0)"
-// call: "CasADi::Matrix< double >::setWidth(x0_)"
-extern "C"
-    void CasADi__Matrix_double___setWidth(int x0);
-void CasADi__Matrix_double___setWidth(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return CasADi::Matrix< double >::setWidth(x0_);
-}
-
-
-// ================== Static method: "setScientific" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >::setScientific"
-// cWrapperName: "CasADi__Matrix_double___setScientific"
-// protoArgs: "(bool* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__Matrix_double___setScientific(bool* x0)"
-// call: "CasADi::Matrix< double >::setScientific(x0_)"
-extern "C"
-    void CasADi__Matrix_double___setScientific(bool* x0);
-void CasADi__Matrix_double___setScientific(bool* x0){
-    bool x0_ = Marshaling<bool,bool*>::marshal(x0);
-
-    return CasADi::Matrix< double >::setScientific(x0_);
-}
-
-
-// ================== Constructor method: "DMatrix" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix()"
-// call: "CasADi::Matrix< double >()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix();
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix(){
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >() );
-}
-
-
-// ================== Constructor method: "DMatrix'" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::Matrix< double >(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_) );
-}
-
-
-// ================== Constructor method: "DMatrix''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC(int x0, int x1)"
-// call: "CasADi::Matrix< double >(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC(int x0, int x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "DMatrix'''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC"
-// protoArgs: "(int x0, int x1, double* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC(int x0, int x1, double* x2)"
-// call: "CasADi::Matrix< double >(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC(int x0, int x1, double* x2);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC(int x0, int x1, double* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    double x2_ = Marshaling<double,double*>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_, x1_, x2_) );
-}
-
-
-// ================== Constructor method: "DMatrix''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC"
-// protoArgs: "(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<double > * x4)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<double > * x4)"
-// call: "CasADi::Matrix< double >(x0_, x1_, x2_, x3_, x4_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<double > * x4);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<double > * x4){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-    std::vector<double > x4_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x4);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_, x1_, x2_, x3_, x4_) );
-}
-
-
-// ================== Constructor method: "DMatrix'''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// call: "CasADi::Matrix< double >(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== Constructor method: "DMatrix''''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<std::vector<double > > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<std::vector<double > > * x0)"
-// call: "CasADi::Matrix< double >(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<std::vector<double > > * x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<std::vector<double > > * x0){
-    std::vector<std::vector<double > > x0_ = Marshaling<std::vector<std::vector<double > >,std::vector<std::vector<double > > *>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_) );
-}
-
-
-// ================== Constructor method: "DMatrix'''''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0, double* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, double* x1)"
-// call: "CasADi::Matrix< double >(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, double* x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, double* x1){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-    double x1_ = Marshaling<double,double*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "DMatrix''''''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0)"
-// call: "CasADi::Matrix< double >(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_) );
-}
-
-
-// ================== Constructor method: "DMatrix'''''''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0, std::vector<double > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector<double > * x1)"
-// call: "CasADi::Matrix< double >(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector<double > * x1);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector<double > * x1){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-    std::vector<double > x1_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "DMatrix''''''''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(double x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0)"
-// call: "CasADi::Matrix< double >(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_) );
-}
-
-
-// ================== Constructor method: "DMatrix'''''''''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<double > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<double > * x0)"
-// call: "CasADi::Matrix< double >(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<double > * x0);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_) );
-}
-
-
-// ================== Constructor method: "DMatrix''''''''''''" ===============
-// class: "CasADi::Matrix< double >"
-// cppName: "CasADi::Matrix< double >"
-// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<double > * x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<double > * x0, int x1, int x2)"
-// call: "CasADi::Matrix< double >(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<double > * x0, int x1, int x2);
-CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<double > * x0, int x1, int x2){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::Matrix< double >(x0_, x1_, x2_) );
-}
-
-
-// ================== delete CasadiClass MX===============
-// classType: CasadiClass MX
-extern "C"
-    void delete_CasADi__MX(CasADi::MX* obj);
-void delete_CasADi__MX(CasADi::MX* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__MX_(std::vector<CasADi::MX* >* obj);
-void delete_std__vector_CasADi__MX_(std::vector<CasADi::MX* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__MX__(std::vector<std::vector<CasADi::MX* > >* obj);
-void delete_std__vector_std__vector_CasADi__MX__(std::vector<std::vector<CasADi::MX* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__MX___(std::vector<std::vector<std::vector<CasADi::MX* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__MX___(std::vector<std::vector<std::vector<CasADi::MX* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "size1" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::size1"
-// cWrapperName: "CasADi__MX__size1"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MX__size1(CasADi::MX* obj)"
-// call: "obj->size1()"
-extern "C"
-    int CasADi__MX__size1(CasADi::MX* obj);
-int CasADi__MX__size1(CasADi::MX* obj){
-
-    return obj->size1();
-}
-
-
-// ================== Normal method: "size2" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::size2"
-// cWrapperName: "CasADi__MX__size2"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MX__size2(CasADi::MX* obj)"
-// call: "obj->size2()"
-extern "C"
-    int CasADi__MX__size2(CasADi::MX* obj);
-int CasADi__MX__size2(CasADi::MX* obj){
-
-    return obj->size2();
-}
-
-
-// ================== Normal method: "size" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::size"
-// cWrapperName: "CasADi__MX__size"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MX__size(CasADi::MX* obj)"
-// call: "obj->size()"
-extern "C"
-    int CasADi__MX__size(CasADi::MX* obj);
-int CasADi__MX__size(CasADi::MX* obj){
-
-    return obj->size();
-}
-
-
-// ================== Normal method: "numel" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::numel"
-// cWrapperName: "CasADi__MX__numel"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MX__numel(CasADi::MX* obj)"
-// call: "obj->numel()"
-extern "C"
-    int CasADi__MX__numel(CasADi::MX* obj);
-int CasADi__MX__numel(CasADi::MX* obj){
-
-    return obj->numel();
-}
-
-
-// ================== Normal method: "__nonzero__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__nonzero__"
-// cWrapperName: "CasADi__MX____nonzero__"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX____nonzero__(CasADi::MX* obj)"
-// call: "obj->__nonzero__()"
-extern "C"
-    bool* CasADi__MX____nonzero__(CasADi::MX* obj);
-bool* CasADi__MX____nonzero__(CasADi::MX* obj){
-
-    return new bool( obj->__nonzero__() );
-}
-
-
-// ================== Normal method: "sparsityRef" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::sparsityRef"
-// cWrapperName: "CasADi__MX__sparsityRef"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass CRSSparsity))
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__MX__sparsityRef(CasADi::MX* obj)"
-// call: "obj->sparsityRef()"
-extern "C"
-    CasADi::CRSSparsity* CasADi__MX__sparsityRef(CasADi::MX* obj);
-CasADi::CRSSparsity* CasADi__MX__sparsityRef(CasADi::MX* obj){
-
-    return new CasADi::CRSSparsity( obj->sparsityRef() );
-}
-
-
-// ================== Normal method: "erase" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::erase"
-// cWrapperName: "CasADi__MX__erase"
-// protoArgs: "(CasADi::MX* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__MX__erase(CasADi::MX* obj, std::vector<int > * x0, std::vector<int > * x1)"
-// call: "obj->erase(x0_, x1_)"
-extern "C"
-    void CasADi__MX__erase(CasADi::MX* obj, std::vector<int > * x0, std::vector<int > * x1);
-void CasADi__MX__erase(CasADi::MX* obj, std::vector<int > * x0, std::vector<int > * x1){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return obj->erase(x0_, x1_);
-}
-
-
-// ================== Normal method: "enlarge" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::enlarge"
-// cWrapperName: "CasADi__MX__enlarge"
-// protoArgs: "(CasADi::MX* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__MX__enlarge(CasADi::MX* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// call: "obj->enlarge(x0_, x1_, x2_, x3_)"
-extern "C"
-    void CasADi__MX__enlarge(CasADi::MX* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3);
-void CasADi__MX__enlarge(CasADi::MX* obj, int x0, int x1, std::vector<int > * x2, std::vector<int > * x3){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-
-    return obj->enlarge(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== Normal method: "operator -" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::operator -"
-// cWrapperName: "CasADi__MX__operator_minus"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__operator_minus(CasADi::MX* obj)"
-// call: "obj->operator -()"
-extern "C"
-    CasADi::MX* CasADi__MX__operator_minus(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__operator_minus(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->operator -() );
-}
-
-
-// ================== Normal method: "getDep" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getDep"
-// cWrapperName: "CasADi__MX__getDep"
-// protoArgs: "(CasADi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__getDep(CasADi::MX* obj, int x0)"
-// call: "obj->getDep(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__getDep(CasADi::MX* obj, int x0);
-CasADi::MX* CasADi__MX__getDep(CasADi::MX* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::MX( obj->getDep(x0_) );
-}
-
-
-// ================== Normal method: "getDep'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getDep'"
-// cWrapperName: "CasADi__MX__getDep_TIC"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__getDep_TIC(CasADi::MX* obj)"
-// call: "obj->getDep()"
-extern "C"
-    CasADi::MX* CasADi__MX__getDep_TIC(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__getDep_TIC(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->getDep() );
-}
-
-
-// ================== Normal method: "getNumOutputs" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getNumOutputs"
-// cWrapperName: "CasADi__MX__getNumOutputs"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MX__getNumOutputs(CasADi::MX* obj)"
-// call: "obj->getNumOutputs()"
-extern "C"
-    int CasADi__MX__getNumOutputs(CasADi::MX* obj);
-int CasADi__MX__getNumOutputs(CasADi::MX* obj){
-
-    return obj->getNumOutputs();
-}
-
-
-// ================== Normal method: "getOutput" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getOutput"
-// cWrapperName: "CasADi__MX__getOutput"
-// protoArgs: "(CasADi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__getOutput(CasADi::MX* obj, int x0)"
-// call: "obj->getOutput(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__getOutput(CasADi::MX* obj, int x0);
-CasADi::MX* CasADi__MX__getOutput(CasADi::MX* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::MX( obj->getOutput(x0_) );
-}
-
-
-// ================== Normal method: "getOutput'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getOutput'"
-// cWrapperName: "CasADi__MX__getOutput_TIC"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__getOutput_TIC(CasADi::MX* obj)"
-// call: "obj->getOutput()"
-extern "C"
-    CasADi::MX* CasADi__MX__getOutput_TIC(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__getOutput_TIC(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->getOutput() );
-}
-
-
-// ================== Normal method: "getNdeps" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getNdeps"
-// cWrapperName: "CasADi__MX__getNdeps"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MX__getNdeps(CasADi::MX* obj)"
-// call: "obj->getNdeps()"
-extern "C"
-    int CasADi__MX__getNdeps(CasADi::MX* obj);
-int CasADi__MX__getNdeps(CasADi::MX* obj){
-
-    return obj->getNdeps();
-}
-
-
-// ================== Normal method: "getName" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getName"
-// cWrapperName: "CasADi__MX__getName"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__MX__getName(CasADi::MX* obj)"
-// call: "obj->getName()"
-extern "C"
-    std::string* CasADi__MX__getName(CasADi::MX* obj);
-std::string* CasADi__MX__getName(CasADi::MX* obj){
-
-    return new std::string( obj->getName() );
-}
-
-
-// ================== Normal method: "getValue" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getValue"
-// cWrapperName: "CasADi__MX__getValue"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CDouble)
-// cWrapperRetType: "double"
-// proto: "double CasADi__MX__getValue(CasADi::MX* obj)"
-// call: "obj->getValue()"
-extern "C"
-    double CasADi__MX__getValue(CasADi::MX* obj);
-double CasADi__MX__getValue(CasADi::MX* obj){
-
-    return obj->getValue();
-}
-
-
-// ================== Normal method: "getMatrixValue" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getMatrixValue"
-// cWrapperName: "CasADi__MX__getMatrixValue"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass DMatrix))
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__MX__getMatrixValue(CasADi::MX* obj)"
-// call: "obj->getMatrixValue()"
-extern "C"
-    CasADi::Matrix< double >* CasADi__MX__getMatrixValue(CasADi::MX* obj);
-CasADi::Matrix< double >* CasADi__MX__getMatrixValue(CasADi::MX* obj){
-
-    return new CasADi::Matrix< double >( obj->getMatrixValue() );
-}
-
-
-// ================== Normal method: "isSymbolic" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isSymbolic"
-// cWrapperName: "CasADi__MX__isSymbolic"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isSymbolic(CasADi::MX* obj)"
-// call: "obj->isSymbolic()"
-extern "C"
-    bool* CasADi__MX__isSymbolic(CasADi::MX* obj);
-bool* CasADi__MX__isSymbolic(CasADi::MX* obj){
-
-    return new bool( obj->isSymbolic() );
-}
-
-
-// ================== Normal method: "isConstant" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isConstant"
-// cWrapperName: "CasADi__MX__isConstant"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isConstant(CasADi::MX* obj)"
-// call: "obj->isConstant()"
-extern "C"
-    bool* CasADi__MX__isConstant(CasADi::MX* obj);
-bool* CasADi__MX__isConstant(CasADi::MX* obj){
-
-    return new bool( obj->isConstant() );
-}
-
-
-// ================== Normal method: "isEvaluation" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isEvaluation"
-// cWrapperName: "CasADi__MX__isEvaluation"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isEvaluation(CasADi::MX* obj)"
-// call: "obj->isEvaluation()"
-extern "C"
-    bool* CasADi__MX__isEvaluation(CasADi::MX* obj);
-bool* CasADi__MX__isEvaluation(CasADi::MX* obj){
-
-    return new bool( obj->isEvaluation() );
-}
-
-
-// ================== Normal method: "isEvaluationOutput" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isEvaluationOutput"
-// cWrapperName: "CasADi__MX__isEvaluationOutput"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isEvaluationOutput(CasADi::MX* obj)"
-// call: "obj->isEvaluationOutput()"
-extern "C"
-    bool* CasADi__MX__isEvaluationOutput(CasADi::MX* obj);
-bool* CasADi__MX__isEvaluationOutput(CasADi::MX* obj){
-
-    return new bool( obj->isEvaluationOutput() );
-}
-
-
-// ================== Normal method: "getEvaluationOutput" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getEvaluationOutput"
-// cWrapperName: "CasADi__MX__getEvaluationOutput"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MX__getEvaluationOutput(CasADi::MX* obj)"
-// call: "obj->getEvaluationOutput()"
-extern "C"
-    int CasADi__MX__getEvaluationOutput(CasADi::MX* obj);
-int CasADi__MX__getEvaluationOutput(CasADi::MX* obj){
-
-    return obj->getEvaluationOutput();
-}
-
-
-// ================== Normal method: "isOperation" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isOperation"
-// cWrapperName: "CasADi__MX__isOperation"
-// protoArgs: "(CasADi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isOperation(CasADi::MX* obj, int x0)"
-// call: "obj->isOperation(x0_)"
-extern "C"
-    bool* CasADi__MX__isOperation(CasADi::MX* obj, int x0);
-bool* CasADi__MX__isOperation(CasADi::MX* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new bool( obj->isOperation(x0_) );
-}
-
-
-// ================== Normal method: "isMultiplication" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isMultiplication"
-// cWrapperName: "CasADi__MX__isMultiplication"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isMultiplication(CasADi::MX* obj)"
-// call: "obj->isMultiplication()"
-extern "C"
-    bool* CasADi__MX__isMultiplication(CasADi::MX* obj);
-bool* CasADi__MX__isMultiplication(CasADi::MX* obj){
-
-    return new bool( obj->isMultiplication() );
-}
-
-
-// ================== Normal method: "isCommutative" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isCommutative"
-// cWrapperName: "CasADi__MX__isCommutative"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isCommutative(CasADi::MX* obj)"
-// call: "obj->isCommutative()"
-extern "C"
-    bool* CasADi__MX__isCommutative(CasADi::MX* obj);
-bool* CasADi__MX__isCommutative(CasADi::MX* obj){
-
-    return new bool( obj->isCommutative() );
-}
-
-
-// ================== Normal method: "isNorm" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isNorm"
-// cWrapperName: "CasADi__MX__isNorm"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isNorm(CasADi::MX* obj)"
-// call: "obj->isNorm()"
-extern "C"
-    bool* CasADi__MX__isNorm(CasADi::MX* obj);
-bool* CasADi__MX__isNorm(CasADi::MX* obj){
-
-    return new bool( obj->isNorm() );
-}
-
-
-// ================== Normal method: "getFunction" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getFunction"
-// cWrapperName: "CasADi__MX__getFunction"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass FX))
-// cWrapperRetType: "CasADi::FX*"
-// proto: "CasADi::FX* CasADi__MX__getFunction(CasADi::MX* obj)"
-// call: "obj->getFunction()"
-extern "C"
-    CasADi::FX* CasADi__MX__getFunction(CasADi::MX* obj);
-CasADi::FX* CasADi__MX__getFunction(CasADi::MX* obj){
-
-    return new CasADi::FX( obj->getFunction() );
-}
-
-
-// ================== Normal method: "isBinary" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isBinary"
-// cWrapperName: "CasADi__MX__isBinary"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isBinary(CasADi::MX* obj)"
-// call: "obj->isBinary()"
-extern "C"
-    bool* CasADi__MX__isBinary(CasADi::MX* obj);
-bool* CasADi__MX__isBinary(CasADi::MX* obj){
-
-    return new bool( obj->isBinary() );
-}
-
-
-// ================== Normal method: "isUnary" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isUnary"
-// cWrapperName: "CasADi__MX__isUnary"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isUnary(CasADi::MX* obj)"
-// call: "obj->isUnary()"
-extern "C"
-    bool* CasADi__MX__isUnary(CasADi::MX* obj);
-bool* CasADi__MX__isUnary(CasADi::MX* obj){
-
-    return new bool( obj->isUnary() );
-}
-
-
-// ================== Normal method: "getOp" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getOp"
-// cWrapperName: "CasADi__MX__getOp"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MX__getOp(CasADi::MX* obj)"
-// call: "obj->getOp()"
-extern "C"
-    int CasADi__MX__getOp(CasADi::MX* obj);
-int CasADi__MX__getOp(CasADi::MX* obj){
-
-    return obj->getOp();
-}
-
-
-// ================== Normal method: "isEqual" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isEqual"
-// cWrapperName: "CasADi__MX__isEqual"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isEqual(CasADi::MX* obj, CasADi::MX* x0, int x1)"
-// call: "obj->isEqual(x0_, x1_)"
-extern "C"
-    bool* CasADi__MX__isEqual(CasADi::MX* obj, CasADi::MX* x0, int x1);
-bool* CasADi__MX__isEqual(CasADi::MX* obj, CasADi::MX* x0, int x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new bool( obj->isEqual(x0_, x1_) );
-}
-
-
-// ================== Normal method: "isEqual'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::isEqual'"
-// cWrapperName: "CasADi__MX__isEqual_TIC"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__MX__isEqual_TIC(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->isEqual(x0_)"
-extern "C"
-    bool* CasADi__MX__isEqual_TIC(CasADi::MX* obj, CasADi::MX* x0);
-bool* CasADi__MX__isEqual_TIC(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new bool( obj->isEqual(x0_) );
-}
-
-
-// ================== Normal method: "__hash__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__hash__"
-// cWrapperName: "CasADi__MX____hash__"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CLong)
-// cWrapperRetType: "long"
-// proto: "long CasADi__MX____hash__(CasADi::MX* obj)"
-// call: "obj->__hash__()"
-extern "C"
-    long CasADi__MX____hash__(CasADi::MX* obj);
-long CasADi__MX____hash__(CasADi::MX* obj){
-
-    return obj->__hash__();
-}
-
-
-// ================== Normal method: "getTemp" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getTemp"
-// cWrapperName: "CasADi__MX__getTemp"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MX__getTemp(CasADi::MX* obj)"
-// call: "obj->getTemp()"
-extern "C"
-    int CasADi__MX__getTemp(CasADi::MX* obj);
-int CasADi__MX__getTemp(CasADi::MX* obj){
-
-    return obj->getTemp();
-}
-
-
-// ================== Normal method: "setTemp" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::setTemp"
-// cWrapperName: "CasADi__MX__setTemp"
-// protoArgs: "(CasADi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__MX__setTemp(CasADi::MX* obj, int x0)"
-// call: "obj->setTemp(x0_)"
-extern "C"
-    void CasADi__MX__setTemp(CasADi::MX* obj, int x0);
-void CasADi__MX__setTemp(CasADi::MX* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->setTemp(x0_);
-}
-
-
-// ================== Static method: "binary" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::binary"
-// cWrapperName: "CasADi__MX__binary"
-// protoArgs: "(int x0, CasADi::MX* x1, CasADi::MX* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__binary(int x0, CasADi::MX* x1, CasADi::MX* x2)"
-// call: "CasADi::MX::binary(x0_, x1_, x2_)"
-extern "C"
-    CasADi::MX* CasADi__MX__binary(int x0, CasADi::MX* x1, CasADi::MX* x2);
-CasADi::MX* CasADi__MX__binary(int x0, CasADi::MX* x1, CasADi::MX* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-    CasADi::MX x2_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x2);
-
-    return new CasADi::MX( CasADi::MX::binary(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "unary" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::unary"
-// cWrapperName: "CasADi__MX__unary"
-// protoArgs: "(int x0, CasADi::MX* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__unary(int x0, CasADi::MX* x1)"
-// call: "CasADi::MX::unary(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__unary(int x0, CasADi::MX* x1);
-CasADi::MX* CasADi__MX__unary(int x0, CasADi::MX* x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::MX::unary(x0_, x1_) );
-}
-
-
-// ================== Static method: "sparse" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::sparse"
-// cWrapperName: "CasADi__MX__sparse"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__sparse(int x0, int x1)"
-// call: "CasADi::MX::sparse(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__sparse(int x0, int x1);
-CasADi::MX* CasADi__MX__sparse(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::MX( CasADi::MX::sparse(x0_, x1_) );
-}
-
-
-// ================== Static method: "sparse'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::sparse'"
-// cWrapperName: "CasADi__MX__sparse_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__sparse_TIC(int x0)"
-// call: "CasADi::MX::sparse(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__sparse_TIC(int x0);
-CasADi::MX* CasADi__MX__sparse_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX::sparse(x0_) );
-}
-
-
-// ================== Static method: "zeros" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::zeros"
-// cWrapperName: "CasADi__MX__zeros"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__zeros(CasADi::CRSSparsity* x0)"
-// call: "CasADi::MX::zeros(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__zeros(CasADi::CRSSparsity* x0);
-CasADi::MX* CasADi__MX__zeros(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX::zeros(x0_) );
-}
-
-
-// ================== Static method: "zeros'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::zeros'"
-// cWrapperName: "CasADi__MX__zeros_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__zeros_TIC(int x0, int x1)"
-// call: "CasADi::MX::zeros(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__zeros_TIC(int x0, int x1);
-CasADi::MX* CasADi__MX__zeros_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::MX( CasADi::MX::zeros(x0_, x1_) );
-}
-
-
-// ================== Static method: "zeros''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::zeros''"
-// cWrapperName: "CasADi__MX__zeros_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__zeros_TIC_TIC(int x0)"
-// call: "CasADi::MX::zeros(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__zeros_TIC_TIC(int x0);
-CasADi::MX* CasADi__MX__zeros_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX::zeros(x0_) );
-}
-
-
-// ================== Static method: "ones" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::ones"
-// cWrapperName: "CasADi__MX__ones"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__ones(CasADi::CRSSparsity* x0)"
-// call: "CasADi::MX::ones(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__ones(CasADi::CRSSparsity* x0);
-CasADi::MX* CasADi__MX__ones(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX::ones(x0_) );
-}
-
-
-// ================== Static method: "ones'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::ones'"
-// cWrapperName: "CasADi__MX__ones_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__ones_TIC(int x0, int x1)"
-// call: "CasADi::MX::ones(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__ones_TIC(int x0, int x1);
-CasADi::MX* CasADi__MX__ones_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::MX( CasADi::MX::ones(x0_, x1_) );
-}
-
-
-// ================== Static method: "ones''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::ones''"
-// cWrapperName: "CasADi__MX__ones_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__ones_TIC_TIC(int x0)"
-// call: "CasADi::MX::ones(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__ones_TIC_TIC(int x0);
-CasADi::MX* CasADi__MX__ones_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX::ones(x0_) );
-}
-
-
-// ================== Static method: "inf" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::inf"
-// cWrapperName: "CasADi__MX__inf"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__inf(CasADi::CRSSparsity* x0)"
-// call: "CasADi::MX::inf(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__inf(CasADi::CRSSparsity* x0);
-CasADi::MX* CasADi__MX__inf(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX::inf(x0_) );
-}
-
-
-// ================== Static method: "inf'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::inf'"
-// cWrapperName: "CasADi__MX__inf_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__inf_TIC(int x0, int x1)"
-// call: "CasADi::MX::inf(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__inf_TIC(int x0, int x1);
-CasADi::MX* CasADi__MX__inf_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::MX( CasADi::MX::inf(x0_, x1_) );
-}
-
-
-// ================== Static method: "inf''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::inf''"
-// cWrapperName: "CasADi__MX__inf_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__inf_TIC_TIC(int x0)"
-// call: "CasADi::MX::inf(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__inf_TIC_TIC(int x0);
-CasADi::MX* CasADi__MX__inf_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX::inf(x0_) );
-}
-
-
-// ================== Static method: "inf'''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::inf'''"
-// cWrapperName: "CasADi__MX__inf_TIC_TIC_TIC"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__inf_TIC_TIC_TIC()"
-// call: "CasADi::MX::inf()"
-extern "C"
-    CasADi::MX* CasADi__MX__inf_TIC_TIC_TIC();
-CasADi::MX* CasADi__MX__inf_TIC_TIC_TIC(){
-
-    return new CasADi::MX( CasADi::MX::inf() );
-}
-
-
-// ================== Static method: "nan" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::nan"
-// cWrapperName: "CasADi__MX__nan"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__nan(CasADi::CRSSparsity* x0)"
-// call: "CasADi::MX::nan(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__nan(CasADi::CRSSparsity* x0);
-CasADi::MX* CasADi__MX__nan(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX::nan(x0_) );
-}
-
-
-// ================== Static method: "nan'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::nan'"
-// cWrapperName: "CasADi__MX__nan_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__nan_TIC(int x0, int x1)"
-// call: "CasADi::MX::nan(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__nan_TIC(int x0, int x1);
-CasADi::MX* CasADi__MX__nan_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::MX( CasADi::MX::nan(x0_, x1_) );
-}
-
-
-// ================== Static method: "nan''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::nan''"
-// cWrapperName: "CasADi__MX__nan_TIC_TIC"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__nan_TIC_TIC(int x0)"
-// call: "CasADi::MX::nan(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__nan_TIC_TIC(int x0);
-CasADi::MX* CasADi__MX__nan_TIC_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX::nan(x0_) );
-}
-
-
-// ================== Static method: "nan'''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::nan'''"
-// cWrapperName: "CasADi__MX__nan_TIC_TIC_TIC"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__nan_TIC_TIC_TIC()"
-// call: "CasADi::MX::nan()"
-extern "C"
-    CasADi::MX* CasADi__MX__nan_TIC_TIC_TIC();
-CasADi::MX* CasADi__MX__nan_TIC_TIC_TIC(){
-
-    return new CasADi::MX( CasADi::MX::nan() );
-}
-
-
-// ================== Static method: "repmat" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::repmat"
-// cWrapperName: "CasADi__MX__repmat"
-// protoArgs: "(CasADi::MX* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__repmat(CasADi::MX* x0, int x1, int x2)"
-// call: "CasADi::MX::repmat(x0_, x1_, x2_)"
-extern "C"
-    CasADi::MX* CasADi__MX__repmat(CasADi::MX* x0, int x1, int x2);
-CasADi::MX* CasADi__MX__repmat(CasADi::MX* x0, int x1, int x2){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::MX( CasADi::MX::repmat(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "repmat'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::repmat'"
-// cWrapperName: "CasADi__MX__repmat_TIC"
-// protoArgs: "(CasADi::MX* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__repmat_TIC(CasADi::MX* x0, int x1)"
-// call: "CasADi::MX::repmat(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__repmat_TIC(CasADi::MX* x0, int x1);
-CasADi::MX* CasADi__MX__repmat_TIC(CasADi::MX* x0, int x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::MX( CasADi::MX::repmat(x0_, x1_) );
-}
-
-
-// ================== Static method: "eye" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::eye"
-// cWrapperName: "CasADi__MX__eye"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__eye(int x0)"
-// call: "CasADi::MX::eye(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__eye(int x0);
-CasADi::MX* CasADi__MX__eye(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX::eye(x0_) );
-}
-
-
-// ================== Normal method: "getNZ" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getNZ"
-// cWrapperName: "CasADi__MX__getNZ"
-// protoArgs: "(CasADi::MX* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__getNZ(CasADi::MX* obj, int x0)"
-// call: "obj->getNZ(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__getNZ(CasADi::MX* obj, int x0);
-CasADi::MX* CasADi__MX__getNZ(CasADi::MX* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::MX( obj->getNZ(x0_) );
-}
-
-
-// ================== Normal method: "getNZ'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getNZ'"
-// cWrapperName: "CasADi__MX__getNZ_TIC"
-// protoArgs: "(CasADi::MX* obj, std::vector<int > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__getNZ_TIC(CasADi::MX* obj, std::vector<int > * x0)"
-// call: "obj->getNZ(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__getNZ_TIC(CasADi::MX* obj, std::vector<int > * x0);
-CasADi::MX* CasADi__MX__getNZ_TIC(CasADi::MX* obj, std::vector<int > * x0){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-
-    return new CasADi::MX( obj->getNZ(x0_) );
-}
-
-
-// ================== Normal method: "append" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::append"
-// cWrapperName: "CasADi__MX__append"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__MX__append(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->append(x0_)"
-extern "C"
-    void CasADi__MX__append(CasADi::MX* obj, CasADi::MX* x0);
-void CasADi__MX__append(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return obj->append(x0_);
-}
-
-
-// ================== Normal method: "__add__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__add__"
-// cWrapperName: "CasADi__MX____add__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____add__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__add__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____add__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____add__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__add__(x0_) );
-}
-
-
-// ================== Normal method: "__sub__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__sub__"
-// cWrapperName: "CasADi__MX____sub__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____sub__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__sub__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____sub__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____sub__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__sub__(x0_) );
-}
-
-
-// ================== Normal method: "__mul__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__mul__"
-// cWrapperName: "CasADi__MX____mul__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____mul__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__mul__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____mul__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____mul__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__mul__(x0_) );
-}
-
-
-// ================== Normal method: "__div__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__div__"
-// cWrapperName: "CasADi__MX____div__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____div__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__div__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____div__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____div__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__div__(x0_) );
-}
-
-
-// ================== Normal method: "__lt__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__lt__"
-// cWrapperName: "CasADi__MX____lt__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____lt__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__lt__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____lt__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____lt__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__lt__(x0_) );
-}
-
-
-// ================== Normal method: "__le__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__le__"
-// cWrapperName: "CasADi__MX____le__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____le__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__le__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____le__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____le__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__le__(x0_) );
-}
-
-
-// ================== Normal method: "__eq__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__eq__"
-// cWrapperName: "CasADi__MX____eq__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____eq__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__eq__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____eq__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____eq__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__eq__(x0_) );
-}
-
-
-// ================== Normal method: "__ne__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__ne__"
-// cWrapperName: "CasADi__MX____ne__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____ne__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__ne__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____ne__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____ne__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__ne__(x0_) );
-}
-
-
-// ================== Normal method: "__truediv__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__truediv__"
-// cWrapperName: "CasADi__MX____truediv__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____truediv__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__truediv__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____truediv__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____truediv__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__truediv__(x0_) );
-}
-
-
-// ================== Normal method: "__pow__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__pow__"
-// cWrapperName: "CasADi__MX____pow__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____pow__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__pow__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____pow__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____pow__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__pow__(x0_) );
-}
-
-
-// ================== Normal method: "__constpow__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__constpow__"
-// cWrapperName: "CasADi__MX____constpow__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____constpow__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__constpow__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____constpow__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____constpow__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__constpow__(x0_) );
-}
-
-
-// ================== Normal method: "__mrdivide__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__mrdivide__"
-// cWrapperName: "CasADi__MX____mrdivide__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____mrdivide__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__mrdivide__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____mrdivide__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____mrdivide__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__mrdivide__(x0_) );
-}
-
-
-// ================== Normal method: "__mpower__" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::__mpower__"
-// cWrapperName: "CasADi__MX____mpower__"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX____mpower__(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->__mpower__(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX____mpower__(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX____mpower__(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->__mpower__(x0_) );
-}
-
-
-// ================== Normal method: "mul" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::mul"
-// cWrapperName: "CasADi__MX__mul"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__mul(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1)"
-// call: "obj->mul(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__mul(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1);
-CasADi::MX* CasADi__MX__mul(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::MX( obj->mul(x0_, x1_) );
-}
-
-
-// ================== Normal method: "mul'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::mul'"
-// cWrapperName: "CasADi__MX__mul_TIC"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__mul_TIC(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->mul(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__mul_TIC(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__mul_TIC(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->mul(x0_) );
-}
-
-
-// ================== Normal method: "mul_full" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::mul_full"
-// cWrapperName: "CasADi__MX__mul_full"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__mul_full(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1)"
-// call: "obj->mul_full(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__mul_full(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1);
-CasADi::MX* CasADi__MX__mul_full(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::MX( obj->mul_full(x0_, x1_) );
-}
-
-
-// ================== Normal method: "mul_full'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::mul_full'"
-// cWrapperName: "CasADi__MX__mul_full_TIC"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__mul_full_TIC(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->mul_full(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__mul_full_TIC(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__mul_full_TIC(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->mul_full(x0_) );
-}
-
-
-// ================== Normal method: "inner_prod" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::inner_prod"
-// cWrapperName: "CasADi__MX__inner_prod"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__inner_prod(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->inner_prod(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__inner_prod(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__inner_prod(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->inner_prod(x0_) );
-}
-
-
-// ================== Normal method: "outer_prod" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::outer_prod"
-// cWrapperName: "CasADi__MX__outer_prod"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__outer_prod(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->outer_prod(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__outer_prod(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__outer_prod(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->outer_prod(x0_) );
-}
-
-
-// ================== Normal method: "constpow" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::constpow"
-// cWrapperName: "CasADi__MX__constpow"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__constpow(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->constpow(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__constpow(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__constpow(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->constpow(x0_) );
-}
-
-
-// ================== Normal method: "fmin" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::fmin"
-// cWrapperName: "CasADi__MX__fmin"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__fmin(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->fmin(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__fmin(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__fmin(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->fmin(x0_) );
-}
-
-
-// ================== Normal method: "fmax" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::fmax"
-// cWrapperName: "CasADi__MX__fmax"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__fmax(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->fmax(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__fmax(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__fmax(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->fmax(x0_) );
-}
-
-
-// ================== Normal method: "printme" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::printme"
-// cWrapperName: "CasADi__MX__printme"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__printme(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->printme(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__printme(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__printme(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->printme(x0_) );
-}
-
-
-// ================== Normal method: "arctan2" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::arctan2"
-// cWrapperName: "CasADi__MX__arctan2"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__arctan2(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->arctan2(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__arctan2(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__arctan2(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->arctan2(x0_) );
-}
-
-
-// ================== Normal method: "logic_and" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::logic_and"
-// cWrapperName: "CasADi__MX__logic_and"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__logic_and(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->logic_and(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__logic_and(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__logic_and(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->logic_and(x0_) );
-}
-
-
-// ================== Normal method: "logic_or" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::logic_or"
-// cWrapperName: "CasADi__MX__logic_or"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__logic_or(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->logic_or(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__logic_or(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__logic_or(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->logic_or(x0_) );
-}
-
-
-// ================== Normal method: "if_else_zero" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::if_else_zero"
-// cWrapperName: "CasADi__MX__if_else_zero"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__if_else_zero(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->if_else_zero(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__if_else_zero(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__if_else_zero(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->if_else_zero(x0_) );
-}
-
-
-// ================== Normal method: "exp" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::exp"
-// cWrapperName: "CasADi__MX__exp"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__exp(CasADi::MX* obj)"
-// call: "obj->exp()"
-extern "C"
-    CasADi::MX* CasADi__MX__exp(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__exp(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->exp() );
-}
-
-
-// ================== Normal method: "log" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::log"
-// cWrapperName: "CasADi__MX__log"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__log(CasADi::MX* obj)"
-// call: "obj->log()"
-extern "C"
-    CasADi::MX* CasADi__MX__log(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__log(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->log() );
-}
-
-
-// ================== Normal method: "log10" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::log10"
-// cWrapperName: "CasADi__MX__log10"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__log10(CasADi::MX* obj)"
-// call: "obj->log10()"
-extern "C"
-    CasADi::MX* CasADi__MX__log10(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__log10(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->log10() );
-}
-
-
-// ================== Normal method: "sqrt" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::sqrt"
-// cWrapperName: "CasADi__MX__sqrt"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__sqrt(CasADi::MX* obj)"
-// call: "obj->sqrt()"
-extern "C"
-    CasADi::MX* CasADi__MX__sqrt(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__sqrt(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->sqrt() );
-}
-
-
-// ================== Normal method: "sin" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::sin"
-// cWrapperName: "CasADi__MX__sin"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__sin(CasADi::MX* obj)"
-// call: "obj->sin()"
-extern "C"
-    CasADi::MX* CasADi__MX__sin(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__sin(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->sin() );
-}
-
-
-// ================== Normal method: "cos" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::cos"
-// cWrapperName: "CasADi__MX__cos"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__cos(CasADi::MX* obj)"
-// call: "obj->cos()"
-extern "C"
-    CasADi::MX* CasADi__MX__cos(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__cos(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->cos() );
-}
-
-
-// ================== Normal method: "tan" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::tan"
-// cWrapperName: "CasADi__MX__tan"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__tan(CasADi::MX* obj)"
-// call: "obj->tan()"
-extern "C"
-    CasADi::MX* CasADi__MX__tan(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__tan(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->tan() );
-}
-
-
-// ================== Normal method: "arcsin" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::arcsin"
-// cWrapperName: "CasADi__MX__arcsin"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__arcsin(CasADi::MX* obj)"
-// call: "obj->arcsin()"
-extern "C"
-    CasADi::MX* CasADi__MX__arcsin(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__arcsin(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->arcsin() );
-}
-
-
-// ================== Normal method: "arccos" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::arccos"
-// cWrapperName: "CasADi__MX__arccos"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__arccos(CasADi::MX* obj)"
-// call: "obj->arccos()"
-extern "C"
-    CasADi::MX* CasADi__MX__arccos(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__arccos(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->arccos() );
-}
-
-
-// ================== Normal method: "arctan" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::arctan"
-// cWrapperName: "CasADi__MX__arctan"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__arctan(CasADi::MX* obj)"
-// call: "obj->arctan()"
-extern "C"
-    CasADi::MX* CasADi__MX__arctan(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__arctan(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->arctan() );
-}
-
-
-// ================== Normal method: "floor" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::floor"
-// cWrapperName: "CasADi__MX__floor"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__floor(CasADi::MX* obj)"
-// call: "obj->floor()"
-extern "C"
-    CasADi::MX* CasADi__MX__floor(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__floor(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->floor() );
-}
-
-
-// ================== Normal method: "ceil" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::ceil"
-// cWrapperName: "CasADi__MX__ceil"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__ceil(CasADi::MX* obj)"
-// call: "obj->ceil()"
-extern "C"
-    CasADi::MX* CasADi__MX__ceil(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__ceil(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->ceil() );
-}
-
-
-// ================== Normal method: "fabs" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::fabs"
-// cWrapperName: "CasADi__MX__fabs"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__fabs(CasADi::MX* obj)"
-// call: "obj->fabs()"
-extern "C"
-    CasADi::MX* CasADi__MX__fabs(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__fabs(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->fabs() );
-}
-
-
-// ================== Normal method: "sign" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::sign"
-// cWrapperName: "CasADi__MX__sign"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__sign(CasADi::MX* obj)"
-// call: "obj->sign()"
-extern "C"
-    CasADi::MX* CasADi__MX__sign(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__sign(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->sign() );
-}
-
-
-// ================== Normal method: "erfinv" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::erfinv"
-// cWrapperName: "CasADi__MX__erfinv"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__erfinv(CasADi::MX* obj)"
-// call: "obj->erfinv()"
-extern "C"
-    CasADi::MX* CasADi__MX__erfinv(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__erfinv(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->erfinv() );
-}
-
-
-// ================== Normal method: "erf" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::erf"
-// cWrapperName: "CasADi__MX__erf"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__erf(CasADi::MX* obj)"
-// call: "obj->erf()"
-extern "C"
-    CasADi::MX* CasADi__MX__erf(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__erf(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->erf() );
-}
-
-
-// ================== Normal method: "sinh" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::sinh"
-// cWrapperName: "CasADi__MX__sinh"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__sinh(CasADi::MX* obj)"
-// call: "obj->sinh()"
-extern "C"
-    CasADi::MX* CasADi__MX__sinh(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__sinh(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->sinh() );
-}
-
-
-// ================== Normal method: "cosh" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::cosh"
-// cWrapperName: "CasADi__MX__cosh"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__cosh(CasADi::MX* obj)"
-// call: "obj->cosh()"
-extern "C"
-    CasADi::MX* CasADi__MX__cosh(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__cosh(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->cosh() );
-}
-
-
-// ================== Normal method: "tanh" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::tanh"
-// cWrapperName: "CasADi__MX__tanh"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__tanh(CasADi::MX* obj)"
-// call: "obj->tanh()"
-extern "C"
-    CasADi::MX* CasADi__MX__tanh(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__tanh(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->tanh() );
-}
-
-
-// ================== Normal method: "arcsinh" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::arcsinh"
-// cWrapperName: "CasADi__MX__arcsinh"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__arcsinh(CasADi::MX* obj)"
-// call: "obj->arcsinh()"
-extern "C"
-    CasADi::MX* CasADi__MX__arcsinh(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__arcsinh(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->arcsinh() );
-}
-
-
-// ================== Normal method: "arccosh" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::arccosh"
-// cWrapperName: "CasADi__MX__arccosh"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__arccosh(CasADi::MX* obj)"
-// call: "obj->arccosh()"
-extern "C"
-    CasADi::MX* CasADi__MX__arccosh(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__arccosh(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->arccosh() );
-}
-
-
-// ================== Normal method: "arctanh" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::arctanh"
-// cWrapperName: "CasADi__MX__arctanh"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__arctanh(CasADi::MX* obj)"
-// call: "obj->arctanh()"
-extern "C"
-    CasADi::MX* CasADi__MX__arctanh(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__arctanh(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->arctanh() );
-}
-
-
-// ================== Normal method: "logic_not" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::logic_not"
-// cWrapperName: "CasADi__MX__logic_not"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__logic_not(CasADi::MX* obj)"
-// call: "obj->logic_not()"
-extern "C"
-    CasADi::MX* CasADi__MX__logic_not(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__logic_not(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->logic_not() );
-}
-
-
-// ================== Normal method: "attachAssert" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::attachAssert"
-// cWrapperName: "CasADi__MX__attachAssert"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__attachAssert(CasADi::MX* obj, CasADi::MX* x0, std::string* x1)"
-// call: "obj->attachAssert(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__attachAssert(CasADi::MX* obj, CasADi::MX* x0, std::string* x1);
-CasADi::MX* CasADi__MX__attachAssert(CasADi::MX* obj, CasADi::MX* x0, std::string* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
-
-    return new CasADi::MX( obj->attachAssert(x0_, x1_) );
-}
-
-
-// ================== Normal method: "attachAssert'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::attachAssert'"
-// cWrapperName: "CasADi__MX__attachAssert_TIC"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__attachAssert_TIC(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->attachAssert(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__attachAssert_TIC(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__attachAssert_TIC(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->attachAssert(x0_) );
-}
-
-
-// ================== Normal method: "setSparse" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::setSparse"
-// cWrapperName: "CasADi__MX__setSparse"
-// protoArgs: "(CasADi::MX* obj, CasADi::CRSSparsity* x0, bool* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__setSparse(CasADi::MX* obj, CasADi::CRSSparsity* x0, bool* x1)"
-// call: "obj->setSparse(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__setSparse(CasADi::MX* obj, CasADi::CRSSparsity* x0, bool* x1);
-CasADi::MX* CasADi__MX__setSparse(CasADi::MX* obj, CasADi::CRSSparsity* x0, bool* x1){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-    bool x1_ = Marshaling<bool,bool*>::marshal(x1);
-
-    return new CasADi::MX( obj->setSparse(x0_, x1_) );
-}
-
-
-// ================== Normal method: "setSparse'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::setSparse'"
-// cWrapperName: "CasADi__MX__setSparse_TIC"
-// protoArgs: "(CasADi::MX* obj, CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__setSparse_TIC(CasADi::MX* obj, CasADi::CRSSparsity* x0)"
-// call: "obj->setSparse(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__setSparse_TIC(CasADi::MX* obj, CasADi::CRSSparsity* x0);
-CasADi::MX* CasADi__MX__setSparse_TIC(CasADi::MX* obj, CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::MX( obj->setSparse(x0_) );
-}
-
-
-// ================== Normal method: "makeDense" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::makeDense"
-// cWrapperName: "CasADi__MX__makeDense"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__makeDense(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->makeDense(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__makeDense(CasADi::MX* obj, CasADi::MX* x0);
-CasADi::MX* CasADi__MX__makeDense(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( obj->makeDense(x0_) );
-}
-
-
-// ================== Normal method: "makeDense'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::makeDense'"
-// cWrapperName: "CasADi__MX__makeDense_TIC"
-// protoArgs: "(CasADi::MX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__makeDense_TIC(CasADi::MX* obj)"
-// call: "obj->makeDense()"
-extern "C"
-    CasADi::MX* CasADi__MX__makeDense_TIC(CasADi::MX* obj);
-CasADi::MX* CasADi__MX__makeDense_TIC(CasADi::MX* obj){
-
-    return new CasADi::MX( obj->makeDense() );
-}
-
-
-// ================== Normal method: "lift" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::lift"
-// cWrapperName: "CasADi__MX__lift"
-// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__MX__lift(CasADi::MX* obj, CasADi::MX* x0)"
-// call: "obj->lift(x0_)"
-extern "C"
-    void CasADi__MX__lift(CasADi::MX* obj, CasADi::MX* x0);
-void CasADi__MX__lift(CasADi::MX* obj, CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return obj->lift(x0_);
-}
-
-
-// ================== Static method: "setMaxNumCallsInPrint" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::setMaxNumCallsInPrint"
-// cWrapperName: "CasADi__MX__setMaxNumCallsInPrint"
-// protoArgs: "(long x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__MX__setMaxNumCallsInPrint(long x0)"
-// call: "CasADi::MX::setMaxNumCallsInPrint(x0_)"
-extern "C"
-    void CasADi__MX__setMaxNumCallsInPrint(long x0);
-void CasADi__MX__setMaxNumCallsInPrint(long x0){
-    long x0_ = Marshaling<long,long>::marshal(x0);
-
-    return CasADi::MX::setMaxNumCallsInPrint(x0_);
-}
-
-
-// ================== Static method: "setMaxNumCallsInPrint'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::setMaxNumCallsInPrint'"
-// cWrapperName: "CasADi__MX__setMaxNumCallsInPrint_TIC"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__MX__setMaxNumCallsInPrint_TIC()"
-// call: "CasADi::MX::setMaxNumCallsInPrint()"
-extern "C"
-    void CasADi__MX__setMaxNumCallsInPrint_TIC();
-void CasADi__MX__setMaxNumCallsInPrint_TIC(){
-
-    return CasADi::MX::setMaxNumCallsInPrint();
-}
-
-
-// ================== Static method: "getMaxNumCallsInPrint" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getMaxNumCallsInPrint"
-// cWrapperName: "CasADi__MX__getMaxNumCallsInPrint"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec CLong)
-// cWrapperRetType: "long"
-// proto: "long CasADi__MX__getMaxNumCallsInPrint()"
-// call: "CasADi::MX::getMaxNumCallsInPrint()"
-extern "C"
-    long CasADi__MX__getMaxNumCallsInPrint();
-long CasADi__MX__getMaxNumCallsInPrint(){
-
-    return CasADi::MX::getMaxNumCallsInPrint();
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::setEqualityCheckingDepth"
-// cWrapperName: "CasADi__MX__setEqualityCheckingDepth"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__MX__setEqualityCheckingDepth(int x0)"
-// call: "CasADi::MX::setEqualityCheckingDepth(x0_)"
-extern "C"
-    void CasADi__MX__setEqualityCheckingDepth(int x0);
-void CasADi__MX__setEqualityCheckingDepth(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return CasADi::MX::setEqualityCheckingDepth(x0_);
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::setEqualityCheckingDepth'"
-// cWrapperName: "CasADi__MX__setEqualityCheckingDepth_TIC"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__MX__setEqualityCheckingDepth_TIC()"
-// call: "CasADi::MX::setEqualityCheckingDepth()"
-extern "C"
-    void CasADi__MX__setEqualityCheckingDepth_TIC();
-void CasADi__MX__setEqualityCheckingDepth_TIC(){
-
-    return CasADi::MX::setEqualityCheckingDepth();
-}
-
-
-// ================== Static method: "getEqualityCheckingDepth" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX::getEqualityCheckingDepth"
-// cWrapperName: "CasADi__MX__getEqualityCheckingDepth"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__MX__getEqualityCheckingDepth()"
-// call: "CasADi::MX::getEqualityCheckingDepth()"
-extern "C"
-    int CasADi__MX__getEqualityCheckingDepth();
-int CasADi__MX__getEqualityCheckingDepth(){
-
-    return CasADi::MX::getEqualityCheckingDepth();
-}
-
-
-// ================== Constructor method: "MX" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX()"
-// call: "CasADi::MX()"
-extern "C"
-    CasADi::MX* CasADi__MX__MX();
-CasADi::MX* CasADi__MX__MX(){
-
-    return new CasADi::MX( CasADi::MX() );
-}
-
-
-// ================== Constructor method: "MX'" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC"
-// protoArgs: "(std::string* x0, int x1, int x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC(std::string* x0, int x1, int x2)"
-// call: "CasADi::MX(x0_, x1_, x2_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC(std::string* x0, int x1, int x2);
-CasADi::MX* CasADi__MX__MX_TIC(std::string* x0, int x1, int x2){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::MX( CasADi::MX(x0_, x1_, x2_) );
-}
-
-
-// ================== Constructor method: "MX''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC_TIC"
-// protoArgs: "(std::string* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC(std::string* x0, int x1)"
-// call: "CasADi::MX(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC_TIC(std::string* x0, int x1);
-CasADi::MX* CasADi__MX__MX_TIC_TIC(std::string* x0, int x1){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::MX( CasADi::MX(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "MX'''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC(std::string* x0)"
-// call: "CasADi::MX(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC(std::string* x0);
-CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC(std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX(x0_) );
-}
-
-
-// ================== Constructor method: "MX''''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1)"
-// call: "CasADi::MX(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1);
-CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::MX(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "MX'''''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0, CasADi::MX* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::MX* x1)"
-// call: "CasADi::MX(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::MX* x1){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::MX(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "MX''''''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0)"
-// call: "CasADi::MX(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0);
-CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX(x0_) );
-}
-
-
-// ================== Constructor method: "MX'''''''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(double x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0)"
-// call: "CasADi::MX(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0);
-CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX(x0_) );
-}
-
-
-// ================== Constructor method: "MX''''''''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::MX(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX(x0_) );
-}
-
-
-// ================== Constructor method: "MX'''''''''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<double > * x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<double > * x0)"
-// call: "CasADi::MX(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<double > * x0);
-CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX(x0_) );
-}
-
-
-// ================== Constructor method: "MX''''''''''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::MX(x0_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
-CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::MX(x0_) );
-}
-
-
-// ================== Constructor method: "MX'''''''''''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1)"
-// call: "CasADi::MX(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1);
-CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::MX( CasADi::MX(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "MX''''''''''''" ===============
-// class: "CasADi::MX"
-// cppName: "CasADi::MX"
-// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(int x0, int x1, CasADi::MX* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass MX))
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1, CasADi::MX* x2)"
-// call: "CasADi::MX(x0_, x1_, x2_)"
-extern "C"
-    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1, CasADi::MX* x2);
-CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1, CasADi::MX* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    CasADi::MX x2_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x2);
-
-    return new CasADi::MX( CasADi::MX(x0_, x1_, x2_) );
-}
-
-
-// ================== delete CasadiClass CasadiOptions===============
-// classType: CasadiClass CasadiOptions
-extern "C"
-    void delete_CasADi__CasadiOptions(CasADi::CasadiOptions* obj);
-void delete_CasADi__CasadiOptions(CasADi::CasadiOptions* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__CasadiOptions_(std::vector<CasADi::CasadiOptions* >* obj);
-void delete_std__vector_CasADi__CasadiOptions_(std::vector<CasADi::CasadiOptions* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__CasadiOptions__(std::vector<std::vector<CasADi::CasadiOptions* > >* obj);
-void delete_std__vector_std__vector_CasADi__CasadiOptions__(std::vector<std::vector<CasADi::CasadiOptions* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__CasadiOptions___(std::vector<std::vector<std::vector<CasADi::CasadiOptions* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__CasadiOptions___(std::vector<std::vector<std::vector<CasADi::CasadiOptions* > > >* obj){
-    delete obj;
-}
-
-// ================== Static method: "setCatchErrorsPython" ===============
-// class: "CasADi::CasadiOptions"
-// cppName: "CasADi::CasadiOptions::setCatchErrorsPython"
-// cWrapperName: "CasADi__CasadiOptions__setCatchErrorsPython"
-// protoArgs: "(bool* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__CasadiOptions__setCatchErrorsPython(bool* x0)"
-// call: "CasADi::CasadiOptions::setCatchErrorsPython(x0_)"
-extern "C"
-    void CasADi__CasadiOptions__setCatchErrorsPython(bool* x0);
-void CasADi__CasadiOptions__setCatchErrorsPython(bool* x0){
-    bool x0_ = Marshaling<bool,bool*>::marshal(x0);
-
-    return CasADi::CasadiOptions::setCatchErrorsPython(x0_);
-}
-
-
-// ================== Static method: "getCatchErrorsPython" ===============
-// class: "CasADi::CasadiOptions"
-// cppName: "CasADi::CasadiOptions::getCatchErrorsPython"
-// cWrapperName: "CasADi__CasadiOptions__getCatchErrorsPython"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__CasadiOptions__getCatchErrorsPython()"
-// call: "CasADi::CasadiOptions::getCatchErrorsPython()"
-extern "C"
-    bool* CasADi__CasadiOptions__getCatchErrorsPython();
-bool* CasADi__CasadiOptions__getCatchErrorsPython(){
-
-    return new bool( CasADi::CasadiOptions::getCatchErrorsPython() );
-}
-
-
-// ================== Static method: "setSimplificationOnTheFly" ===============
-// class: "CasADi::CasadiOptions"
-// cppName: "CasADi::CasadiOptions::setSimplificationOnTheFly"
-// cWrapperName: "CasADi__CasadiOptions__setSimplificationOnTheFly"
-// protoArgs: "(bool* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__CasadiOptions__setSimplificationOnTheFly(bool* x0)"
-// call: "CasADi::CasadiOptions::setSimplificationOnTheFly(x0_)"
-extern "C"
-    void CasADi__CasadiOptions__setSimplificationOnTheFly(bool* x0);
-void CasADi__CasadiOptions__setSimplificationOnTheFly(bool* x0){
-    bool x0_ = Marshaling<bool,bool*>::marshal(x0);
-
-    return CasADi::CasadiOptions::setSimplificationOnTheFly(x0_);
-}
-
-
-// ================== Static method: "getSimplificationOnTheFly" ===============
-// class: "CasADi::CasadiOptions"
-// cppName: "CasADi::CasadiOptions::getSimplificationOnTheFly"
-// cWrapperName: "CasADi__CasadiOptions__getSimplificationOnTheFly"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__CasadiOptions__getSimplificationOnTheFly()"
-// call: "CasADi::CasadiOptions::getSimplificationOnTheFly()"
-extern "C"
-    bool* CasADi__CasadiOptions__getSimplificationOnTheFly();
-bool* CasADi__CasadiOptions__getSimplificationOnTheFly(){
-
-    return new bool( CasADi::CasadiOptions::getSimplificationOnTheFly() );
-}
-
-
-// ================== Static method: "startProfiling" ===============
-// class: "CasADi::CasadiOptions"
-// cppName: "CasADi::CasadiOptions::startProfiling"
-// cWrapperName: "CasADi__CasadiOptions__startProfiling"
-// protoArgs: "(std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__CasadiOptions__startProfiling(std::string* x0)"
-// call: "CasADi::CasadiOptions::startProfiling(x0_)"
-extern "C"
-    void CasADi__CasadiOptions__startProfiling(std::string* x0);
-void CasADi__CasadiOptions__startProfiling(std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return CasADi::CasadiOptions::startProfiling(x0_);
-}
-
-
-// ================== Static method: "stopProfiling" ===============
-// class: "CasADi::CasadiOptions"
-// cppName: "CasADi::CasadiOptions::stopProfiling"
-// cWrapperName: "CasADi__CasadiOptions__stopProfiling"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__CasadiOptions__stopProfiling()"
-// call: "CasADi::CasadiOptions::stopProfiling()"
-extern "C"
-    void CasADi__CasadiOptions__stopProfiling();
-void CasADi__CasadiOptions__stopProfiling(){
-
-    return CasADi::CasadiOptions::stopProfiling();
-}
-
-
-// ================== delete CasadiClass Callback===============
-// classType: CasadiClass Callback
-extern "C"
-    void delete_CasADi__Callback(CasADi::Callback* obj);
-void delete_CasADi__Callback(CasADi::Callback* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__Callback_(std::vector<CasADi::Callback* >* obj);
-void delete_std__vector_CasADi__Callback_(std::vector<CasADi::Callback* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__Callback__(std::vector<std::vector<CasADi::Callback* > >* obj);
-void delete_std__vector_std__vector_CasADi__Callback__(std::vector<std::vector<CasADi::Callback* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__Callback___(std::vector<std::vector<std::vector<CasADi::Callback* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__Callback___(std::vector<std::vector<std::vector<CasADi::Callback* > > >* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "Callback" ===============
-// class: "CasADi::Callback"
-// cppName: "CasADi::Callback"
-// cWrapperName: "CasADi__Callback__Callback"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass Callback))
-// cWrapperRetType: "CasADi::Callback*"
-// proto: "CasADi::Callback* CasADi__Callback__Callback()"
-// call: "CasADi::Callback()"
-extern "C"
-    CasADi::Callback* CasADi__Callback__Callback();
-CasADi::Callback* CasADi__Callback__Callback(){
-
-    return new CasADi::Callback( CasADi::Callback() );
-}
-
-
-// ================== delete CasadiClass CustomEvaluate===============
-// classType: CasadiClass CustomEvaluate
-extern "C"
-    void delete_CasADi__CustomEvaluate(CasADi::CustomEvaluate* obj);
-void delete_CasADi__CustomEvaluate(CasADi::CustomEvaluate* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__CustomEvaluate_(std::vector<CasADi::CustomEvaluate* >* obj);
-void delete_std__vector_CasADi__CustomEvaluate_(std::vector<CasADi::CustomEvaluate* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__CustomEvaluate__(std::vector<std::vector<CasADi::CustomEvaluate* > >* obj);
-void delete_std__vector_std__vector_CasADi__CustomEvaluate__(std::vector<std::vector<CasADi::CustomEvaluate* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__CustomEvaluate___(std::vector<std::vector<std::vector<CasADi::CustomEvaluate* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__CustomEvaluate___(std::vector<std::vector<std::vector<CasADi::CustomEvaluate* > > >* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CustomEvaluate" ===============
-// class: "CasADi::CustomEvaluate"
-// cppName: "CasADi::CustomEvaluate"
-// cWrapperName: "CasADi__CustomEvaluate__CustomEvaluate"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass CustomEvaluate))
-// cWrapperRetType: "CasADi::CustomEvaluate*"
-// proto: "CasADi::CustomEvaluate* CasADi__CustomEvaluate__CustomEvaluate()"
-// call: "CasADi::CustomEvaluate()"
-extern "C"
-    CasADi::CustomEvaluate* CasADi__CustomEvaluate__CustomEvaluate();
-CasADi::CustomEvaluate* CasADi__CustomEvaluate__CustomEvaluate(){
-
-    return new CasADi::CustomEvaluate( CasADi::CustomEvaluate() );
-}
-
-
-// ================== delete CasadiClass ExternalFunction===============
-// classType: CasadiClass ExternalFunction
-extern "C"
-    void delete_CasADi__ExternalFunction(CasADi::ExternalFunction* obj);
-void delete_CasADi__ExternalFunction(CasADi::ExternalFunction* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__ExternalFunction_(std::vector<CasADi::ExternalFunction* >* obj);
-void delete_std__vector_CasADi__ExternalFunction_(std::vector<CasADi::ExternalFunction* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__ExternalFunction__(std::vector<std::vector<CasADi::ExternalFunction* > >* obj);
-void delete_std__vector_std__vector_CasADi__ExternalFunction__(std::vector<std::vector<CasADi::ExternalFunction* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__ExternalFunction___(std::vector<std::vector<std::vector<CasADi::ExternalFunction* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__ExternalFunction___(std::vector<std::vector<std::vector<CasADi::ExternalFunction* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "checkNode" ===============
-// class: "CasADi::ExternalFunction"
-// cppName: "CasADi::ExternalFunction::checkNode"
-// cWrapperName: "CasADi__ExternalFunction__checkNode"
-// protoArgs: "(CasADi::ExternalFunction* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__ExternalFunction__checkNode(CasADi::ExternalFunction* obj)"
-// call: "obj->checkNode()"
-extern "C"
-    bool* CasADi__ExternalFunction__checkNode(CasADi::ExternalFunction* obj);
-bool* CasADi__ExternalFunction__checkNode(CasADi::ExternalFunction* obj){
-
-    return new bool( obj->checkNode() );
-}
-
-
-// ================== Constructor method: "ExternalFunction" ===============
-// class: "CasADi::ExternalFunction"
-// cppName: "CasADi::ExternalFunction"
-// cWrapperName: "CasADi__ExternalFunction__ExternalFunction"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass ExternalFunction))
-// cWrapperRetType: "CasADi::ExternalFunction*"
-// proto: "CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction()"
-// call: "CasADi::ExternalFunction()"
-extern "C"
-    CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction();
-CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction(){
-
-    return new CasADi::ExternalFunction( CasADi::ExternalFunction() );
-}
-
-
-// ================== Constructor method: "ExternalFunction'" ===============
-// class: "CasADi::ExternalFunction"
-// cppName: "CasADi::ExternalFunction"
-// cWrapperName: "CasADi__ExternalFunction__ExternalFunction_TIC"
-// protoArgs: "(std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass ExternalFunction))
-// cWrapperRetType: "CasADi::ExternalFunction*"
-// proto: "CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction_TIC(std::string* x0)"
-// call: "CasADi::ExternalFunction(x0_)"
-extern "C"
-    CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction_TIC(std::string* x0);
-CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction_TIC(std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new CasADi::ExternalFunction( CasADi::ExternalFunction(x0_) );
-}
-
-
-// ================== delete CasadiClass CSparse===============
-// classType: CasadiClass CSparse
-extern "C"
-    void delete_CasADi__CSparse(CasADi::CSparse* obj);
-void delete_CasADi__CSparse(CasADi::CSparse* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__CSparse_(std::vector<CasADi::CSparse* >* obj);
-void delete_std__vector_CasADi__CSparse_(std::vector<CasADi::CSparse* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__CSparse__(std::vector<std::vector<CasADi::CSparse* > >* obj);
-void delete_std__vector_std__vector_CasADi__CSparse__(std::vector<std::vector<CasADi::CSparse* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__CSparse___(std::vector<std::vector<std::vector<CasADi::CSparse* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__CSparse___(std::vector<std::vector<std::vector<CasADi::CSparse* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "checkNode" ===============
-// class: "CasADi::CSparse"
-// cppName: "CasADi::CSparse::checkNode"
-// cWrapperName: "CasADi__CSparse__checkNode"
-// protoArgs: "(CasADi::CSparse* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__CSparse__checkNode(CasADi::CSparse* obj)"
-// call: "obj->checkNode()"
-extern "C"
-    bool* CasADi__CSparse__checkNode(CasADi::CSparse* obj);
-bool* CasADi__CSparse__checkNode(CasADi::CSparse* obj){
-
-    return new bool( obj->checkNode() );
-}
-
-
-// ================== Constructor method: "CSparse" ===============
-// class: "CasADi::CSparse"
-// cppName: "CasADi::CSparse"
-// cWrapperName: "CasADi__CSparse__CSparse"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass CSparse))
-// cWrapperRetType: "CasADi::CSparse*"
-// proto: "CasADi::CSparse* CasADi__CSparse__CSparse()"
-// call: "CasADi::CSparse()"
-extern "C"
-    CasADi::CSparse* CasADi__CSparse__CSparse();
-CasADi::CSparse* CasADi__CSparse__CSparse(){
-
-    return new CasADi::CSparse( CasADi::CSparse() );
-}
-
-
-// ================== Constructor method: "CSparse'" ===============
-// class: "CasADi::CSparse"
-// cppName: "CasADi::CSparse"
-// cWrapperName: "CasADi__CSparse__CSparse_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass CSparse))
-// cWrapperRetType: "CasADi::CSparse*"
-// proto: "CasADi::CSparse* CasADi__CSparse__CSparse_TIC(CasADi::CRSSparsity* x0, int x1)"
-// call: "CasADi::CSparse(x0_, x1_)"
-extern "C"
-    CasADi::CSparse* CasADi__CSparse__CSparse_TIC(CasADi::CRSSparsity* x0, int x1);
-CasADi::CSparse* CasADi__CSparse__CSparse_TIC(CasADi::CRSSparsity* x0, int x1){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::CSparse( CasADi::CSparse(x0_, x1_) );
-}
-
-
-// ================== Constructor method: "CSparse''" ===============
-// class: "CasADi::CSparse"
-// cppName: "CasADi::CSparse"
-// cWrapperName: "CasADi__CSparse__CSparse_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass CSparse))
-// cWrapperRetType: "CasADi::CSparse*"
-// proto: "CasADi::CSparse* CasADi__CSparse__CSparse_TIC_TIC(CasADi::CRSSparsity* x0)"
-// call: "CasADi::CSparse(x0_)"
-extern "C"
-    CasADi::CSparse* CasADi__CSparse__CSparse_TIC_TIC(CasADi::CRSSparsity* x0);
-CasADi::CSparse* CasADi__CSparse__CSparse_TIC_TIC(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::CSparse( CasADi::CSparse(x0_) );
-}
-
-
-// ================== delete CasadiClass SX===============
-// classType: CasadiClass SX
-extern "C"
-    void delete_CasADi__SX(CasADi::SX* obj);
-void delete_CasADi__SX(CasADi::SX* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__SX_(std::vector<CasADi::SX* >* obj);
-void delete_std__vector_CasADi__SX_(std::vector<CasADi::SX* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__SX__(std::vector<std::vector<CasADi::SX* > >* obj);
-void delete_std__vector_std__vector_CasADi__SX__(std::vector<std::vector<CasADi::SX* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__SX___(std::vector<std::vector<std::vector<CasADi::SX* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__SX___(std::vector<std::vector<std::vector<CasADi::SX* > > >* obj){
-    delete obj;
-}
-
-// ================== Static method: "binary" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::binary"
-// cWrapperName: "CasADi__SX__binary"
-// protoArgs: "(int x0, CasADi::SX* x1, CasADi::SX* x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__binary(int x0, CasADi::SX* x1, CasADi::SX* x2)"
-// call: "CasADi::SX::binary(x0_, x1_, x2_)"
-extern "C"
-    CasADi::SX* CasADi__SX__binary(int x0, CasADi::SX* x1, CasADi::SX* x2);
-CasADi::SX* CasADi__SX__binary(int x0, CasADi::SX* x1, CasADi::SX* x2){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::SX x1_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x1);
-    CasADi::SX x2_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x2);
-
-    return new CasADi::SX( CasADi::SX::binary(x0_, x1_, x2_) );
-}
-
-
-// ================== Static method: "unary" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::unary"
-// cWrapperName: "CasADi__SX__unary"
-// protoArgs: "(int x0, CasADi::SX* x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__unary(int x0, CasADi::SX* x1)"
-// call: "CasADi::SX::unary(x0_, x1_)"
-extern "C"
-    CasADi::SX* CasADi__SX__unary(int x0, CasADi::SX* x1);
-CasADi::SX* CasADi__SX__unary(int x0, CasADi::SX* x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    CasADi::SX x1_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x1);
-
-    return new CasADi::SX( CasADi::SX::unary(x0_, x1_) );
-}
-
-
-// ================== Normal method: "__nonzero__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__nonzero__"
-// cWrapperName: "CasADi__SX____nonzero__"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX____nonzero__(CasADi::SX* obj)"
-// call: "obj->__nonzero__()"
-extern "C"
-    bool* CasADi__SX____nonzero__(CasADi::SX* obj);
-bool* CasADi__SX____nonzero__(CasADi::SX* obj){
-
-    return new bool( obj->__nonzero__() );
-}
-
-
-// ================== Normal method: "isLeaf" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isLeaf"
-// cWrapperName: "CasADi__SX__isLeaf"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isLeaf(CasADi::SX* obj)"
-// call: "obj->isLeaf()"
-extern "C"
-    bool* CasADi__SX__isLeaf(CasADi::SX* obj);
-bool* CasADi__SX__isLeaf(CasADi::SX* obj){
-
-    return new bool( obj->isLeaf() );
-}
-
-
-// ================== Normal method: "isConstant" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isConstant"
-// cWrapperName: "CasADi__SX__isConstant"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isConstant(CasADi::SX* obj)"
-// call: "obj->isConstant()"
-extern "C"
-    bool* CasADi__SX__isConstant(CasADi::SX* obj);
-bool* CasADi__SX__isConstant(CasADi::SX* obj){
-
-    return new bool( obj->isConstant() );
-}
-
-
-// ================== Normal method: "isInteger" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isInteger"
-// cWrapperName: "CasADi__SX__isInteger"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isInteger(CasADi::SX* obj)"
-// call: "obj->isInteger()"
-extern "C"
-    bool* CasADi__SX__isInteger(CasADi::SX* obj);
-bool* CasADi__SX__isInteger(CasADi::SX* obj){
-
-    return new bool( obj->isInteger() );
-}
-
-
-// ================== Normal method: "isSymbolic" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isSymbolic"
-// cWrapperName: "CasADi__SX__isSymbolic"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isSymbolic(CasADi::SX* obj)"
-// call: "obj->isSymbolic()"
-extern "C"
-    bool* CasADi__SX__isSymbolic(CasADi::SX* obj);
-bool* CasADi__SX__isSymbolic(CasADi::SX* obj){
-
-    return new bool( obj->isSymbolic() );
-}
-
-
-// ================== Normal method: "hasDep" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::hasDep"
-// cWrapperName: "CasADi__SX__hasDep"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__hasDep(CasADi::SX* obj)"
-// call: "obj->hasDep()"
-extern "C"
-    bool* CasADi__SX__hasDep(CasADi::SX* obj);
-bool* CasADi__SX__hasDep(CasADi::SX* obj){
-
-    return new bool( obj->hasDep() );
-}
-
-
-// ================== Normal method: "isCommutative" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isCommutative"
-// cWrapperName: "CasADi__SX__isCommutative"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isCommutative(CasADi::SX* obj)"
-// call: "obj->isCommutative()"
-extern "C"
-    bool* CasADi__SX__isCommutative(CasADi::SX* obj);
-bool* CasADi__SX__isCommutative(CasADi::SX* obj){
-
-    return new bool( obj->isCommutative() );
-}
-
-
-// ================== Normal method: "isZero" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isZero"
-// cWrapperName: "CasADi__SX__isZero"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isZero(CasADi::SX* obj)"
-// call: "obj->isZero()"
-extern "C"
-    bool* CasADi__SX__isZero(CasADi::SX* obj);
-bool* CasADi__SX__isZero(CasADi::SX* obj){
-
-    return new bool( obj->isZero() );
-}
-
-
-// ================== Normal method: "isOne" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isOne"
-// cWrapperName: "CasADi__SX__isOne"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isOne(CasADi::SX* obj)"
-// call: "obj->isOne()"
-extern "C"
-    bool* CasADi__SX__isOne(CasADi::SX* obj);
-bool* CasADi__SX__isOne(CasADi::SX* obj){
-
-    return new bool( obj->isOne() );
-}
-
-
-// ================== Normal method: "isMinusOne" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isMinusOne"
-// cWrapperName: "CasADi__SX__isMinusOne"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isMinusOne(CasADi::SX* obj)"
-// call: "obj->isMinusOne()"
-extern "C"
-    bool* CasADi__SX__isMinusOne(CasADi::SX* obj);
-bool* CasADi__SX__isMinusOne(CasADi::SX* obj){
-
-    return new bool( obj->isMinusOne() );
-}
-
-
-// ================== Normal method: "isNan" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isNan"
-// cWrapperName: "CasADi__SX__isNan"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isNan(CasADi::SX* obj)"
-// call: "obj->isNan()"
-extern "C"
-    bool* CasADi__SX__isNan(CasADi::SX* obj);
-bool* CasADi__SX__isNan(CasADi::SX* obj){
-
-    return new bool( obj->isNan() );
-}
-
-
-// ================== Normal method: "isInf" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isInf"
-// cWrapperName: "CasADi__SX__isInf"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isInf(CasADi::SX* obj)"
-// call: "obj->isInf()"
-extern "C"
-    bool* CasADi__SX__isInf(CasADi::SX* obj);
-bool* CasADi__SX__isInf(CasADi::SX* obj){
-
-    return new bool( obj->isInf() );
-}
-
-
-// ================== Normal method: "isMinusInf" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isMinusInf"
-// cWrapperName: "CasADi__SX__isMinusInf"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isMinusInf(CasADi::SX* obj)"
-// call: "obj->isMinusInf()"
-extern "C"
-    bool* CasADi__SX__isMinusInf(CasADi::SX* obj);
-bool* CasADi__SX__isMinusInf(CasADi::SX* obj){
-
-    return new bool( obj->isMinusInf() );
-}
-
-
-// ================== Normal method: "getOp" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::getOp"
-// cWrapperName: "CasADi__SX__getOp"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__SX__getOp(CasADi::SX* obj)"
-// call: "obj->getOp()"
-extern "C"
-    int CasADi__SX__getOp(CasADi::SX* obj);
-int CasADi__SX__getOp(CasADi::SX* obj){
-
-    return obj->getOp();
-}
-
-
-// ================== Normal method: "isOp" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isOp"
-// cWrapperName: "CasADi__SX__isOp"
-// protoArgs: "(CasADi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isOp(CasADi::SX* obj, int x0)"
-// call: "obj->isOp(x0_)"
-extern "C"
-    bool* CasADi__SX__isOp(CasADi::SX* obj, int x0);
-bool* CasADi__SX__isOp(CasADi::SX* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new bool( obj->isOp(x0_) );
-}
-
-
-// ================== Normal method: "isEqual" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isEqual"
-// cWrapperName: "CasADi__SX__isEqual"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isEqual(CasADi::SX* obj, CasADi::SX* x0, int x1)"
-// call: "obj->isEqual(x0_, x1_)"
-extern "C"
-    bool* CasADi__SX__isEqual(CasADi::SX* obj, CasADi::SX* x0, int x1);
-bool* CasADi__SX__isEqual(CasADi::SX* obj, CasADi::SX* x0, int x1){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new bool( obj->isEqual(x0_, x1_) );
-}
-
-
-// ================== Normal method: "isEqual'" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isEqual'"
-// cWrapperName: "CasADi__SX__isEqual_TIC"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isEqual_TIC(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->isEqual(x0_)"
-extern "C"
-    bool* CasADi__SX__isEqual_TIC(CasADi::SX* obj, CasADi::SX* x0);
-bool* CasADi__SX__isEqual_TIC(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new bool( obj->isEqual(x0_) );
-}
-
-
-// ================== Normal method: "isNonNegative" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isNonNegative"
-// cWrapperName: "CasADi__SX__isNonNegative"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isNonNegative(CasADi::SX* obj)"
-// call: "obj->isNonNegative()"
-extern "C"
-    bool* CasADi__SX__isNonNegative(CasADi::SX* obj);
-bool* CasADi__SX__isNonNegative(CasADi::SX* obj){
-
-    return new bool( obj->isNonNegative() );
-}
-
-
-// ================== Normal method: "getValue" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::getValue"
-// cWrapperName: "CasADi__SX__getValue"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CDouble)
-// cWrapperRetType: "double"
-// proto: "double CasADi__SX__getValue(CasADi::SX* obj)"
-// call: "obj->getValue()"
-extern "C"
-    double CasADi__SX__getValue(CasADi::SX* obj);
-double CasADi__SX__getValue(CasADi::SX* obj){
-
-    return obj->getValue();
-}
-
-
-// ================== Normal method: "getIntValue" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::getIntValue"
-// cWrapperName: "CasADi__SX__getIntValue"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__SX__getIntValue(CasADi::SX* obj)"
-// call: "obj->getIntValue()"
-extern "C"
-    int CasADi__SX__getIntValue(CasADi::SX* obj);
-int CasADi__SX__getIntValue(CasADi::SX* obj){
-
-    return obj->getIntValue();
-}
-
-
-// ================== Normal method: "getDep" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::getDep"
-// cWrapperName: "CasADi__SX__getDep"
-// protoArgs: "(CasADi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__getDep(CasADi::SX* obj, int x0)"
-// call: "obj->getDep(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__getDep(CasADi::SX* obj, int x0);
-CasADi::SX* CasADi__SX__getDep(CasADi::SX* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::SX( obj->getDep(x0_) );
-}
-
-
-// ================== Normal method: "getDep'" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::getDep'"
-// cWrapperName: "CasADi__SX__getDep_TIC"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__getDep_TIC(CasADi::SX* obj)"
-// call: "obj->getDep()"
-extern "C"
-    CasADi::SX* CasADi__SX__getDep_TIC(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__getDep_TIC(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->getDep() );
-}
-
-
-// ================== Normal method: "isDoubled" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isDoubled"
-// cWrapperName: "CasADi__SX__isDoubled"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isDoubled(CasADi::SX* obj)"
-// call: "obj->isDoubled()"
-extern "C"
-    bool* CasADi__SX__isDoubled(CasADi::SX* obj);
-bool* CasADi__SX__isDoubled(CasADi::SX* obj){
-
-    return new bool( obj->isDoubled() );
-}
-
-
-// ================== Normal method: "getNdeps" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::getNdeps"
-// cWrapperName: "CasADi__SX__getNdeps"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__SX__getNdeps(CasADi::SX* obj)"
-// call: "obj->getNdeps()"
-extern "C"
-    int CasADi__SX__getNdeps(CasADi::SX* obj);
-int CasADi__SX__getNdeps(CasADi::SX* obj){
-
-    return obj->getNdeps();
-}
-
-
-// ================== Normal method: "__hash__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__hash__"
-// cWrapperName: "CasADi__SX____hash__"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CLong)
-// cWrapperRetType: "long"
-// proto: "long CasADi__SX____hash__(CasADi::SX* obj)"
-// call: "obj->__hash__()"
-extern "C"
-    long CasADi__SX____hash__(CasADi::SX* obj);
-long CasADi__SX____hash__(CasADi::SX* obj){
-
-    return obj->__hash__();
-}
-
-
-// ================== Normal method: "operator -" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::operator -"
-// cWrapperName: "CasADi__SX__operator_minus"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__operator_minus(CasADi::SX* obj)"
-// call: "obj->operator -()"
-extern "C"
-    CasADi::SX* CasADi__SX__operator_minus(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__operator_minus(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->operator -() );
-}
-
-
-// ================== Normal method: "__add__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__add__"
-// cWrapperName: "CasADi__SX____add__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____add__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__add__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____add__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____add__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__add__(x0_) );
-}
-
-
-// ================== Normal method: "__sub__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__sub__"
-// cWrapperName: "CasADi__SX____sub__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____sub__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__sub__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____sub__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____sub__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__sub__(x0_) );
-}
-
-
-// ================== Normal method: "__mul__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__mul__"
-// cWrapperName: "CasADi__SX____mul__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____mul__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__mul__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____mul__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____mul__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__mul__(x0_) );
-}
-
-
-// ================== Normal method: "__div__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__div__"
-// cWrapperName: "CasADi__SX____div__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____div__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__div__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____div__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____div__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__div__(x0_) );
-}
-
-
-// ================== Normal method: "__lt__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__lt__"
-// cWrapperName: "CasADi__SX____lt__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____lt__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__lt__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____lt__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____lt__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__lt__(x0_) );
-}
-
-
-// ================== Normal method: "__le__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__le__"
-// cWrapperName: "CasADi__SX____le__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____le__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__le__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____le__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____le__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__le__(x0_) );
-}
-
-
-// ================== Normal method: "__eq__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__eq__"
-// cWrapperName: "CasADi__SX____eq__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____eq__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__eq__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____eq__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____eq__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__eq__(x0_) );
-}
-
-
-// ================== Normal method: "__ne__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__ne__"
-// cWrapperName: "CasADi__SX____ne__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____ne__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__ne__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____ne__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____ne__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__ne__(x0_) );
-}
-
-
-// ================== Normal method: "__truediv__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__truediv__"
-// cWrapperName: "CasADi__SX____truediv__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____truediv__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__truediv__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____truediv__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____truediv__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__truediv__(x0_) );
-}
-
-
-// ================== Normal method: "__pow__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__pow__"
-// cWrapperName: "CasADi__SX____pow__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____pow__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__pow__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____pow__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____pow__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__pow__(x0_) );
-}
-
-
-// ================== Normal method: "__constpow__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__constpow__"
-// cWrapperName: "CasADi__SX____constpow__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____constpow__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__constpow__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____constpow__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____constpow__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__constpow__(x0_) );
-}
-
-
-// ================== Normal method: "__mrdivide__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__mrdivide__"
-// cWrapperName: "CasADi__SX____mrdivide__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____mrdivide__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__mrdivide__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____mrdivide__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____mrdivide__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__mrdivide__(x0_) );
-}
-
-
-// ================== Normal method: "__mpower__" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::__mpower__"
-// cWrapperName: "CasADi__SX____mpower__"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX____mpower__(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->__mpower__(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX____mpower__(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX____mpower__(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->__mpower__(x0_) );
-}
-
-
-// ================== Normal method: "trans" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::trans"
-// cWrapperName: "CasADi__SX__trans"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__trans(CasADi::SX* obj)"
-// call: "obj->trans()"
-extern "C"
-    CasADi::SX* CasADi__SX__trans(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__trans(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->trans() );
-}
-
-
-// ================== Normal method: "mul" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::mul"
-// cWrapperName: "CasADi__SX__mul"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__mul(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->mul(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__mul(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX__mul(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->mul(x0_) );
-}
-
-
-// ================== Normal method: "exp" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::exp"
-// cWrapperName: "CasADi__SX__exp"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__exp(CasADi::SX* obj)"
-// call: "obj->exp()"
-extern "C"
-    CasADi::SX* CasADi__SX__exp(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__exp(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->exp() );
-}
-
-
-// ================== Normal method: "log" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::log"
-// cWrapperName: "CasADi__SX__log"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__log(CasADi::SX* obj)"
-// call: "obj->log()"
-extern "C"
-    CasADi::SX* CasADi__SX__log(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__log(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->log() );
-}
-
-
-// ================== Normal method: "sqrt" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::sqrt"
-// cWrapperName: "CasADi__SX__sqrt"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__sqrt(CasADi::SX* obj)"
-// call: "obj->sqrt()"
-extern "C"
-    CasADi::SX* CasADi__SX__sqrt(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__sqrt(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->sqrt() );
-}
-
-
-// ================== Normal method: "sq" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::sq"
-// cWrapperName: "CasADi__SX__sq"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__sq(CasADi::SX* obj)"
-// call: "obj->sq()"
-extern "C"
-    CasADi::SX* CasADi__SX__sq(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__sq(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->sq() );
-}
-
-
-// ================== Normal method: "sin" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::sin"
-// cWrapperName: "CasADi__SX__sin"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__sin(CasADi::SX* obj)"
-// call: "obj->sin()"
-extern "C"
-    CasADi::SX* CasADi__SX__sin(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__sin(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->sin() );
-}
-
-
-// ================== Normal method: "cos" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::cos"
-// cWrapperName: "CasADi__SX__cos"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__cos(CasADi::SX* obj)"
-// call: "obj->cos()"
-extern "C"
-    CasADi::SX* CasADi__SX__cos(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__cos(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->cos() );
-}
-
-
-// ================== Normal method: "tan" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::tan"
-// cWrapperName: "CasADi__SX__tan"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__tan(CasADi::SX* obj)"
-// call: "obj->tan()"
-extern "C"
-    CasADi::SX* CasADi__SX__tan(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__tan(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->tan() );
-}
-
-
-// ================== Normal method: "arcsin" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::arcsin"
-// cWrapperName: "CasADi__SX__arcsin"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__arcsin(CasADi::SX* obj)"
-// call: "obj->arcsin()"
-extern "C"
-    CasADi::SX* CasADi__SX__arcsin(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__arcsin(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->arcsin() );
-}
-
-
-// ================== Normal method: "arccos" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::arccos"
-// cWrapperName: "CasADi__SX__arccos"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__arccos(CasADi::SX* obj)"
-// call: "obj->arccos()"
-extern "C"
-    CasADi::SX* CasADi__SX__arccos(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__arccos(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->arccos() );
-}
-
-
-// ================== Normal method: "arctan" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::arctan"
-// cWrapperName: "CasADi__SX__arctan"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__arctan(CasADi::SX* obj)"
-// call: "obj->arctan()"
-extern "C"
-    CasADi::SX* CasADi__SX__arctan(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__arctan(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->arctan() );
-}
-
-
-// ================== Normal method: "floor" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::floor"
-// cWrapperName: "CasADi__SX__floor"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__floor(CasADi::SX* obj)"
-// call: "obj->floor()"
-extern "C"
-    CasADi::SX* CasADi__SX__floor(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__floor(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->floor() );
-}
-
-
-// ================== Normal method: "ceil" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::ceil"
-// cWrapperName: "CasADi__SX__ceil"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__ceil(CasADi::SX* obj)"
-// call: "obj->ceil()"
-extern "C"
-    CasADi::SX* CasADi__SX__ceil(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__ceil(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->ceil() );
-}
-
-
-// ================== Normal method: "erf" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::erf"
-// cWrapperName: "CasADi__SX__erf"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__erf(CasADi::SX* obj)"
-// call: "obj->erf()"
-extern "C"
-    CasADi::SX* CasADi__SX__erf(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__erf(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->erf() );
-}
-
-
-// ================== Normal method: "erfinv" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::erfinv"
-// cWrapperName: "CasADi__SX__erfinv"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__erfinv(CasADi::SX* obj)"
-// call: "obj->erfinv()"
-extern "C"
-    CasADi::SX* CasADi__SX__erfinv(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__erfinv(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->erfinv() );
-}
-
-
-// ================== Normal method: "fabs" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::fabs"
-// cWrapperName: "CasADi__SX__fabs"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__fabs(CasADi::SX* obj)"
-// call: "obj->fabs()"
-extern "C"
-    CasADi::SX* CasADi__SX__fabs(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__fabs(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->fabs() );
-}
-
-
-// ================== Normal method: "fmin" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::fmin"
-// cWrapperName: "CasADi__SX__fmin"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__fmin(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->fmin(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__fmin(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX__fmin(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->fmin(x0_) );
-}
-
-
-// ================== Normal method: "fmax" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::fmax"
-// cWrapperName: "CasADi__SX__fmax"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__fmax(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->fmax(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__fmax(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX__fmax(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->fmax(x0_) );
-}
-
-
-// ================== Normal method: "inv" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::inv"
-// cWrapperName: "CasADi__SX__inv"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__inv(CasADi::SX* obj)"
-// call: "obj->inv()"
-extern "C"
-    CasADi::SX* CasADi__SX__inv(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__inv(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->inv() );
-}
-
-
-// ================== Normal method: "sinh" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::sinh"
-// cWrapperName: "CasADi__SX__sinh"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__sinh(CasADi::SX* obj)"
-// call: "obj->sinh()"
-extern "C"
-    CasADi::SX* CasADi__SX__sinh(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__sinh(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->sinh() );
-}
-
-
-// ================== Normal method: "cosh" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::cosh"
-// cWrapperName: "CasADi__SX__cosh"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__cosh(CasADi::SX* obj)"
-// call: "obj->cosh()"
-extern "C"
-    CasADi::SX* CasADi__SX__cosh(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__cosh(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->cosh() );
-}
-
-
-// ================== Normal method: "tanh" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::tanh"
-// cWrapperName: "CasADi__SX__tanh"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__tanh(CasADi::SX* obj)"
-// call: "obj->tanh()"
-extern "C"
-    CasADi::SX* CasADi__SX__tanh(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__tanh(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->tanh() );
-}
-
-
-// ================== Normal method: "arcsinh" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::arcsinh"
-// cWrapperName: "CasADi__SX__arcsinh"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__arcsinh(CasADi::SX* obj)"
-// call: "obj->arcsinh()"
-extern "C"
-    CasADi::SX* CasADi__SX__arcsinh(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__arcsinh(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->arcsinh() );
-}
-
-
-// ================== Normal method: "arccosh" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::arccosh"
-// cWrapperName: "CasADi__SX__arccosh"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__arccosh(CasADi::SX* obj)"
-// call: "obj->arccosh()"
-extern "C"
-    CasADi::SX* CasADi__SX__arccosh(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__arccosh(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->arccosh() );
-}
-
-
-// ================== Normal method: "arctanh" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::arctanh"
-// cWrapperName: "CasADi__SX__arctanh"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__arctanh(CasADi::SX* obj)"
-// call: "obj->arctanh()"
-extern "C"
-    CasADi::SX* CasADi__SX__arctanh(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__arctanh(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->arctanh() );
-}
-
-
-// ================== Normal method: "arctan2" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::arctan2"
-// cWrapperName: "CasADi__SX__arctan2"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__arctan2(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->arctan2(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__arctan2(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX__arctan2(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->arctan2(x0_) );
-}
-
-
-// ================== Normal method: "log10" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::log10"
-// cWrapperName: "CasADi__SX__log10"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__log10(CasADi::SX* obj)"
-// call: "obj->log10()"
-extern "C"
-    CasADi::SX* CasADi__SX__log10(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__log10(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->log10() );
-}
-
-
-// ================== Normal method: "printme" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::printme"
-// cWrapperName: "CasADi__SX__printme"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__printme(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->printme(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__printme(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX__printme(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->printme(x0_) );
-}
-
-
-// ================== Normal method: "sign" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::sign"
-// cWrapperName: "CasADi__SX__sign"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__sign(CasADi::SX* obj)"
-// call: "obj->sign()"
-extern "C"
-    CasADi::SX* CasADi__SX__sign(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__sign(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->sign() );
-}
-
-
-// ================== Normal method: "constpow" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::constpow"
-// cWrapperName: "CasADi__SX__constpow"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__constpow(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->constpow(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__constpow(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX__constpow(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->constpow(x0_) );
-}
-
-
-// ================== Normal method: "logic_not" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::logic_not"
-// cWrapperName: "CasADi__SX__logic_not"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__logic_not(CasADi::SX* obj)"
-// call: "obj->logic_not()"
-extern "C"
-    CasADi::SX* CasADi__SX__logic_not(CasADi::SX* obj);
-CasADi::SX* CasADi__SX__logic_not(CasADi::SX* obj){
-
-    return new CasADi::SX( obj->logic_not() );
-}
-
-
-// ================== Normal method: "logic_and" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::logic_and"
-// cWrapperName: "CasADi__SX__logic_and"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__logic_and(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->logic_and(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__logic_and(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX__logic_and(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->logic_and(x0_) );
-}
-
-
-// ================== Normal method: "logic_or" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::logic_or"
-// cWrapperName: "CasADi__SX__logic_or"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__logic_or(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->logic_or(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__logic_or(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX__logic_or(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->logic_or(x0_) );
-}
-
-
-// ================== Normal method: "if_else_zero" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::if_else_zero"
-// cWrapperName: "CasADi__SX__if_else_zero"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__if_else_zero(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->if_else_zero(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__if_else_zero(CasADi::SX* obj, CasADi::SX* x0);
-CasADi::SX* CasADi__SX__if_else_zero(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( obj->if_else_zero(x0_) );
-}
-
-
-// ================== Normal method: "fmin'" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::fmin'"
-// cWrapperName: "CasADi__SX__fmin_TIC"
-// protoArgs: "(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SX__fmin_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->fmin(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__SX__fmin_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__SX__fmin_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->fmin(x0_) );
-}
-
-
-// ================== Normal method: "fmax'" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::fmax'"
-// cWrapperName: "CasADi__SX__fmax_TIC"
-// protoArgs: "(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SX__fmax_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->fmax(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__SX__fmax_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__SX__fmax_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->fmax(x0_) );
-}
-
-
-// ================== Normal method: "constpow'" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::constpow'"
-// cWrapperName: "CasADi__SX__constpow_TIC"
-// protoArgs: "(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SX__constpow_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->constpow(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__SX__constpow_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__SX__constpow_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->constpow(x0_) );
-}
-
-
-// ================== Normal method: "arctan2'" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::arctan2'"
-// cWrapperName: "CasADi__SX__arctan2_TIC"
-// protoArgs: "(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SXMatrix))
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SX__arctan2_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
-// call: "obj->arctan2(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__SX__arctan2_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__SX__arctan2_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( obj->arctan2(x0_) );
-}
-
-
-// ================== Normal method: "getTemp" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::getTemp"
-// cWrapperName: "CasADi__SX__getTemp"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__SX__getTemp(CasADi::SX* obj)"
-// call: "obj->getTemp()"
-extern "C"
-    int CasADi__SX__getTemp(CasADi::SX* obj);
-int CasADi__SX__getTemp(CasADi::SX* obj){
-
-    return obj->getTemp();
-}
-
-
-// ================== Normal method: "setTemp" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::setTemp"
-// cWrapperName: "CasADi__SX__setTemp"
-// protoArgs: "(CasADi::SX* obj, int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SX__setTemp(CasADi::SX* obj, int x0)"
-// call: "obj->setTemp(x0_)"
-extern "C"
-    void CasADi__SX__setTemp(CasADi::SX* obj, int x0);
-void CasADi__SX__setTemp(CasADi::SX* obj, int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return obj->setTemp(x0_);
-}
-
-
-// ================== Normal method: "marked" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::marked"
-// cWrapperName: "CasADi__SX__marked"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__marked(CasADi::SX* obj)"
-// call: "obj->marked()"
-extern "C"
-    bool* CasADi__SX__marked(CasADi::SX* obj);
-bool* CasADi__SX__marked(CasADi::SX* obj){
-
-    return new bool( obj->marked() );
-}
-
-
-// ================== Normal method: "mark" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::mark"
-// cWrapperName: "CasADi__SX__mark"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SX__mark(CasADi::SX* obj)"
-// call: "obj->mark()"
-extern "C"
-    void CasADi__SX__mark(CasADi::SX* obj);
-void CasADi__SX__mark(CasADi::SX* obj){
-
-    return obj->mark();
-}
-
-
-// ================== Normal method: "assignIfDuplicate" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::assignIfDuplicate"
-// cWrapperName: "CasADi__SX__assignIfDuplicate"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SX__assignIfDuplicate(CasADi::SX* obj, CasADi::SX* x0, int x1)"
-// call: "obj->assignIfDuplicate(x0_, x1_)"
-extern "C"
-    void CasADi__SX__assignIfDuplicate(CasADi::SX* obj, CasADi::SX* x0, int x1);
-void CasADi__SX__assignIfDuplicate(CasADi::SX* obj, CasADi::SX* x0, int x1){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return obj->assignIfDuplicate(x0_, x1_);
-}
-
-
-// ================== Normal method: "assignIfDuplicate'" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::assignIfDuplicate'"
-// cWrapperName: "CasADi__SX__assignIfDuplicate_TIC"
-// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SX__assignIfDuplicate_TIC(CasADi::SX* obj, CasADi::SX* x0)"
-// call: "obj->assignIfDuplicate(x0_)"
-extern "C"
-    void CasADi__SX__assignIfDuplicate_TIC(CasADi::SX* obj, CasADi::SX* x0);
-void CasADi__SX__assignIfDuplicate_TIC(CasADi::SX* obj, CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return obj->assignIfDuplicate(x0_);
-}
-
-
-// ================== Static method: "setMaxNumCallsInPrint" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::setMaxNumCallsInPrint"
-// cWrapperName: "CasADi__SX__setMaxNumCallsInPrint"
-// protoArgs: "(long x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SX__setMaxNumCallsInPrint(long x0)"
-// call: "CasADi::SX::setMaxNumCallsInPrint(x0_)"
-extern "C"
-    void CasADi__SX__setMaxNumCallsInPrint(long x0);
-void CasADi__SX__setMaxNumCallsInPrint(long x0){
-    long x0_ = Marshaling<long,long>::marshal(x0);
-
-    return CasADi::SX::setMaxNumCallsInPrint(x0_);
-}
-
-
-// ================== Static method: "setMaxNumCallsInPrint'" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::setMaxNumCallsInPrint'"
-// cWrapperName: "CasADi__SX__setMaxNumCallsInPrint_TIC"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SX__setMaxNumCallsInPrint_TIC()"
-// call: "CasADi::SX::setMaxNumCallsInPrint()"
-extern "C"
-    void CasADi__SX__setMaxNumCallsInPrint_TIC();
-void CasADi__SX__setMaxNumCallsInPrint_TIC(){
-
-    return CasADi::SX::setMaxNumCallsInPrint();
-}
-
-
-// ================== Static method: "getMaxNumCallsInPrint" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::getMaxNumCallsInPrint"
-// cWrapperName: "CasADi__SX__getMaxNumCallsInPrint"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec CLong)
-// cWrapperRetType: "long"
-// proto: "long CasADi__SX__getMaxNumCallsInPrint()"
-// call: "CasADi::SX::getMaxNumCallsInPrint()"
-extern "C"
-    long CasADi__SX__getMaxNumCallsInPrint();
-long CasADi__SX__getMaxNumCallsInPrint(){
-
-    return CasADi::SX::getMaxNumCallsInPrint();
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::setEqualityCheckingDepth"
-// cWrapperName: "CasADi__SX__setEqualityCheckingDepth"
-// protoArgs: "(int x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SX__setEqualityCheckingDepth(int x0)"
-// call: "CasADi::SX::setEqualityCheckingDepth(x0_)"
-extern "C"
-    void CasADi__SX__setEqualityCheckingDepth(int x0);
-void CasADi__SX__setEqualityCheckingDepth(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return CasADi::SX::setEqualityCheckingDepth(x0_);
-}
-
-
-// ================== Static method: "setEqualityCheckingDepth'" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::setEqualityCheckingDepth'"
-// cWrapperName: "CasADi__SX__setEqualityCheckingDepth_TIC"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec CVoid)
-// cWrapperRetType: "void"
-// proto: "void CasADi__SX__setEqualityCheckingDepth_TIC()"
-// call: "CasADi::SX::setEqualityCheckingDepth()"
-extern "C"
-    void CasADi__SX__setEqualityCheckingDepth_TIC();
-void CasADi__SX__setEqualityCheckingDepth_TIC(){
-
-    return CasADi::SX::setEqualityCheckingDepth();
-}
-
-
-// ================== Static method: "getEqualityCheckingDepth" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::getEqualityCheckingDepth"
-// cWrapperName: "CasADi__SX__getEqualityCheckingDepth"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec CInt)
-// cWrapperRetType: "int"
-// proto: "int CasADi__SX__getEqualityCheckingDepth()"
-// call: "CasADi::SX::getEqualityCheckingDepth()"
-extern "C"
-    int CasADi__SX__getEqualityCheckingDepth();
-int CasADi__SX__getEqualityCheckingDepth(){
-
-    return CasADi::SX::getEqualityCheckingDepth();
-}
-
-
-// ================== Normal method: "isNull" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX::isNull"
-// cWrapperName: "CasADi__SX__isNull"
-// protoArgs: "(CasADi::SX* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__SX__isNull(CasADi::SX* obj)"
-// call: "obj->isNull()"
-extern "C"
-    bool* CasADi__SX__isNull(CasADi::SX* obj);
-bool* CasADi__SX__isNull(CasADi::SX* obj){
-
-    return new bool( obj->isNull() );
-}
-
-
-// ================== Constructor method: "SX" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX"
-// cWrapperName: "CasADi__SX__SX"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__SX()"
-// call: "CasADi::SX()"
-extern "C"
-    CasADi::SX* CasADi__SX__SX();
-CasADi::SX* CasADi__SX__SX(){
-
-    return new CasADi::SX( CasADi::SX() );
-}
-
-
-// ================== Constructor method: "SX'" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX"
-// cWrapperName: "CasADi__SX__SX_TIC"
-// protoArgs: "(double x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__SX_TIC(double x0)"
-// call: "CasADi::SX(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__SX_TIC(double x0);
-CasADi::SX* CasADi__SX__SX_TIC(double x0){
-    double x0_ = Marshaling<double,double>::marshal(x0);
-
-    return new CasADi::SX( CasADi::SX(x0_) );
-}
-
-
-// ================== Constructor method: "SX''" ===============
-// class: "CasADi::SX"
-// cppName: "CasADi::SX"
-// cWrapperName: "CasADi__SX__SX_TIC_TIC"
-// protoArgs: "(std::string* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass SX))
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__SX__SX_TIC_TIC(std::string* x0)"
-// call: "CasADi::SX(x0_)"
-extern "C"
-    CasADi::SX* CasADi__SX__SX_TIC_TIC(std::string* x0);
-CasADi::SX* CasADi__SX__SX_TIC_TIC(std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new CasADi::SX( CasADi::SX(x0_) );
-}
-
-
-// ================== delete CasadiClass CasadiMeta===============
-// classType: CasadiClass CasadiMeta
-extern "C"
-    void delete_CasADi__CasadiMeta(CasADi::CasadiMeta* obj);
-void delete_CasADi__CasadiMeta(CasADi::CasadiMeta* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__CasadiMeta_(std::vector<CasADi::CasadiMeta* >* obj);
-void delete_std__vector_CasADi__CasadiMeta_(std::vector<CasADi::CasadiMeta* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__CasadiMeta__(std::vector<std::vector<CasADi::CasadiMeta* > >* obj);
-void delete_std__vector_std__vector_CasADi__CasadiMeta__(std::vector<std::vector<CasADi::CasadiMeta* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__CasadiMeta___(std::vector<std::vector<std::vector<CasADi::CasadiMeta* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__CasadiMeta___(std::vector<std::vector<std::vector<CasADi::CasadiMeta* > > >* obj){
-    delete obj;
-}
-
-// ================== Static method: "getVersion" ===============
-// class: "CasADi::CasadiMeta"
-// cppName: "CasADi::CasadiMeta::getVersion"
-// cWrapperName: "CasADi__CasadiMeta__getVersion"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__CasadiMeta__getVersion()"
-// call: "CasADi::CasadiMeta::getVersion()"
-extern "C"
-    std::string* CasADi__CasadiMeta__getVersion();
-std::string* CasADi__CasadiMeta__getVersion(){
-
-    return new std::string( CasADi::CasadiMeta::getVersion() );
-}
-
-
-// ================== Static method: "getGitRevision" ===============
-// class: "CasADi::CasadiMeta"
-// cppName: "CasADi::CasadiMeta::getGitRevision"
-// cWrapperName: "CasADi__CasadiMeta__getGitRevision"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__CasadiMeta__getGitRevision()"
-// call: "CasADi::CasadiMeta::getGitRevision()"
-extern "C"
-    std::string* CasADi__CasadiMeta__getGitRevision();
-std::string* CasADi__CasadiMeta__getGitRevision(){
-
-    return new std::string( CasADi::CasadiMeta::getGitRevision() );
-}
-
-
-// ================== Static method: "getGitDescribe" ===============
-// class: "CasADi::CasadiMeta"
-// cppName: "CasADi::CasadiMeta::getGitDescribe"
-// cWrapperName: "CasADi__CasadiMeta__getGitDescribe"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__CasadiMeta__getGitDescribe()"
-// call: "CasADi::CasadiMeta::getGitDescribe()"
-extern "C"
-    std::string* CasADi__CasadiMeta__getGitDescribe();
-std::string* CasADi__CasadiMeta__getGitDescribe(){
-
-    return new std::string( CasADi::CasadiMeta::getGitDescribe() );
-}
-
-
-// ================== Static method: "getFeatureList" ===============
-// class: "CasADi::CasadiMeta"
-// cppName: "CasADi::CasadiMeta::getFeatureList"
-// cWrapperName: "CasADi__CasadiMeta__getFeatureList"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__CasadiMeta__getFeatureList()"
-// call: "CasADi::CasadiMeta::getFeatureList()"
-extern "C"
-    std::string* CasADi__CasadiMeta__getFeatureList();
-std::string* CasADi__CasadiMeta__getFeatureList(){
-
-    return new std::string( CasADi::CasadiMeta::getFeatureList() );
-}
-
-
-// ================== Static method: "getBuildType" ===============
-// class: "CasADi::CasadiMeta"
-// cppName: "CasADi::CasadiMeta::getBuildType"
-// cWrapperName: "CasADi__CasadiMeta__getBuildType"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__CasadiMeta__getBuildType()"
-// call: "CasADi::CasadiMeta::getBuildType()"
-extern "C"
-    std::string* CasADi__CasadiMeta__getBuildType();
-std::string* CasADi__CasadiMeta__getBuildType(){
-
-    return new std::string( CasADi::CasadiMeta::getBuildType() );
-}
-
-
-// ================== Static method: "getCompilerId" ===============
-// class: "CasADi::CasadiMeta"
-// cppName: "CasADi::CasadiMeta::getCompilerId"
-// cWrapperName: "CasADi__CasadiMeta__getCompilerId"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__CasadiMeta__getCompilerId()"
-// call: "CasADi::CasadiMeta::getCompilerId()"
-extern "C"
-    std::string* CasADi__CasadiMeta__getCompilerId();
-std::string* CasADi__CasadiMeta__getCompilerId(){
-
-    return new std::string( CasADi::CasadiMeta::getCompilerId() );
-}
-
-
-// ================== Static method: "getCompiler" ===============
-// class: "CasADi::CasadiMeta"
-// cppName: "CasADi::CasadiMeta::getCompiler"
-// cWrapperName: "CasADi__CasadiMeta__getCompiler"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__CasadiMeta__getCompiler()"
-// call: "CasADi::CasadiMeta::getCompiler()"
-extern "C"
-    std::string* CasADi__CasadiMeta__getCompiler();
-std::string* CasADi__CasadiMeta__getCompiler(){
-
-    return new std::string( CasADi::CasadiMeta::getCompiler() );
-}
-
-
-// ================== Static method: "getCompilerFlags" ===============
-// class: "CasADi::CasadiMeta"
-// cppName: "CasADi::CasadiMeta::getCompilerFlags"
-// cWrapperName: "CasADi__CasadiMeta__getCompilerFlags"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec StdString)
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__CasadiMeta__getCompilerFlags()"
-// call: "CasADi::CasadiMeta::getCompilerFlags()"
-extern "C"
-    std::string* CasADi__CasadiMeta__getCompilerFlags();
-std::string* CasADi__CasadiMeta__getCompilerFlags(){
-
-    return new std::string( CasADi::CasadiMeta::getCompilerFlags() );
-}
-
-
-// ================== delete CasadiClass Functor===============
-// classType: CasadiClass Functor
-extern "C"
-    void delete_CasADi__Functor(CasADi::Functor* obj);
-void delete_CasADi__Functor(CasADi::Functor* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__Functor_(std::vector<CasADi::Functor* >* obj);
-void delete_std__vector_CasADi__Functor_(std::vector<CasADi::Functor* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__Functor__(std::vector<std::vector<CasADi::Functor* > >* obj);
-void delete_std__vector_std__vector_CasADi__Functor__(std::vector<std::vector<CasADi::Functor* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__Functor___(std::vector<std::vector<std::vector<CasADi::Functor* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__Functor___(std::vector<std::vector<std::vector<CasADi::Functor* > > >* obj){
-    delete obj;
-}
-
-// ================== delete CasadiClass CustomFunction===============
-// classType: CasadiClass CustomFunction
-extern "C"
-    void delete_CasADi__CustomFunction(CasADi::CustomFunction* obj);
-void delete_CasADi__CustomFunction(CasADi::CustomFunction* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_CasADi__CustomFunction_(std::vector<CasADi::CustomFunction* >* obj);
-void delete_std__vector_CasADi__CustomFunction_(std::vector<CasADi::CustomFunction* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_CasADi__CustomFunction__(std::vector<std::vector<CasADi::CustomFunction* > >* obj);
-void delete_std__vector_std__vector_CasADi__CustomFunction__(std::vector<std::vector<CasADi::CustomFunction* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_CasADi__CustomFunction___(std::vector<std::vector<std::vector<CasADi::CustomFunction* > > >* obj);
-void delete_std__vector_std__vector_std__vector_CasADi__CustomFunction___(std::vector<std::vector<std::vector<CasADi::CustomFunction* > > >* obj){
-    delete obj;
-}
-
-// ================== Normal method: "checkNode" ===============
-// class: "CasADi::CustomFunction"
-// cppName: "CasADi::CustomFunction::checkNode"
-// cWrapperName: "CasADi__CustomFunction__checkNode"
-// protoArgs: "(CasADi::CustomFunction* obj)"
-// args: "()"
-// rettype: Val (NonVec CBool)
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__CustomFunction__checkNode(CasADi::CustomFunction* obj)"
-// call: "obj->checkNode()"
-extern "C"
-    bool* CasADi__CustomFunction__checkNode(CasADi::CustomFunction* obj);
-bool* CasADi__CustomFunction__checkNode(CasADi::CustomFunction* obj){
-
-    return new bool( obj->checkNode() );
-}
-
-
-// ================== Constructor method: "CustomFunction" ===============
-// class: "CasADi::CustomFunction"
-// cppName: "CasADi::CustomFunction"
-// cWrapperName: "CasADi__CustomFunction__CustomFunction"
-// protoArgs: "()"
-// args: "()"
-// rettype: Val (NonVec (CasadiClass CustomFunction))
-// cWrapperRetType: "CasADi::CustomFunction*"
-// proto: "CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction()"
-// call: "CasADi::CustomFunction()"
-extern "C"
-    CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction();
-CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction(){
-
-    return new CasADi::CustomFunction( CasADi::CustomFunction() );
-}
-
-
-// ================== Constructor method: "CustomFunction'" ===============
-// class: "CasADi::CustomFunction"
-// cppName: "CasADi::CustomFunction"
-// cWrapperName: "CasADi__CustomFunction__CustomFunction_TIC"
-// protoArgs: "(CasADi::CustomEvaluate* x0, std::vector<CasADi::CRSSparsity* > * x1, std::vector<CasADi::CRSSparsity* > * x2)"
-// args: "(x0_, x1_, x2_)"
-// rettype: Val (NonVec (CasadiClass CustomFunction))
-// cWrapperRetType: "CasADi::CustomFunction*"
-// proto: "CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC(CasADi::CustomEvaluate* x0, std::vector<CasADi::CRSSparsity* > * x1, std::vector<CasADi::CRSSparsity* > * x2)"
-// call: "CasADi::CustomFunction(x0_, x1_, x2_)"
-extern "C"
-    CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC(CasADi::CustomEvaluate* x0, std::vector<CasADi::CRSSparsity* > * x1, std::vector<CasADi::CRSSparsity* > * x2);
-CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC(CasADi::CustomEvaluate* x0, std::vector<CasADi::CRSSparsity* > * x1, std::vector<CasADi::CRSSparsity* > * x2){
-    CasADi::CustomEvaluate x0_ = Marshaling<CasADi::CustomEvaluate,CasADi::CustomEvaluate*>::marshal(x0);
-    std::vector<CasADi::CRSSparsity > x1_ = Marshaling<std::vector<CasADi::CRSSparsity >,std::vector<CasADi::CRSSparsity* > *>::marshal(x1);
-    std::vector<CasADi::CRSSparsity > x2_ = Marshaling<std::vector<CasADi::CRSSparsity >,std::vector<CasADi::CRSSparsity* > *>::marshal(x2);
-
-    return new CasADi::CustomFunction( CasADi::CustomFunction(x0_, x1_, x2_) );
-}
-
-
-// ================== Constructor method: "CustomFunction'''''" ===============
-// class: "CasADi::CustomFunction"
-// cppName: "CasADi::CustomFunction"
-// cWrapperName: "CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CustomEvaluate* x0)"
-// args: "(x0_)"
-// rettype: Val (NonVec (CasadiClass CustomFunction))
-// cWrapperRetType: "CasADi::CustomFunction*"
-// proto: "CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC(CasADi::CustomEvaluate* x0)"
-// call: "CasADi::CustomFunction(x0_)"
-extern "C"
-    CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC(CasADi::CustomEvaluate* x0);
-CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC(CasADi::CustomEvaluate* x0){
-    CasADi::CustomEvaluate x0_ = Marshaling<CasADi::CustomEvaluate,CasADi::CustomEvaluate*>::marshal(x0);
-
-    return new CasADi::CustomFunction( CasADi::CustomFunction(x0_) );
-}
-
-
-// ================== function "CasADi::getSchemeEntryName" ===============
-// cppName: "CasADi::getSchemeEntryName"
-// cWrapperName: "CasADi__getSchemeEntryName"
-// protoArgs: "(CasADi::InputOutputScheme x0, int x1)"
-// params: [Val (NonVec (CasadiEnum InputOutputScheme)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__getSchemeEntryName(CasADi::InputOutputScheme x0, int x1)"
-// call: "CasADi::getSchemeEntryName(x0_, x1_)"
-extern "C"
-    std::string* CasADi__getSchemeEntryName(CasADi::InputOutputScheme x0, int x1);
-std::string* CasADi__getSchemeEntryName(CasADi::InputOutputScheme x0, int x1){
-    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::string( CasADi::getSchemeEntryName(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::getSchemeEntryDoc" ===============
-// cppName: "CasADi::getSchemeEntryDoc"
-// cWrapperName: "CasADi__getSchemeEntryDoc"
-// protoArgs: "(CasADi::InputOutputScheme x0, int x1)"
-// params: [Val (NonVec (CasadiEnum InputOutputScheme)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__getSchemeEntryDoc(CasADi::InputOutputScheme x0, int x1)"
-// call: "CasADi::getSchemeEntryDoc(x0_, x1_)"
-extern "C"
-    std::string* CasADi__getSchemeEntryDoc(CasADi::InputOutputScheme x0, int x1);
-std::string* CasADi__getSchemeEntryDoc(CasADi::InputOutputScheme x0, int x1){
-    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::string( CasADi::getSchemeEntryDoc(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::getSchemeEntryEnumName" ===============
-// cppName: "CasADi::getSchemeEntryEnumName"
-// cWrapperName: "CasADi__getSchemeEntryEnumName"
-// protoArgs: "(CasADi::InputOutputScheme x0, int x1)"
-// params: [Val (NonVec (CasadiEnum InputOutputScheme)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__getSchemeEntryEnumName(CasADi::InputOutputScheme x0, int x1)"
-// call: "CasADi::getSchemeEntryEnumName(x0_, x1_)"
-extern "C"
-    std::string* CasADi__getSchemeEntryEnumName(CasADi::InputOutputScheme x0, int x1);
-std::string* CasADi__getSchemeEntryEnumName(CasADi::InputOutputScheme x0, int x1){
-    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::string( CasADi::getSchemeEntryEnumName(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::getSchemeEntryEnum" ===============
-// cppName: "CasADi::getSchemeEntryEnum"
-// cWrapperName: "CasADi__getSchemeEntryEnum"
-// protoArgs: "(CasADi::InputOutputScheme x0, std::string* x1)"
-// params: [Val (NonVec (CasadiEnum InputOutputScheme)),ConstRef (NonVec StdString)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__getSchemeEntryEnum(CasADi::InputOutputScheme x0, std::string* x1)"
-// call: "CasADi::getSchemeEntryEnum(x0_, x1_)"
-extern "C"
-    int CasADi__getSchemeEntryEnum(CasADi::InputOutputScheme x0, std::string* x1);
-int CasADi__getSchemeEntryEnum(CasADi::InputOutputScheme x0, std::string* x1){
-    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
-    std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
-
-    return CasADi::getSchemeEntryEnum(x0_, x1_);
-}
-
-
-// ================== function "CasADi::getSchemeSize" ===============
-// cppName: "CasADi::getSchemeSize"
-// cWrapperName: "CasADi__getSchemeSize"
-// protoArgs: "(CasADi::InputOutputScheme x0)"
-// params: [Val (NonVec (CasadiEnum InputOutputScheme))]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__getSchemeSize(CasADi::InputOutputScheme x0)"
-// call: "CasADi::getSchemeSize(x0_)"
-extern "C"
-    int CasADi__getSchemeSize(CasADi::InputOutputScheme x0);
-int CasADi__getSchemeSize(CasADi::InputOutputScheme x0){
-    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
-
-    return CasADi::getSchemeSize(x0_);
-}
-
-
-// ================== function "CasADi::getSchemeName" ===============
-// cppName: "CasADi::getSchemeName"
-// cWrapperName: "CasADi__getSchemeName"
-// protoArgs: "(CasADi::InputOutputScheme x0)"
-// params: [Val (NonVec (CasadiEnum InputOutputScheme))]
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__getSchemeName(CasADi::InputOutputScheme x0)"
-// call: "CasADi::getSchemeName(x0_)"
-extern "C"
-    std::string* CasADi__getSchemeName(CasADi::InputOutputScheme x0);
-std::string* CasADi__getSchemeName(CasADi::InputOutputScheme x0){
-    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
-
-    return new std::string( CasADi::getSchemeName(x0_) );
-}
-
-
-// ================== function "CasADi::getSchemeEntryNames" ===============
-// cppName: "CasADi::getSchemeEntryNames"
-// cWrapperName: "CasADi__getSchemeEntryNames"
-// protoArgs: "(CasADi::InputOutputScheme x0)"
-// params: [Val (NonVec (CasadiEnum InputOutputScheme))]
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__getSchemeEntryNames(CasADi::InputOutputScheme x0)"
-// call: "CasADi::getSchemeEntryNames(x0_)"
-extern "C"
-    std::string* CasADi__getSchemeEntryNames(CasADi::InputOutputScheme x0);
-std::string* CasADi__getSchemeEntryNames(CasADi::InputOutputScheme x0){
-    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
-
-    return new std::string( CasADi::getSchemeEntryNames(x0_) );
-}
-
-
-// ================== function "CasADi::complement" ===============
-// cppName: "CasADi::complement"
-// cWrapperName: "CasADi__complement"
-// protoArgs: "(std::vector<int > * x0, int x1)"
-// params: [ConstRef (Vec (NonVec CInt)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<int >*"
-// proto: "std::vector<int >* CasADi__complement(std::vector<int > * x0, int x1)"
-// call: "CasADi::complement(x0_, x1_)"
-extern "C"
-    std::vector<int >* CasADi__complement(std::vector<int > * x0, int x1);
-std::vector<int >* CasADi__complement(std::vector<int > * x0, int x1){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::vector<int >( CasADi::complement(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::lookupvector" ===============
-// cppName: "CasADi::lookupvector"
-// cWrapperName: "CasADi__lookupvector"
-// protoArgs: "(std::vector<int > * x0, int x1)"
-// params: [ConstRef (Vec (NonVec CInt)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<int >*"
-// proto: "std::vector<int >* CasADi__lookupvector(std::vector<int > * x0, int x1)"
-// call: "CasADi::lookupvector(x0_, x1_)"
-extern "C"
-    std::vector<int >* CasADi__lookupvector(std::vector<int > * x0, int x1);
-std::vector<int >* CasADi__lookupvector(std::vector<int > * x0, int x1){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::vector<int >( CasADi::lookupvector(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::isIncreasing" ===============
-// cppName: "CasADi::isIncreasing"
-// cWrapperName: "CasADi__isIncreasing"
-// protoArgs: "(std::vector<int > * x0)"
-// params: [ConstRef (Vec (NonVec CInt))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isIncreasing(std::vector<int > * x0)"
-// call: "CasADi::isIncreasing(x0_)"
-extern "C"
-    bool* CasADi__isIncreasing(std::vector<int > * x0);
-bool* CasADi__isIncreasing(std::vector<int > * x0){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-
-    return new bool( CasADi::isIncreasing(x0_) );
-}
-
-
-// ================== function "CasADi::isDecreasing" ===============
-// cppName: "CasADi::isDecreasing"
-// cWrapperName: "CasADi__isDecreasing"
-// protoArgs: "(std::vector<int > * x0)"
-// params: [ConstRef (Vec (NonVec CInt))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isDecreasing(std::vector<int > * x0)"
-// call: "CasADi::isDecreasing(x0_)"
-extern "C"
-    bool* CasADi__isDecreasing(std::vector<int > * x0);
-bool* CasADi__isDecreasing(std::vector<int > * x0){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-
-    return new bool( CasADi::isDecreasing(x0_) );
-}
-
-
-// ================== function "CasADi::isNonIncreasing" ===============
-// cppName: "CasADi::isNonIncreasing"
-// cWrapperName: "CasADi__isNonIncreasing"
-// protoArgs: "(std::vector<int > * x0)"
-// params: [ConstRef (Vec (NonVec CInt))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isNonIncreasing(std::vector<int > * x0)"
-// call: "CasADi::isNonIncreasing(x0_)"
-extern "C"
-    bool* CasADi__isNonIncreasing(std::vector<int > * x0);
-bool* CasADi__isNonIncreasing(std::vector<int > * x0){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-
-    return new bool( CasADi::isNonIncreasing(x0_) );
-}
-
-
-// ================== function "CasADi::isNonDecreasing" ===============
-// cppName: "CasADi::isNonDecreasing"
-// cWrapperName: "CasADi__isNonDecreasing"
-// protoArgs: "(std::vector<int > * x0)"
-// params: [ConstRef (Vec (NonVec CInt))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isNonDecreasing(std::vector<int > * x0)"
-// call: "CasADi::isNonDecreasing(x0_)"
-extern "C"
-    bool* CasADi__isNonDecreasing(std::vector<int > * x0);
-bool* CasADi__isNonDecreasing(std::vector<int > * x0){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-
-    return new bool( CasADi::isNonDecreasing(x0_) );
-}
-
-
-// ================== function "CasADi::isMonotone" ===============
-// cppName: "CasADi::isMonotone"
-// cWrapperName: "CasADi__isMonotone"
-// protoArgs: "(std::vector<int > * x0)"
-// params: [ConstRef (Vec (NonVec CInt))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isMonotone(std::vector<int > * x0)"
-// call: "CasADi::isMonotone(x0_)"
-extern "C"
-    bool* CasADi__isMonotone(std::vector<int > * x0);
-bool* CasADi__isMonotone(std::vector<int > * x0){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-
-    return new bool( CasADi::isMonotone(x0_) );
-}
-
-
-// ================== function "CasADi::isStrictlyMonotone" ===============
-// cppName: "CasADi::isStrictlyMonotone"
-// cWrapperName: "CasADi__isStrictlyMonotone"
-// protoArgs: "(std::vector<int > * x0)"
-// params: [ConstRef (Vec (NonVec CInt))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isStrictlyMonotone(std::vector<int > * x0)"
-// call: "CasADi::isStrictlyMonotone(x0_)"
-extern "C"
-    bool* CasADi__isStrictlyMonotone(std::vector<int > * x0);
-bool* CasADi__isStrictlyMonotone(std::vector<int > * x0){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-
-    return new bool( CasADi::isStrictlyMonotone(x0_) );
-}
-
-
-// ================== function "CasADi::isRegular" ===============
-// cppName: "CasADi::isRegular"
-// cWrapperName: "CasADi__isRegular"
-// protoArgs: "(std::vector<int > * x0)"
-// params: [ConstRef (Vec (NonVec CInt))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isRegular(std::vector<int > * x0)"
-// call: "CasADi::isRegular(x0_)"
-extern "C"
-    bool* CasADi__isRegular(std::vector<int > * x0);
-bool* CasADi__isRegular(std::vector<int > * x0){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-
-    return new bool( CasADi::isRegular(x0_) );
-}
-
-
-// ================== function "CasADi::isIncreasing'" ===============
-// cppName: "CasADi::isIncreasing'"
-// cWrapperName: "CasADi__isIncreasing_TIC"
-// protoArgs: "(std::vector<double > * x0)"
-// params: [ConstRef (Vec (NonVec CDouble))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isIncreasing_TIC(std::vector<double > * x0)"
-// call: "CasADi::isIncreasing(x0_)"
-extern "C"
-    bool* CasADi__isIncreasing_TIC(std::vector<double > * x0);
-bool* CasADi__isIncreasing_TIC(std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return new bool( CasADi::isIncreasing(x0_) );
-}
-
-
-// ================== function "CasADi::isDecreasing'" ===============
-// cppName: "CasADi::isDecreasing'"
-// cWrapperName: "CasADi__isDecreasing_TIC"
-// protoArgs: "(std::vector<double > * x0)"
-// params: [ConstRef (Vec (NonVec CDouble))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isDecreasing_TIC(std::vector<double > * x0)"
-// call: "CasADi::isDecreasing(x0_)"
-extern "C"
-    bool* CasADi__isDecreasing_TIC(std::vector<double > * x0);
-bool* CasADi__isDecreasing_TIC(std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return new bool( CasADi::isDecreasing(x0_) );
-}
-
-
-// ================== function "CasADi::isNonIncreasing'" ===============
-// cppName: "CasADi::isNonIncreasing'"
-// cWrapperName: "CasADi__isNonIncreasing_TIC"
-// protoArgs: "(std::vector<double > * x0)"
-// params: [ConstRef (Vec (NonVec CDouble))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isNonIncreasing_TIC(std::vector<double > * x0)"
-// call: "CasADi::isNonIncreasing(x0_)"
-extern "C"
-    bool* CasADi__isNonIncreasing_TIC(std::vector<double > * x0);
-bool* CasADi__isNonIncreasing_TIC(std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return new bool( CasADi::isNonIncreasing(x0_) );
-}
-
-
-// ================== function "CasADi::isNonDecreasing'" ===============
-// cppName: "CasADi::isNonDecreasing'"
-// cWrapperName: "CasADi__isNonDecreasing_TIC"
-// protoArgs: "(std::vector<double > * x0)"
-// params: [ConstRef (Vec (NonVec CDouble))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isNonDecreasing_TIC(std::vector<double > * x0)"
-// call: "CasADi::isNonDecreasing(x0_)"
-extern "C"
-    bool* CasADi__isNonDecreasing_TIC(std::vector<double > * x0);
-bool* CasADi__isNonDecreasing_TIC(std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return new bool( CasADi::isNonDecreasing(x0_) );
-}
-
-
-// ================== function "CasADi::isMonotone'" ===============
-// cppName: "CasADi::isMonotone'"
-// cWrapperName: "CasADi__isMonotone_TIC"
-// protoArgs: "(std::vector<double > * x0)"
-// params: [ConstRef (Vec (NonVec CDouble))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isMonotone_TIC(std::vector<double > * x0)"
-// call: "CasADi::isMonotone(x0_)"
-extern "C"
-    bool* CasADi__isMonotone_TIC(std::vector<double > * x0);
-bool* CasADi__isMonotone_TIC(std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return new bool( CasADi::isMonotone(x0_) );
-}
-
-
-// ================== function "CasADi::isStrictlyMonotone'" ===============
-// cppName: "CasADi::isStrictlyMonotone'"
-// cWrapperName: "CasADi__isStrictlyMonotone_TIC"
-// protoArgs: "(std::vector<double > * x0)"
-// params: [ConstRef (Vec (NonVec CDouble))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isStrictlyMonotone_TIC(std::vector<double > * x0)"
-// call: "CasADi::isStrictlyMonotone(x0_)"
-extern "C"
-    bool* CasADi__isStrictlyMonotone_TIC(std::vector<double > * x0);
-bool* CasADi__isStrictlyMonotone_TIC(std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return new bool( CasADi::isStrictlyMonotone(x0_) );
-}
-
-
-// ================== function "CasADi::isRegular'" ===============
-// cppName: "CasADi::isRegular'"
-// cWrapperName: "CasADi__isRegular_TIC"
-// protoArgs: "(std::vector<double > * x0)"
-// params: [ConstRef (Vec (NonVec CDouble))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isRegular_TIC(std::vector<double > * x0)"
-// call: "CasADi::isRegular(x0_)"
-extern "C"
-    bool* CasADi__isRegular_TIC(std::vector<double > * x0);
-bool* CasADi__isRegular_TIC(std::vector<double > * x0){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-
-    return new bool( CasADi::isRegular(x0_) );
-}
-
-
-// ================== function "CasADi::isRegular'''" ===============
-// cppName: "CasADi::isRegular'''"
-// cWrapperName: "CasADi__isRegular_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isRegular_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isRegular(x0_)"
-extern "C"
-    bool* CasADi__isRegular_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isRegular_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isRegular(x0_) );
-}
-
-
-// ================== function "CasADi::trans'" ===============
-// cppName: "CasADi::trans'"
-// cWrapperName: "CasADi__trans_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__trans_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::trans(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__trans_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__trans_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::trans(x0_) );
-}
-
-
-// ================== function "CasADi::mul'''" ===============
-// cppName: "CasADi::mul'''"
-// cWrapperName: "CasADi__mul_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::CRSSparsity* x2)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::CRSSparsity* x2)"
-// call: "CasADi::mul(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::CRSSparsity* x2);
-CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::CRSSparsity* x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-    CasADi::CRSSparsity x2_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::mul(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::mul''''" ===============
-// cppName: "CasADi::mul''''"
-// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::mul(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::mul(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::mul'''''" ===============
-// cppName: "CasADi::mul'''''"
-// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< double >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass DMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< double >* > * x0)"
-// call: "CasADi::mul(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< double >* > * x0);
-CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< double >* > * x0){
-    std::vector<CasADi::Matrix< double > > x0_ = Marshaling<std::vector<CasADi::Matrix< double > >,std::vector<CasADi::Matrix< double >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::mul(x0_) );
-}
-
-
-// ================== function "CasADi::isConstant'" ===============
-// cppName: "CasADi::isConstant'"
-// cWrapperName: "CasADi__isConstant_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isConstant_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isConstant(x0_)"
-extern "C"
-    bool* CasADi__isConstant_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isConstant_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isConstant(x0_) );
-}
-
-
-// ================== function "CasADi::isDense'" ===============
-// cppName: "CasADi::isDense'"
-// cWrapperName: "CasADi__isDense_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isDense_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isDense(x0_)"
-extern "C"
-    bool* CasADi__isDense_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isDense_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isDense(x0_) );
-}
-
-
-// ================== function "CasADi::isEmpty'" ===============
-// cppName: "CasADi::isEmpty'"
-// cWrapperName: "CasADi__isEmpty_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isEmpty_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isEmpty(x0_)"
-extern "C"
-    bool* CasADi__isEmpty_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isEmpty_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isEmpty(x0_) );
-}
-
-
-// ================== function "CasADi::isInteger'" ===============
-// cppName: "CasADi::isInteger'"
-// cWrapperName: "CasADi__isInteger_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isInteger_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isInteger(x0_)"
-extern "C"
-    bool* CasADi__isInteger_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isInteger_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isInteger(x0_) );
-}
-
-
-// ================== function "CasADi::isScalar'" ===============
-// cppName: "CasADi::isScalar'"
-// cWrapperName: "CasADi__isScalar_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isScalar_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isScalar(x0_)"
-extern "C"
-    bool* CasADi__isScalar_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isScalar_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isScalar(x0_) );
-}
-
-
-// ================== function "CasADi::isVector'" ===============
-// cppName: "CasADi::isVector'"
-// cWrapperName: "CasADi__isVector_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isVector_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isVector(x0_)"
-extern "C"
-    bool* CasADi__isVector_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isVector_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isVector(x0_) );
-}
-
-
-// ================== function "CasADi::isTril'" ===============
-// cppName: "CasADi::isTril'"
-// cWrapperName: "CasADi__isTril_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isTril_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isTril(x0_)"
-extern "C"
-    bool* CasADi__isTril_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isTril_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isTril(x0_) );
-}
-
-
-// ================== function "CasADi::isTriu'" ===============
-// cppName: "CasADi::isTriu'"
-// cWrapperName: "CasADi__isTriu_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isTriu_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isTriu(x0_)"
-extern "C"
-    bool* CasADi__isTriu_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isTriu_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isTriu(x0_) );
-}
-
-
-// ================== function "CasADi::det'" ===============
-// cppName: "CasADi::det'"
-// cWrapperName: "CasADi__det_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double CasADi__det_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::det(x0_)"
-extern "C"
-    double CasADi__det_TIC(CasADi::Matrix< double >* x0);
-double CasADi__det_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return CasADi::det(x0_);
-}
-
-
-// ================== function "CasADi::getMinor'" ===============
-// cppName: "CasADi::getMinor'"
-// cWrapperName: "CasADi__getMinor_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "double"
-// proto: "double CasADi__getMinor_TIC(CasADi::Matrix< double >* x0, int x1, int x2)"
-// call: "CasADi::getMinor(x0_, x1_, x2_)"
-extern "C"
-    double CasADi__getMinor_TIC(CasADi::Matrix< double >* x0, int x1, int x2);
-double CasADi__getMinor_TIC(CasADi::Matrix< double >* x0, int x1, int x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return CasADi::getMinor(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::cofactor'" ===============
-// cppName: "CasADi::cofactor'"
-// cWrapperName: "CasADi__cofactor_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "double"
-// proto: "double CasADi__cofactor_TIC(CasADi::Matrix< double >* x0, int x1, int x2)"
-// call: "CasADi::cofactor(x0_, x1_, x2_)"
-extern "C"
-    double CasADi__cofactor_TIC(CasADi::Matrix< double >* x0, int x1, int x2);
-double CasADi__cofactor_TIC(CasADi::Matrix< double >* x0, int x1, int x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return CasADi::cofactor(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::adj'" ===============
-// cppName: "CasADi::adj'"
-// cWrapperName: "CasADi__adj_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__adj_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::adj(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__adj_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__adj_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::adj(x0_) );
-}
-
-
-// ================== function "CasADi::inv'" ===============
-// cppName: "CasADi::inv'"
-// cWrapperName: "CasADi__inv_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__inv_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::inv(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__inv_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__inv_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::inv(x0_) );
-}
-
-
-// ================== function "CasADi::reshape''" ===============
-// cppName: "CasADi::reshape''"
-// cWrapperName: "CasADi__reshape_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__reshape_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2)"
-// call: "CasADi::reshape(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__reshape_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2);
-CasADi::Matrix< double >* CasADi__reshape_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::reshape(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::reshape'''" ===============
-// cppName: "CasADi::reshape'''"
-// cWrapperName: "CasADi__reshape_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__reshape_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
-// call: "CasADi::reshape(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__reshape_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1);
-CasADi::Matrix< double >* CasADi__reshape_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::reshape(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::vec'" ===============
-// cppName: "CasADi::vec'"
-// cWrapperName: "CasADi__vec_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__vec_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::vec(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__vec_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__vec_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::vec(x0_) );
-}
-
-
-// ================== function "CasADi::flatten'" ===============
-// cppName: "CasADi::flatten'"
-// cWrapperName: "CasADi__flatten_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__flatten_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::flatten(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__flatten_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__flatten_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::flatten(x0_) );
-}
-
-
-// ================== function "CasADi::vecNZ'" ===============
-// cppName: "CasADi::vecNZ'"
-// cWrapperName: "CasADi__vecNZ_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__vecNZ_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::vecNZ(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__vecNZ_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__vecNZ_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::vecNZ(x0_) );
-}
-
-
-// ================== function "CasADi::flattenNZ'" ===============
-// cppName: "CasADi::flattenNZ'"
-// cWrapperName: "CasADi__flattenNZ_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__flattenNZ_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::flattenNZ(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__flattenNZ_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__flattenNZ_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::flattenNZ(x0_) );
-}
-
-
-// ================== function "CasADi::blockcat'" ===============
-// cppName: "CasADi::blockcat'"
-// cWrapperName: "CasADi__blockcat_TIC"
-// protoArgs: "(std::vector<std::vector<CasADi::Matrix< double >* > > * x0)"
-// params: [ConstRef (Vec (Vec (NonVec (CasadiClass DMatrix))))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__blockcat_TIC(std::vector<std::vector<CasADi::Matrix< double >* > > * x0)"
-// call: "CasADi::blockcat(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__blockcat_TIC(std::vector<std::vector<CasADi::Matrix< double >* > > * x0);
-CasADi::Matrix< double >* CasADi__blockcat_TIC(std::vector<std::vector<CasADi::Matrix< double >* > > * x0){
-    std::vector<std::vector<CasADi::Matrix< double > > > x0_ = Marshaling<std::vector<std::vector<CasADi::Matrix< double > > >,std::vector<std::vector<CasADi::Matrix< double >* > > *>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::blockcat(x0_) );
-}
-
-
-// ================== function "CasADi::blocksplit''''" ===============
-// cppName: "CasADi::blocksplit''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, std::vector<int > * x1, std::vector<int > * x2)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (Vec (NonVec CInt)),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::Matrix< double > > >*"
-// proto: "std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<int > * x1, std::vector<int > * x2)"
-// call: "CasADi::blocksplit(x0_, x1_, x2_)"
-extern "C"
-    std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<int > * x1, std::vector<int > * x2);
-std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<int > * x1, std::vector<int > * x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-
-    return new std::vector<std::vector<CasADi::Matrix< double > > >( CasADi::blocksplit(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::blocksplit'''''" ===============
-// cppName: "CasADi::blocksplit'''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::Matrix< double > > >*"
-// proto: "std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2)"
-// call: "CasADi::blocksplit(x0_, x1_, x2_)"
-extern "C"
-    std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2);
-std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new std::vector<std::vector<CasADi::Matrix< double > > >( CasADi::blocksplit(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::blocksplit''''''" ===============
-// cppName: "CasADi::blocksplit''''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, int x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::Matrix< double > > >*"
-// proto: "std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1)"
-// call: "CasADi::blocksplit(x0_, x1_)"
-extern "C"
-    std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1);
-std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::vector<std::vector<CasADi::Matrix< double > > >( CasADi::blocksplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::blocksplit'''''''" ===============
-// cppName: "CasADi::blocksplit'''''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::Matrix< double > > >*"
-// proto: "std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::blocksplit(x0_)"
-extern "C"
-    std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
-std::vector<std::vector<CasADi::Matrix< double > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new std::vector<std::vector<CasADi::Matrix< double > > >( CasADi::blocksplit(x0_) );
-}
-
-
-// ================== function "CasADi::horzcat'" ===============
-// cppName: "CasADi::horzcat'"
-// cWrapperName: "CasADi__horzcat_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< double >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass DMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__horzcat_TIC(std::vector<CasADi::Matrix< double >* > * x0)"
-// call: "CasADi::horzcat(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__horzcat_TIC(std::vector<CasADi::Matrix< double >* > * x0);
-CasADi::Matrix< double >* CasADi__horzcat_TIC(std::vector<CasADi::Matrix< double >* > * x0){
-    std::vector<CasADi::Matrix< double > > x0_ = Marshaling<std::vector<CasADi::Matrix< double > >,std::vector<CasADi::Matrix< double >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::horzcat(x0_) );
-}
-
-
-// ================== function "CasADi::horzsplit'''" ===============
-// cppName: "CasADi::horzsplit'''"
-// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, std::vector<int > * x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< double > >*"
-// proto: "std::vector<CasADi::Matrix< double > >* CasADi__horzsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<int > * x1)"
-// call: "CasADi::horzsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::Matrix< double > >* CasADi__horzsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<int > * x1);
-std::vector<CasADi::Matrix< double > >* CasADi__horzsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<int > * x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return new std::vector<CasADi::Matrix< double > >( CasADi::horzsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::horzsplit''''" ===============
-// cppName: "CasADi::horzsplit''''"
-// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, int x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< double > >*"
-// proto: "std::vector<CasADi::Matrix< double > >* CasADi__horzsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1)"
-// call: "CasADi::horzsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::Matrix< double > >* CasADi__horzsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1);
-std::vector<CasADi::Matrix< double > >* CasADi__horzsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::vector<CasADi::Matrix< double > >( CasADi::horzsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::horzsplit'''''" ===============
-// cppName: "CasADi::horzsplit'''''"
-// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< double > >*"
-// proto: "std::vector<CasADi::Matrix< double > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::horzsplit(x0_)"
-extern "C"
-    std::vector<CasADi::Matrix< double > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
-std::vector<CasADi::Matrix< double > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new std::vector<CasADi::Matrix< double > >( CasADi::horzsplit(x0_) );
-}
-
-
-// ================== function "CasADi::vertcat'" ===============
-// cppName: "CasADi::vertcat'"
-// cWrapperName: "CasADi__vertcat_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< double >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass DMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__vertcat_TIC(std::vector<CasADi::Matrix< double >* > * x0)"
-// call: "CasADi::vertcat(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__vertcat_TIC(std::vector<CasADi::Matrix< double >* > * x0);
-CasADi::Matrix< double >* CasADi__vertcat_TIC(std::vector<CasADi::Matrix< double >* > * x0){
-    std::vector<CasADi::Matrix< double > > x0_ = Marshaling<std::vector<CasADi::Matrix< double > >,std::vector<CasADi::Matrix< double >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::vertcat(x0_) );
-}
-
-
-// ================== function "CasADi::vertsplit'''" ===============
-// cppName: "CasADi::vertsplit'''"
-// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, std::vector<int > * x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< double > >*"
-// proto: "std::vector<CasADi::Matrix< double > >* CasADi__vertsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<int > * x1)"
-// call: "CasADi::vertsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::Matrix< double > >* CasADi__vertsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<int > * x1);
-std::vector<CasADi::Matrix< double > >* CasADi__vertsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<int > * x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return new std::vector<CasADi::Matrix< double > >( CasADi::vertsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::vertsplit''''" ===============
-// cppName: "CasADi::vertsplit''''"
-// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, int x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< double > >*"
-// proto: "std::vector<CasADi::Matrix< double > >* CasADi__vertsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1)"
-// call: "CasADi::vertsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::Matrix< double > >* CasADi__vertsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1);
-std::vector<CasADi::Matrix< double > >* CasADi__vertsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::vector<CasADi::Matrix< double > >( CasADi::vertsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::vertsplit'''''" ===============
-// cppName: "CasADi::vertsplit'''''"
-// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< double > >*"
-// proto: "std::vector<CasADi::Matrix< double > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::vertsplit(x0_)"
-extern "C"
-    std::vector<CasADi::Matrix< double > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
-std::vector<CasADi::Matrix< double > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new std::vector<CasADi::Matrix< double > >( CasADi::vertsplit(x0_) );
-}
-
-
-// ================== function "CasADi::inner_prod'" ===============
-// cppName: "CasADi::inner_prod'"
-// cWrapperName: "CasADi__inner_prod_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__inner_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::inner_prod(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__inner_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__inner_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::inner_prod(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::outer_prod'" ===============
-// cppName: "CasADi::outer_prod'"
-// cWrapperName: "CasADi__outer_prod_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__outer_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::outer_prod(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__outer_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__outer_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::outer_prod(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::norm_1'" ===============
-// cppName: "CasADi::norm_1'"
-// cWrapperName: "CasADi__norm_1_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__norm_1_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::norm_1(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__norm_1_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__norm_1_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::norm_1(x0_) );
-}
-
-
-// ================== function "CasADi::norm_2'" ===============
-// cppName: "CasADi::norm_2'"
-// cWrapperName: "CasADi__norm_2_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__norm_2_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::norm_2(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__norm_2_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__norm_2_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::norm_2(x0_) );
-}
-
-
-// ================== function "CasADi::norm_inf'" ===============
-// cppName: "CasADi::norm_inf'"
-// cWrapperName: "CasADi__norm_inf_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__norm_inf_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::norm_inf(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__norm_inf_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__norm_inf_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::norm_inf(x0_) );
-}
-
-
-// ================== function "CasADi::norm_F'" ===============
-// cppName: "CasADi::norm_F'"
-// cWrapperName: "CasADi__norm_F_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__norm_F_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::norm_F(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__norm_F_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__norm_F_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::norm_F(x0_) );
-}
-
-
-// ================== function "CasADi::qr'" ===============
-// cppName: "CasADi::qr'"
-// cWrapperName: "CasADi__qr_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),Ref (NonVec (CasadiClass DMatrix)),Ref (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__qr_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
-// call: "CasADi::qr(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__qr_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
-void CasADi__qr_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-    CasADi::Matrix< double > x2_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x2);
-
-    return CasADi::qr(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::nullspace'" ===============
-// cppName: "CasADi::nullspace'"
-// cWrapperName: "CasADi__nullspace_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__nullspace_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::nullspace(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__nullspace_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__nullspace_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::nullspace(x0_) );
-}
-
-
-// ================== function "CasADi::solve'" ===============
-// cppName: "CasADi::solve'"
-// cWrapperName: "CasADi__solve_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__solve_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::solve(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__solve_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__solve_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::solve(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::pinv'" ===============
-// cppName: "CasADi::pinv'"
-// cWrapperName: "CasADi__pinv_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__pinv_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::pinv(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__pinv_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__pinv_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::pinv(x0_) );
-}
-
-
-// ================== function "CasADi::isZero'" ===============
-// cppName: "CasADi::isZero'"
-// cWrapperName: "CasADi__isZero_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isZero_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isZero(x0_)"
-extern "C"
-    bool* CasADi__isZero_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isZero_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isZero(x0_) );
-}
-
-
-// ================== function "CasADi::isOne'" ===============
-// cppName: "CasADi::isOne'"
-// cWrapperName: "CasADi__isOne_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isOne_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isOne(x0_)"
-extern "C"
-    bool* CasADi__isOne_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isOne_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isOne(x0_) );
-}
-
-
-// ================== function "CasADi::isMinusOne'" ===============
-// cppName: "CasADi::isMinusOne'"
-// cWrapperName: "CasADi__isMinusOne_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isMinusOne_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isMinusOne(x0_)"
-extern "C"
-    bool* CasADi__isMinusOne_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isMinusOne_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isMinusOne(x0_) );
-}
-
-
-// ================== function "CasADi::isIdentity'" ===============
-// cppName: "CasADi::isIdentity'"
-// cWrapperName: "CasADi__isIdentity_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isIdentity_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::isIdentity(x0_)"
-extern "C"
-    bool* CasADi__isIdentity_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__isIdentity_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::isIdentity(x0_) );
-}
-
-
-// ================== function "CasADi::nnz'" ===============
-// cppName: "CasADi::nnz'"
-// cWrapperName: "CasADi__nnz_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__nnz_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::nnz(x0_)"
-extern "C"
-    int CasADi__nnz_TIC(CasADi::Matrix< double >* x0);
-int CasADi__nnz_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return CasADi::nnz(x0_);
-}
-
-
-// ================== function "CasADi::nnz_sym'" ===============
-// cppName: "CasADi::nnz_sym'"
-// cWrapperName: "CasADi__nnz_sym_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__nnz_sym_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::nnz_sym(x0_)"
-extern "C"
-    int CasADi__nnz_sym_TIC(CasADi::Matrix< double >* x0);
-int CasADi__nnz_sym_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return CasADi::nnz_sym(x0_);
-}
-
-
-// ================== function "CasADi::isEqual'" ===============
-// cppName: "CasADi::isEqual'"
-// cWrapperName: "CasADi__isEqual_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isEqual_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::isEqual(x0_, x1_)"
-extern "C"
-    bool* CasADi__isEqual_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
-bool* CasADi__isEqual_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new bool( CasADi::isEqual(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::repmat'" ===============
-// cppName: "CasADi::repmat'"
-// cWrapperName: "CasADi__repmat_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__repmat_TIC(CasADi::Matrix< double >* x0, int x1, int x2)"
-// call: "CasADi::repmat(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__repmat_TIC(CasADi::Matrix< double >* x0, int x1, int x2);
-CasADi::Matrix< double >* CasADi__repmat_TIC(CasADi::Matrix< double >* x0, int x1, int x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::repmat(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::getSparseTriplet'" ===============
-// cppName: "CasADi::getSparseTriplet'"
-// cWrapperName: "CasADi__getSparseTriplet_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<std::vector<int > >*"
-// proto: "std::vector<std::vector<int > >* CasADi__getSparseTriplet_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::getSparseTriplet(x0_)"
-extern "C"
-    std::vector<std::vector<int > >* CasADi__getSparseTriplet_TIC(CasADi::Matrix< double >* x0);
-std::vector<std::vector<int > >* CasADi__getSparseTriplet_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new std::vector<std::vector<int > >( CasADi::getSparseTriplet(x0_) );
-}
-
-
-// ================== function "CasADi::unite'" ===============
-// cppName: "CasADi::unite'"
-// cWrapperName: "CasADi__unite_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__unite_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::unite(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__unite_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__unite_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::unite(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sumCols'" ===============
-// cppName: "CasADi::sumCols'"
-// cWrapperName: "CasADi__sumCols_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__sumCols_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::sumCols(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__sumCols_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__sumCols_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::sumCols(x0_) );
-}
-
-
-// ================== function "CasADi::sumRows'" ===============
-// cppName: "CasADi::sumRows'"
-// cWrapperName: "CasADi__sumRows_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__sumRows_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::sumRows(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__sumRows_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__sumRows_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::sumRows(x0_) );
-}
-
-
-// ================== function "CasADi::sumAll'" ===============
-// cppName: "CasADi::sumAll'"
-// cWrapperName: "CasADi__sumAll_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__sumAll_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::sumAll(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__sumAll_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__sumAll_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::sumAll(x0_) );
-}
-
-
-// ================== function "CasADi::trace'" ===============
-// cppName: "CasADi::trace'"
-// cWrapperName: "CasADi__trace_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double CasADi__trace_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::trace(x0_)"
-extern "C"
-    double CasADi__trace_TIC(CasADi::Matrix< double >* x0);
-double CasADi__trace_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return CasADi::trace(x0_);
-}
-
-
-// ================== function "CasADi::makeDense'" ===============
-// cppName: "CasADi::makeDense'"
-// cWrapperName: "CasADi__makeDense_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [Ref (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__makeDense_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::makeDense(x0_)"
-extern "C"
-    void CasADi__makeDense_TIC(CasADi::Matrix< double >* x0);
-void CasADi__makeDense_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return CasADi::makeDense(x0_);
-}
-
-
-// ================== function "CasADi::densify'" ===============
-// cppName: "CasADi::densify'"
-// cWrapperName: "CasADi__densify_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__densify_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::densify(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__densify_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__densify_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::densify(x0_) );
-}
-
-
-// ================== function "CasADi::makeSparse''" ===============
-// cppName: "CasADi::makeSparse''"
-// cWrapperName: "CasADi__makeSparse_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, double x1)"
-// params: [Ref (NonVec (CasadiClass DMatrix)),Val (NonVec CDouble)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__makeSparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1)"
-// call: "CasADi::makeSparse(x0_, x1_)"
-extern "C"
-    void CasADi__makeSparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1);
-void CasADi__makeSparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    double x1_ = Marshaling<double,double>::marshal(x1);
-
-    return CasADi::makeSparse(x0_, x1_);
-}
-
-
-// ================== function "CasADi::makeSparse'''" ===============
-// cppName: "CasADi::makeSparse'''"
-// cWrapperName: "CasADi__makeSparse_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [Ref (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__makeSparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::makeSparse(x0_)"
-extern "C"
-    void CasADi__makeSparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
-void CasADi__makeSparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return CasADi::makeSparse(x0_);
-}
-
-
-// ================== function "CasADi::hasNonStructuralZeros'" ===============
-// cppName: "CasADi::hasNonStructuralZeros'"
-// cWrapperName: "CasADi__hasNonStructuralZeros_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__hasNonStructuralZeros_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::hasNonStructuralZeros(x0_)"
-extern "C"
-    bool* CasADi__hasNonStructuralZeros_TIC(CasADi::Matrix< double >* x0);
-bool* CasADi__hasNonStructuralZeros_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new bool( CasADi::hasNonStructuralZeros(x0_) );
-}
-
-
-// ================== function "CasADi::diag'" ===============
-// cppName: "CasADi::diag'"
-// cWrapperName: "CasADi__diag_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__diag_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::diag(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__diag_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__diag_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::diag(x0_) );
-}
-
-
-// ================== function "CasADi::blkdiag'" ===============
-// cppName: "CasADi::blkdiag'"
-// cWrapperName: "CasADi__blkdiag_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< double >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass DMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__blkdiag_TIC(std::vector<CasADi::Matrix< double >* > * x0)"
-// call: "CasADi::blkdiag(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__blkdiag_TIC(std::vector<CasADi::Matrix< double >* > * x0);
-CasADi::Matrix< double >* CasADi__blkdiag_TIC(std::vector<CasADi::Matrix< double >* > * x0){
-    std::vector<CasADi::Matrix< double > > x0_ = Marshaling<std::vector<CasADi::Matrix< double > >,std::vector<CasADi::Matrix< double >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::blkdiag(x0_) );
-}
-
-
-// ================== function "CasADi::polyval'" ===============
-// cppName: "CasADi::polyval'"
-// cWrapperName: "CasADi__polyval_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__polyval_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::polyval(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__polyval_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__polyval_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::polyval(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::addMultiple''" ===============
-// cppName: "CasADi::addMultiple''"
-// cWrapperName: "CasADi__addMultiple_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2, bool* x3)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (Vec (NonVec CDouble)),Ref (Vec (NonVec CDouble)),Val (NonVec CBool)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__addMultiple_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2, bool* x3)"
-// call: "CasADi::addMultiple(x0_, x1_, x2_, x3_)"
-extern "C"
-    void CasADi__addMultiple_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2, bool* x3);
-void CasADi__addMultiple_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2, bool* x3){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    std::vector<double > x1_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x1);
-    std::vector<double > x2_ = Marshaling<std::vector<double >,std::vector<double >*>::marshal(x2);
-    bool x3_ = Marshaling<bool,bool*>::marshal(x3);
-
-    return CasADi::addMultiple(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== function "CasADi::addMultiple'''" ===============
-// cppName: "CasADi::addMultiple'''"
-// cWrapperName: "CasADi__addMultiple_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (Vec (NonVec CDouble)),Ref (Vec (NonVec CDouble))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__addMultiple_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2)"
-// call: "CasADi::addMultiple(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__addMultiple_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2);
-void CasADi__addMultiple_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector<double > * x1, std::vector<double >* x2){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    std::vector<double > x1_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x1);
-    std::vector<double > x2_ = Marshaling<std::vector<double >,std::vector<double >*>::marshal(x2);
-
-    return CasADi::addMultiple(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::veccat'" ===============
-// cppName: "CasADi::veccat'"
-// cWrapperName: "CasADi__veccat_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< double >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass DMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__veccat_TIC(std::vector<CasADi::Matrix< double >* > * x0)"
-// call: "CasADi::veccat(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__veccat_TIC(std::vector<CasADi::Matrix< double >* > * x0);
-CasADi::Matrix< double >* CasADi__veccat_TIC(std::vector<CasADi::Matrix< double >* > * x0){
-    std::vector<CasADi::Matrix< double > > x0_ = Marshaling<std::vector<CasADi::Matrix< double > >,std::vector<CasADi::Matrix< double >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::veccat(x0_) );
-}
-
-
-// ================== function "CasADi::vecNZcat'" ===============
-// cppName: "CasADi::vecNZcat'"
-// cWrapperName: "CasADi__vecNZcat_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< double >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass DMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__vecNZcat_TIC(std::vector<CasADi::Matrix< double >* > * x0)"
-// call: "CasADi::vecNZcat(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__vecNZcat_TIC(std::vector<CasADi::Matrix< double >* > * x0);
-CasADi::Matrix< double >* CasADi__vecNZcat_TIC(std::vector<CasADi::Matrix< double >* > * x0){
-    std::vector<CasADi::Matrix< double > > x0_ = Marshaling<std::vector<CasADi::Matrix< double > >,std::vector<CasADi::Matrix< double >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::vecNZcat(x0_) );
-}
-
-
-// ================== function "CasADi::flattencat'" ===============
-// cppName: "CasADi::flattencat'"
-// cWrapperName: "CasADi__flattencat_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< double >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass DMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__flattencat_TIC(std::vector<CasADi::Matrix< double >* > * x0)"
-// call: "CasADi::flattencat(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__flattencat_TIC(std::vector<CasADi::Matrix< double >* > * x0);
-CasADi::Matrix< double >* CasADi__flattencat_TIC(std::vector<CasADi::Matrix< double >* > * x0){
-    std::vector<CasADi::Matrix< double > > x0_ = Marshaling<std::vector<CasADi::Matrix< double > >,std::vector<CasADi::Matrix< double >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::flattencat(x0_) );
-}
-
-
-// ================== function "CasADi::flattenNZcat'" ===============
-// cppName: "CasADi::flattenNZcat'"
-// cWrapperName: "CasADi__flattenNZcat_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< double >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass DMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__flattenNZcat_TIC(std::vector<CasADi::Matrix< double >* > * x0)"
-// call: "CasADi::flattenNZcat(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__flattenNZcat_TIC(std::vector<CasADi::Matrix< double >* > * x0);
-CasADi::Matrix< double >* CasADi__flattenNZcat_TIC(std::vector<CasADi::Matrix< double >* > * x0){
-    std::vector<CasADi::Matrix< double > > x0_ = Marshaling<std::vector<CasADi::Matrix< double > >,std::vector<CasADi::Matrix< double >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::flattenNZcat(x0_) );
-}
-
-
-// ================== function "CasADi::project'" ===============
-// cppName: "CasADi::project'"
-// cWrapperName: "CasADi__project_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__project_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
-// call: "CasADi::project(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__project_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1);
-CasADi::Matrix< double >* CasADi__project_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::project(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sprank'" ===============
-// cppName: "CasADi::sprank'"
-// cWrapperName: "CasADi__sprank_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__sprank_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::sprank(x0_)"
-extern "C"
-    int CasADi__sprank_TIC(CasADi::Matrix< double >* x0);
-int CasADi__sprank_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return CasADi::sprank(x0_);
-}
-
-
-// ================== function "CasADi::kron'" ===============
-// cppName: "CasADi::kron'"
-// cWrapperName: "CasADi__kron_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__kron_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::kron(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__kron_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__kron_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::kron(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sparse''" ===============
-// cppName: "CasADi::sparse''"
-// cWrapperName: "CasADi__sparse_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, double x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),Val (NonVec CDouble)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__sparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1)"
-// call: "CasADi::sparse(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__sparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1);
-CasADi::Matrix< double >* CasADi__sparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    double x1_ = Marshaling<double,double>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::sparse(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sparse'''" ===============
-// cppName: "CasADi::sparse'''"
-// cWrapperName: "CasADi__sparse_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__sparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::sparse(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__sparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__sparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::sparse(x0_) );
-}
-
-
-// ================== function "CasADi::full'" ===============
-// cppName: "CasADi::full'"
-// cWrapperName: "CasADi__full_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__full_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::full(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__full_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__full_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::full(x0_) );
-}
-
-
-// ================== function "CasADi::trans''" ===============
-// cppName: "CasADi::trans''"
-// cWrapperName: "CasADi__trans_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__trans_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::trans(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__trans_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__trans_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::trans(x0_) );
-}
-
-
-// ================== function "CasADi::mul''''''" ===============
-// cppName: "CasADi::mul''''''"
-// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::CRSSparsity* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::CRSSparsity* x2)"
-// call: "CasADi::mul(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::CRSSparsity* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::CRSSparsity* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::CRSSparsity x2_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::mul(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::mul'''''''" ===============
-// cppName: "CasADi::mul'''''''"
-// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::mul(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::mul(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::mul''''''''" ===============
-// cppName: "CasADi::mul''''''''"
-// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass SXMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// call: "CasADi::mul(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0);
-CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::mul(x0_) );
-}
-
-
-// ================== function "CasADi::isConstant''" ===============
-// cppName: "CasADi::isConstant''"
-// cWrapperName: "CasADi__isConstant_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isConstant_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isConstant(x0_)"
-extern "C"
-    bool* CasADi__isConstant_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isConstant_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isConstant(x0_) );
-}
-
-
-// ================== function "CasADi::isDense''" ===============
-// cppName: "CasADi::isDense''"
-// cWrapperName: "CasADi__isDense_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isDense(x0_)"
-extern "C"
-    bool* CasADi__isDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isDense(x0_) );
-}
-
-
-// ================== function "CasADi::isEmpty''" ===============
-// cppName: "CasADi::isEmpty''"
-// cWrapperName: "CasADi__isEmpty_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isEmpty_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isEmpty(x0_)"
-extern "C"
-    bool* CasADi__isEmpty_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isEmpty_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isEmpty(x0_) );
-}
-
-
-// ================== function "CasADi::isInteger''" ===============
-// cppName: "CasADi::isInteger''"
-// cWrapperName: "CasADi__isInteger_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isInteger_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isInteger(x0_)"
-extern "C"
-    bool* CasADi__isInteger_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isInteger_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isInteger(x0_) );
-}
-
-
-// ================== function "CasADi::isScalar''" ===============
-// cppName: "CasADi::isScalar''"
-// cWrapperName: "CasADi__isScalar_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isScalar_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isScalar(x0_)"
-extern "C"
-    bool* CasADi__isScalar_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isScalar_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isScalar(x0_) );
-}
-
-
-// ================== function "CasADi::isVector''" ===============
-// cppName: "CasADi::isVector''"
-// cWrapperName: "CasADi__isVector_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isVector_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isVector(x0_)"
-extern "C"
-    bool* CasADi__isVector_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isVector_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isVector(x0_) );
-}
-
-
-// ================== function "CasADi::isTril''" ===============
-// cppName: "CasADi::isTril''"
-// cWrapperName: "CasADi__isTril_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isTril_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isTril(x0_)"
-extern "C"
-    bool* CasADi__isTril_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isTril_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isTril(x0_) );
-}
-
-
-// ================== function "CasADi::isTriu''" ===============
-// cppName: "CasADi::isTriu''"
-// cWrapperName: "CasADi__isTriu_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isTriu_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isTriu(x0_)"
-extern "C"
-    bool* CasADi__isTriu_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isTriu_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isTriu(x0_) );
-}
-
-
-// ================== function "CasADi::det''" ===============
-// cppName: "CasADi::det''"
-// cWrapperName: "CasADi__det_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__det_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::det(x0_)"
-extern "C"
-    CasADi::SX* CasADi__det_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::SX* CasADi__det_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::SX( CasADi::det(x0_) );
-}
-
-
-// ================== function "CasADi::getMinor''" ===============
-// cppName: "CasADi::getMinor''"
-// cWrapperName: "CasADi__getMinor_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__getMinor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// call: "CasADi::getMinor(x0_, x1_, x2_)"
-extern "C"
-    CasADi::SX* CasADi__getMinor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
-CasADi::SX* CasADi__getMinor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::SX( CasADi::getMinor(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::cofactor''" ===============
-// cppName: "CasADi::cofactor''"
-// cWrapperName: "CasADi__cofactor_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__cofactor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// call: "CasADi::cofactor(x0_, x1_, x2_)"
-extern "C"
-    CasADi::SX* CasADi__cofactor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
-CasADi::SX* CasADi__cofactor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::SX( CasADi::cofactor(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::adj''" ===============
-// cppName: "CasADi::adj''"
-// cWrapperName: "CasADi__adj_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__adj_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::adj(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__adj_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__adj_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::adj(x0_) );
-}
-
-
-// ================== function "CasADi::inv''" ===============
-// cppName: "CasADi::inv''"
-// cWrapperName: "CasADi__inv_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__inv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::inv(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__inv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__inv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::inv(x0_) );
-}
-
-
-// ================== function "CasADi::reshape''''" ===============
-// cppName: "CasADi::reshape''''"
-// cWrapperName: "CasADi__reshape_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// call: "CasADi::reshape(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
-CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::reshape(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::reshape'''''" ===============
-// cppName: "CasADi::reshape'''''"
-// cWrapperName: "CasADi__reshape_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
-// call: "CasADi::reshape(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::reshape(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::vec''" ===============
-// cppName: "CasADi::vec''"
-// cWrapperName: "CasADi__vec_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__vec_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::vec(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__vec_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__vec_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::vec(x0_) );
-}
-
-
-// ================== function "CasADi::flatten''" ===============
-// cppName: "CasADi::flatten''"
-// cWrapperName: "CasADi__flatten_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__flatten_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::flatten(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__flatten_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__flatten_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::flatten(x0_) );
-}
-
-
-// ================== function "CasADi::vecNZ''" ===============
-// cppName: "CasADi::vecNZ''"
-// cWrapperName: "CasADi__vecNZ_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__vecNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::vecNZ(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__vecNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__vecNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::vecNZ(x0_) );
-}
-
-
-// ================== function "CasADi::flattenNZ''" ===============
-// cppName: "CasADi::flattenNZ''"
-// cWrapperName: "CasADi__flattenNZ_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__flattenNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::flattenNZ(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__flattenNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__flattenNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::flattenNZ(x0_) );
-}
-
-
-// ================== function "CasADi::blockcat''" ===============
-// cppName: "CasADi::blockcat''"
-// cWrapperName: "CasADi__blockcat_TIC_TIC"
-// protoArgs: "(std::vector<std::vector<CasADi::Matrix< CasADi::SX >* > > * x0)"
-// params: [ConstRef (Vec (Vec (NonVec (CasadiClass SXMatrix))))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__blockcat_TIC_TIC(std::vector<std::vector<CasADi::Matrix< CasADi::SX >* > > * x0)"
-// call: "CasADi::blockcat(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__blockcat_TIC_TIC(std::vector<std::vector<CasADi::Matrix< CasADi::SX >* > > * x0);
-CasADi::Matrix< CasADi::SX >* CasADi__blockcat_TIC_TIC(std::vector<std::vector<CasADi::Matrix< CasADi::SX >* > > * x0){
-    std::vector<std::vector<CasADi::Matrix< CasADi::SX > > > x0_ = Marshaling<std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >,std::vector<std::vector<CasADi::Matrix< CasADi::SX >* > > *>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::blockcat(x0_) );
-}
-
-
-// ================== function "CasADi::blocksplit''''''''" ===============
-// cppName: "CasADi::blocksplit''''''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1, std::vector<int > * x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (Vec (NonVec CInt)),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >*"
-// proto: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1, std::vector<int > * x2)"
-// call: "CasADi::blocksplit(x0_, x1_, x2_)"
-extern "C"
-    std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1, std::vector<int > * x2);
-std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1, std::vector<int > * x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-
-    return new std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >( CasADi::blocksplit(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::blocksplit'''''''''" ===============
-// cppName: "CasADi::blocksplit'''''''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >*"
-// proto: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// call: "CasADi::blocksplit(x0_, x1_, x2_)"
-extern "C"
-    std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
-std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >( CasADi::blocksplit(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::blocksplit''''''''''" ===============
-// cppName: "CasADi::blocksplit''''''''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >*"
-// proto: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// call: "CasADi::blocksplit(x0_, x1_)"
-extern "C"
-    std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
-std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >( CasADi::blocksplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::blocksplit'''''''''''" ===============
-// cppName: "CasADi::blocksplit'''''''''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >*"
-// proto: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::blocksplit(x0_)"
-extern "C"
-    std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >( CasADi::blocksplit(x0_) );
-}
-
-
-// ================== function "CasADi::horzcat''" ===============
-// cppName: "CasADi::horzcat''"
-// cWrapperName: "CasADi__horzcat_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass SXMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__horzcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// call: "CasADi::horzcat(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__horzcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0);
-CasADi::Matrix< CasADi::SX >* CasADi__horzcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::horzcat(x0_) );
-}
-
-
-// ================== function "CasADi::horzsplit''''''" ===============
-// cppName: "CasADi::horzsplit''''''"
-// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< CasADi::SX > >*"
-// proto: "std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1)"
-// call: "CasADi::horzsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1);
-std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return new std::vector<CasADi::Matrix< CasADi::SX > >( CasADi::horzsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::horzsplit'''''''" ===============
-// cppName: "CasADi::horzsplit'''''''"
-// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< CasADi::SX > >*"
-// proto: "std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// call: "CasADi::horzsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
-std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::vector<CasADi::Matrix< CasADi::SX > >( CasADi::horzsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::horzsplit''''''''" ===============
-// cppName: "CasADi::horzsplit''''''''"
-// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< CasADi::SX > >*"
-// proto: "std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::horzsplit(x0_)"
-extern "C"
-    std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new std::vector<CasADi::Matrix< CasADi::SX > >( CasADi::horzsplit(x0_) );
-}
-
-
-// ================== function "CasADi::vertcat''" ===============
-// cppName: "CasADi::vertcat''"
-// cWrapperName: "CasADi__vertcat_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass SXMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__vertcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// call: "CasADi::vertcat(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__vertcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0);
-CasADi::Matrix< CasADi::SX >* CasADi__vertcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::vertcat(x0_) );
-}
-
-
-// ================== function "CasADi::vertsplit''''''" ===============
-// cppName: "CasADi::vertsplit''''''"
-// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< CasADi::SX > >*"
-// proto: "std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1)"
-// call: "CasADi::vertsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1);
-std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<int > * x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return new std::vector<CasADi::Matrix< CasADi::SX > >( CasADi::vertsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::vertsplit'''''''" ===============
-// cppName: "CasADi::vertsplit'''''''"
-// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< CasADi::SX > >*"
-// proto: "std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// call: "CasADi::vertsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
-std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::vector<CasADi::Matrix< CasADi::SX > >( CasADi::vertsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::vertsplit''''''''" ===============
-// cppName: "CasADi::vertsplit''''''''"
-// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< CasADi::SX > >*"
-// proto: "std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::vertsplit(x0_)"
-extern "C"
-    std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new std::vector<CasADi::Matrix< CasADi::SX > >( CasADi::vertsplit(x0_) );
-}
-
-
-// ================== function "CasADi::inner_prod''" ===============
-// cppName: "CasADi::inner_prod''"
-// cWrapperName: "CasADi__inner_prod_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__inner_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::inner_prod(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__inner_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__inner_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::inner_prod(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::outer_prod''" ===============
-// cppName: "CasADi::outer_prod''"
-// cWrapperName: "CasADi__outer_prod_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__outer_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::outer_prod(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__outer_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__outer_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::outer_prod(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::norm_1''" ===============
-// cppName: "CasADi::norm_1''"
-// cWrapperName: "CasADi__norm_1_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__norm_1_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::norm_1(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__norm_1_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__norm_1_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::norm_1(x0_) );
-}
-
-
-// ================== function "CasADi::norm_2''" ===============
-// cppName: "CasADi::norm_2''"
-// cWrapperName: "CasADi__norm_2_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__norm_2_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::norm_2(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__norm_2_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__norm_2_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::norm_2(x0_) );
-}
-
-
-// ================== function "CasADi::norm_inf''" ===============
-// cppName: "CasADi::norm_inf''"
-// cWrapperName: "CasADi__norm_inf_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__norm_inf_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::norm_inf(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__norm_inf_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__norm_inf_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::norm_inf(x0_) );
-}
-
-
-// ================== function "CasADi::norm_F''" ===============
-// cppName: "CasADi::norm_F''"
-// cWrapperName: "CasADi__norm_F_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__norm_F_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::norm_F(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__norm_F_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__norm_F_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::norm_F(x0_) );
-}
-
-
-// ================== function "CasADi::qr''" ===============
-// cppName: "CasADi::qr''"
-// cWrapperName: "CasADi__qr_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Ref (NonVec (CasadiClass SXMatrix)),Ref (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__qr_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::qr(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__qr_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-void CasADi__qr_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return CasADi::qr(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::nullspace''" ===============
-// cppName: "CasADi::nullspace''"
-// cWrapperName: "CasADi__nullspace_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__nullspace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::nullspace(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__nullspace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__nullspace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::nullspace(x0_) );
-}
-
-
-// ================== function "CasADi::solve''" ===============
-// cppName: "CasADi::solve''"
-// cWrapperName: "CasADi__solve_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__solve_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::solve(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__solve_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__solve_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::solve(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::pinv''" ===============
-// cppName: "CasADi::pinv''"
-// cWrapperName: "CasADi__pinv_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__pinv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::pinv(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__pinv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__pinv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::pinv(x0_) );
-}
-
-
-// ================== function "CasADi::isZero''" ===============
-// cppName: "CasADi::isZero''"
-// cWrapperName: "CasADi__isZero_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isZero_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isZero(x0_)"
-extern "C"
-    bool* CasADi__isZero_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isZero_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isZero(x0_) );
-}
-
-
-// ================== function "CasADi::isOne''" ===============
-// cppName: "CasADi::isOne''"
-// cWrapperName: "CasADi__isOne_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isOne(x0_)"
-extern "C"
-    bool* CasADi__isOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isOne(x0_) );
-}
-
-
-// ================== function "CasADi::isMinusOne''" ===============
-// cppName: "CasADi::isMinusOne''"
-// cWrapperName: "CasADi__isMinusOne_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isMinusOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isMinusOne(x0_)"
-extern "C"
-    bool* CasADi__isMinusOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isMinusOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isMinusOne(x0_) );
-}
-
-
-// ================== function "CasADi::isIdentity''" ===============
-// cppName: "CasADi::isIdentity''"
-// cWrapperName: "CasADi__isIdentity_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isIdentity_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isIdentity(x0_)"
-extern "C"
-    bool* CasADi__isIdentity_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isIdentity_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isIdentity(x0_) );
-}
-
-
-// ================== function "CasADi::nnz''" ===============
-// cppName: "CasADi::nnz''"
-// cWrapperName: "CasADi__nnz_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__nnz_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::nnz(x0_)"
-extern "C"
-    int CasADi__nnz_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-int CasADi__nnz_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return CasADi::nnz(x0_);
-}
-
-
-// ================== function "CasADi::nnz_sym''" ===============
-// cppName: "CasADi::nnz_sym''"
-// cWrapperName: "CasADi__nnz_sym_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__nnz_sym_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::nnz_sym(x0_)"
-extern "C"
-    int CasADi__nnz_sym_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-int CasADi__nnz_sym_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return CasADi::nnz_sym(x0_);
-}
-
-
-// ================== function "CasADi::isEqual''" ===============
-// cppName: "CasADi::isEqual''"
-// cWrapperName: "CasADi__isEqual_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isEqual_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::isEqual(x0_, x1_)"
-extern "C"
-    bool* CasADi__isEqual_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-bool* CasADi__isEqual_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new bool( CasADi::isEqual(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::repmat''" ===============
-// cppName: "CasADi::repmat''"
-// cWrapperName: "CasADi__repmat_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__repmat_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// call: "CasADi::repmat(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__repmat_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
-CasADi::Matrix< CasADi::SX >* CasADi__repmat_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::repmat(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::getSparseTriplet''" ===============
-// cppName: "CasADi::getSparseTriplet''"
-// cWrapperName: "CasADi__getSparseTriplet_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<std::vector<int > >*"
-// proto: "std::vector<std::vector<int > >* CasADi__getSparseTriplet_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::getSparseTriplet(x0_)"
-extern "C"
-    std::vector<std::vector<int > >* CasADi__getSparseTriplet_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-std::vector<std::vector<int > >* CasADi__getSparseTriplet_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new std::vector<std::vector<int > >( CasADi::getSparseTriplet(x0_) );
-}
-
-
-// ================== function "CasADi::unite''" ===============
-// cppName: "CasADi::unite''"
-// cWrapperName: "CasADi__unite_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__unite_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::unite(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__unite_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__unite_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::unite(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sumCols''" ===============
-// cppName: "CasADi::sumCols''"
-// cWrapperName: "CasADi__sumCols_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__sumCols_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::sumCols(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__sumCols_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__sumCols_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::sumCols(x0_) );
-}
-
-
-// ================== function "CasADi::sumRows''" ===============
-// cppName: "CasADi::sumRows''"
-// cWrapperName: "CasADi__sumRows_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__sumRows_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::sumRows(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__sumRows_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__sumRows_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::sumRows(x0_) );
-}
-
-
-// ================== function "CasADi::sumAll''" ===============
-// cppName: "CasADi::sumAll''"
-// cWrapperName: "CasADi__sumAll_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__sumAll_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::sumAll(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__sumAll_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__sumAll_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::sumAll(x0_) );
-}
-
-
-// ================== function "CasADi::trace''" ===============
-// cppName: "CasADi::trace''"
-// cWrapperName: "CasADi__trace_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__trace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::trace(x0_)"
-extern "C"
-    CasADi::SX* CasADi__trace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::SX* CasADi__trace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::SX( CasADi::trace(x0_) );
-}
-
-
-// ================== function "CasADi::makeDense''" ===============
-// cppName: "CasADi::makeDense''"
-// cWrapperName: "CasADi__makeDense_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [Ref (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__makeDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::makeDense(x0_)"
-extern "C"
-    void CasADi__makeDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-void CasADi__makeDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return CasADi::makeDense(x0_);
-}
-
-
-// ================== function "CasADi::densify''" ===============
-// cppName: "CasADi::densify''"
-// cWrapperName: "CasADi__densify_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__densify_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::densify(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__densify_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__densify_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::densify(x0_) );
-}
-
-
-// ================== function "CasADi::makeSparse''''" ===============
-// cppName: "CasADi::makeSparse''''"
-// cWrapperName: "CasADi__makeSparse_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, double x1)"
-// params: [Ref (NonVec (CasadiClass SXMatrix)),Val (NonVec CDouble)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__makeSparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1)"
-// call: "CasADi::makeSparse(x0_, x1_)"
-extern "C"
-    void CasADi__makeSparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1);
-void CasADi__makeSparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    double x1_ = Marshaling<double,double>::marshal(x1);
-
-    return CasADi::makeSparse(x0_, x1_);
-}
-
-
-// ================== function "CasADi::makeSparse'''''" ===============
-// cppName: "CasADi::makeSparse'''''"
-// cWrapperName: "CasADi__makeSparse_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [Ref (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__makeSparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::makeSparse(x0_)"
-extern "C"
-    void CasADi__makeSparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-void CasADi__makeSparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return CasADi::makeSparse(x0_);
-}
-
-
-// ================== function "CasADi::hasNonStructuralZeros''" ===============
-// cppName: "CasADi::hasNonStructuralZeros''"
-// cWrapperName: "CasADi__hasNonStructuralZeros_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__hasNonStructuralZeros_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::hasNonStructuralZeros(x0_)"
-extern "C"
-    bool* CasADi__hasNonStructuralZeros_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__hasNonStructuralZeros_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::hasNonStructuralZeros(x0_) );
-}
-
-
-// ================== function "CasADi::diag''" ===============
-// cppName: "CasADi::diag''"
-// cWrapperName: "CasADi__diag_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__diag_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::diag(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__diag_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__diag_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::diag(x0_) );
-}
-
-
-// ================== function "CasADi::blkdiag''" ===============
-// cppName: "CasADi::blkdiag''"
-// cWrapperName: "CasADi__blkdiag_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass SXMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__blkdiag_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// call: "CasADi::blkdiag(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__blkdiag_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0);
-CasADi::Matrix< CasADi::SX >* CasADi__blkdiag_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::blkdiag(x0_) );
-}
-
-
-// ================== function "CasADi::polyval''" ===============
-// cppName: "CasADi::polyval''"
-// cWrapperName: "CasADi__polyval_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__polyval_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::polyval(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__polyval_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__polyval_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::polyval(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::addMultiple''''" ===============
-// cppName: "CasADi::addMultiple''''"
-// cWrapperName: "CasADi__addMultiple_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2, bool* x3)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (Vec (NonVec (CasadiClass SX))),Ref (Vec (NonVec (CasadiClass SX))),Val (NonVec CBool)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__addMultiple_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2, bool* x3)"
-// call: "CasADi::addMultiple(x0_, x1_, x2_, x3_)"
-extern "C"
-    void CasADi__addMultiple_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2, bool* x3);
-void CasADi__addMultiple_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2, bool* x3){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    std::vector<CasADi::SX > x1_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x1);
-    std::vector<CasADi::SX > x2_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x2);
-    bool x3_ = Marshaling<bool,bool*>::marshal(x3);
-
-    return CasADi::addMultiple(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== function "CasADi::addMultiple'''''" ===============
-// cppName: "CasADi::addMultiple'''''"
-// cWrapperName: "CasADi__addMultiple_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (Vec (NonVec (CasadiClass SX))),Ref (Vec (NonVec (CasadiClass SX)))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__addMultiple_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2)"
-// call: "CasADi::addMultiple(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__addMultiple_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2);
-void CasADi__addMultiple_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector<CasADi::SX* > * x1, std::vector<CasADi::SX* >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    std::vector<CasADi::SX > x1_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* > *>::marshal(x1);
-    std::vector<CasADi::SX > x2_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x2);
-
-    return CasADi::addMultiple(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::veccat''" ===============
-// cppName: "CasADi::veccat''"
-// cWrapperName: "CasADi__veccat_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass SXMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__veccat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// call: "CasADi::veccat(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__veccat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0);
-CasADi::Matrix< CasADi::SX >* CasADi__veccat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::veccat(x0_) );
-}
-
-
-// ================== function "CasADi::vecNZcat''" ===============
-// cppName: "CasADi::vecNZcat''"
-// cWrapperName: "CasADi__vecNZcat_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass SXMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__vecNZcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// call: "CasADi::vecNZcat(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__vecNZcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0);
-CasADi::Matrix< CasADi::SX >* CasADi__vecNZcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::vecNZcat(x0_) );
-}
-
-
-// ================== function "CasADi::flattencat''" ===============
-// cppName: "CasADi::flattencat''"
-// cWrapperName: "CasADi__flattencat_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass SXMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__flattencat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// call: "CasADi::flattencat(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__flattencat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0);
-CasADi::Matrix< CasADi::SX >* CasADi__flattencat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::flattencat(x0_) );
-}
-
-
-// ================== function "CasADi::flattenNZcat''" ===============
-// cppName: "CasADi::flattenNZcat''"
-// cWrapperName: "CasADi__flattenNZcat_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass SXMatrix)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__flattenNZcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0)"
-// call: "CasADi::flattenNZcat(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__flattenNZcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0);
-CasADi::Matrix< CasADi::SX >* CasADi__flattenNZcat_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::flattenNZcat(x0_) );
-}
-
-
-// ================== function "CasADi::project''" ===============
-// cppName: "CasADi::project''"
-// cWrapperName: "CasADi__project_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__project_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
-// call: "CasADi::project(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__project_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__project_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::project(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sprank''" ===============
-// cppName: "CasADi::sprank''"
-// cWrapperName: "CasADi__sprank_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__sprank_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::sprank(x0_)"
-extern "C"
-    int CasADi__sprank_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-int CasADi__sprank_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return CasADi::sprank(x0_);
-}
-
-
-// ================== function "CasADi::kron''" ===============
-// cppName: "CasADi::kron''"
-// cWrapperName: "CasADi__kron_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__kron_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::kron(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__kron_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__kron_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::kron(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sparse''''" ===============
-// cppName: "CasADi::sparse''''"
-// cWrapperName: "CasADi__sparse_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, double x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CDouble)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1)"
-// call: "CasADi::sparse(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1);
-CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    double x1_ = Marshaling<double,double>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::sparse(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sparse'''''" ===============
-// cppName: "CasADi::sparse'''''"
-// cWrapperName: "CasADi__sparse_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::sparse(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::sparse(x0_) );
-}
-
-
-// ================== function "CasADi::full''" ===============
-// cppName: "CasADi::full''"
-// cWrapperName: "CasADi__full_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__full_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::full(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__full_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__full_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::full(x0_) );
-}
-
-
-// ================== function "CasADi::logic_and" ===============
-// cppName: "CasADi::logic_and"
-// cWrapperName: "CasADi__logic_and"
-// protoArgs: "(int* x0, int* x1)"
-// params: [ConstRef (NonVec CInt),ConstRef (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__logic_and(int* x0, int* x1)"
-// call: "CasADi::logic_and(x0_, x1_)"
-extern "C"
-    int CasADi__logic_and(int* x0, int* x1);
-int CasADi__logic_and(int* x0, int* x1){
-    int x0_ = Marshaling<int,int*>::marshal(x0);
-    int x1_ = Marshaling<int,int*>::marshal(x1);
-
-    return CasADi::logic_and(x0_, x1_);
-}
-
-
-// ================== function "CasADi::logic_or" ===============
-// cppName: "CasADi::logic_or"
-// cWrapperName: "CasADi__logic_or"
-// protoArgs: "(int* x0, int* x1)"
-// params: [ConstRef (NonVec CInt),ConstRef (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__logic_or(int* x0, int* x1)"
-// call: "CasADi::logic_or(x0_, x1_)"
-extern "C"
-    int CasADi__logic_or(int* x0, int* x1);
-int CasADi__logic_or(int* x0, int* x1){
-    int x0_ = Marshaling<int,int*>::marshal(x0);
-    int x1_ = Marshaling<int,int*>::marshal(x1);
-
-    return CasADi::logic_or(x0_, x1_);
-}
-
-
-// ================== function "CasADi::logic_not" ===============
-// cppName: "CasADi::logic_not"
-// cWrapperName: "CasADi__logic_not"
-// protoArgs: "(int* x0)"
-// params: [ConstRef (NonVec CInt)]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__logic_not(int* x0)"
-// call: "CasADi::logic_not(x0_)"
-extern "C"
-    int CasADi__logic_not(int* x0);
-int CasADi__logic_not(int* x0){
-    int x0_ = Marshaling<int,int*>::marshal(x0);
-
-    return CasADi::logic_not(x0_);
-}
-
-
-// ================== function "CasADi::logic_and'" ===============
-// cppName: "CasADi::logic_and'"
-// cWrapperName: "CasADi__logic_and_TIC"
-// protoArgs: "(double* x0, double* x1)"
-// params: [ConstRef (NonVec CDouble),ConstRef (NonVec CDouble)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double CasADi__logic_and_TIC(double* x0, double* x1)"
-// call: "CasADi::logic_and(x0_, x1_)"
-extern "C"
-    double CasADi__logic_and_TIC(double* x0, double* x1);
-double CasADi__logic_and_TIC(double* x0, double* x1){
-    double x0_ = Marshaling<double,double*>::marshal(x0);
-    double x1_ = Marshaling<double,double*>::marshal(x1);
-
-    return CasADi::logic_and(x0_, x1_);
-}
-
-
-// ================== function "CasADi::logic_or'" ===============
-// cppName: "CasADi::logic_or'"
-// cWrapperName: "CasADi__logic_or_TIC"
-// protoArgs: "(double* x0, double* x1)"
-// params: [ConstRef (NonVec CDouble),ConstRef (NonVec CDouble)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double CasADi__logic_or_TIC(double* x0, double* x1)"
-// call: "CasADi::logic_or(x0_, x1_)"
-extern "C"
-    double CasADi__logic_or_TIC(double* x0, double* x1);
-double CasADi__logic_or_TIC(double* x0, double* x1){
-    double x0_ = Marshaling<double,double*>::marshal(x0);
-    double x1_ = Marshaling<double,double*>::marshal(x1);
-
-    return CasADi::logic_or(x0_, x1_);
-}
-
-
-// ================== function "CasADi::logic_not'" ===============
-// cppName: "CasADi::logic_not'"
-// cWrapperName: "CasADi__logic_not_TIC"
-// protoArgs: "(double* x0)"
-// params: [ConstRef (NonVec CDouble)]
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double CasADi__logic_not_TIC(double* x0)"
-// call: "CasADi::logic_not(x0_)"
-extern "C"
-    double CasADi__logic_not_TIC(double* x0);
-double CasADi__logic_not_TIC(double* x0){
-    double x0_ = Marshaling<double,double*>::marshal(x0);
-
-    return CasADi::logic_not(x0_);
-}
-
-
-// ================== function "CasADi::logic_and'''" ===============
-// cppName: "CasADi::logic_and'''"
-// cWrapperName: "CasADi__logic_and_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__logic_and_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::logic_and(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__logic_and_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__logic_and_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::logic_and(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::logic_or'''" ===============
-// cppName: "CasADi::logic_or'''"
-// cWrapperName: "CasADi__logic_or_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__logic_or_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::logic_or(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__logic_or_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__logic_or_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::logic_or(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::logic_not'''" ===============
-// cppName: "CasADi::logic_not'''"
-// cWrapperName: "CasADi__logic_not_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__logic_not_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::logic_not(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__logic_not_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< double >* CasADi__logic_not_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::logic_not(x0_) );
-}
-
-
-// ================== function "CasADi::logic_and''''" ===============
-// cppName: "CasADi::logic_and''''"
-// cWrapperName: "CasADi__logic_and_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__logic_and_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::logic_and(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__logic_and_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__logic_and_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::logic_and(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::logic_or''''" ===============
-// cppName: "CasADi::logic_or''''"
-// cWrapperName: "CasADi__logic_or_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__logic_or_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::logic_or(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__logic_or_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__logic_or_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::logic_or(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::logic_not''''" ===============
-// cppName: "CasADi::logic_not''''"
-// cWrapperName: "CasADi__logic_not_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__logic_not_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::logic_not(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__logic_not_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__logic_not_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::logic_not(x0_) );
-}
-
-
-// ================== function "CasADi::logic_and'''''" ===============
-// cppName: "CasADi::logic_and'''''"
-// cWrapperName: "CasADi__logic_and_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::logic_and(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::logic_and(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::logic_or'''''" ===============
-// cppName: "CasADi::logic_or'''''"
-// cWrapperName: "CasADi__logic_or_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::logic_or(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::logic_or(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::logic_not'''''" ===============
-// cppName: "CasADi::logic_not'''''"
-// cWrapperName: "CasADi__logic_not_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::logic_not(x0_)"
-extern "C"
-    CasADi::MX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::logic_not(x0_) );
-}
-
-
-// ================== function "CasADi::logic_and''''''" ===============
-// cppName: "CasADi::logic_and''''''"
-// cWrapperName: "CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::SX* x0, CasADi::SX* x1)"
-// params: [ConstRef (NonVec (CasadiClass SX)),ConstRef (NonVec (CasadiClass SX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1)"
-// call: "CasADi::logic_and(x0_, x1_)"
-extern "C"
-    CasADi::SX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1);
-CasADi::SX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-    CasADi::SX x1_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x1);
-
-    return new CasADi::SX( CasADi::logic_and(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::logic_or''''''" ===============
-// cppName: "CasADi::logic_or''''''"
-// cWrapperName: "CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::SX* x0, CasADi::SX* x1)"
-// params: [ConstRef (NonVec (CasadiClass SX)),ConstRef (NonVec (CasadiClass SX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1)"
-// call: "CasADi::logic_or(x0_, x1_)"
-extern "C"
-    CasADi::SX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1);
-CasADi::SX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-    CasADi::SX x1_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x1);
-
-    return new CasADi::SX( CasADi::logic_or(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::logic_not''''''" ===============
-// cppName: "CasADi::logic_not''''''"
-// cWrapperName: "CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::SX* x0)"
-// params: [ConstRef (NonVec (CasadiClass SX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::SX*"
-// proto: "CasADi::SX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0)"
-// call: "CasADi::logic_not(x0_)"
-extern "C"
-    CasADi::SX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0);
-CasADi::SX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new CasADi::SX( CasADi::logic_not(x0_) );
-}
-
-
-// ================== function "CasADi::hash_combine" ===============
-// cppName: "CasADi::hash_combine"
-// cWrapperName: "CasADi__hash_combine"
-// protoArgs: "(size_t* x0, std::vector<int > * x1)"
-// params: [Ref (NonVec CSize),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__hash_combine(size_t* x0, std::vector<int > * x1)"
-// call: "CasADi::hash_combine(x0_, x1_)"
-extern "C"
-    void CasADi__hash_combine(size_t* x0, std::vector<int > * x1);
-void CasADi__hash_combine(size_t* x0, std::vector<int > * x1){
-    size_t x0_ = Marshaling<size_t,size_t*>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return CasADi::hash_combine(x0_, x1_);
-}
-
-
-// ================== function "CasADi::hash_sparsity" ===============
-// cppName: "CasADi::hash_sparsity"
-// cWrapperName: "CasADi__hash_sparsity"
-// protoArgs: "(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// params: [Val (NonVec CInt),Val (NonVec CInt),ConstRef (Vec (NonVec CInt)),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "size_t"
-// proto: "size_t CasADi__hash_sparsity(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// call: "CasADi::hash_sparsity(x0_, x1_, x2_, x3_)"
-extern "C"
-    size_t CasADi__hash_sparsity(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3);
-size_t CasADi__hash_sparsity(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-
-    return CasADi::hash_sparsity(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== function "CasADi::sp_dense" ===============
-// cppName: "CasADi::sp_dense"
-// cWrapperName: "CasADi__sp_dense"
-// protoArgs: "(int x0, int x1)"
-// params: [Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_dense(int x0, int x1)"
-// call: "CasADi::sp_dense(x0_, x1_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_dense(int x0, int x1);
-CasADi::CRSSparsity* CasADi__sp_dense(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::CRSSparsity( CasADi::sp_dense(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sp_dense'" ===============
-// cppName: "CasADi::sp_dense'"
-// cWrapperName: "CasADi__sp_dense_TIC"
-// protoArgs: "(int x0)"
-// params: [Val (NonVec CInt)]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_dense_TIC(int x0)"
-// call: "CasADi::sp_dense(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_dense_TIC(int x0);
-CasADi::CRSSparsity* CasADi__sp_dense_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::CRSSparsity( CasADi::sp_dense(x0_) );
-}
-
-
-// ================== function "CasADi::sp_sparse" ===============
-// cppName: "CasADi::sp_sparse"
-// cWrapperName: "CasADi__sp_sparse"
-// protoArgs: "(int x0, int x1)"
-// params: [Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_sparse(int x0, int x1)"
-// call: "CasADi::sp_sparse(x0_, x1_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_sparse(int x0, int x1);
-CasADi::CRSSparsity* CasADi__sp_sparse(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::CRSSparsity( CasADi::sp_sparse(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sp_sparse'" ===============
-// cppName: "CasADi::sp_sparse'"
-// cWrapperName: "CasADi__sp_sparse_TIC"
-// protoArgs: "(int x0)"
-// params: [Val (NonVec CInt)]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_sparse_TIC(int x0)"
-// call: "CasADi::sp_sparse(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_sparse_TIC(int x0);
-CasADi::CRSSparsity* CasADi__sp_sparse_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::CRSSparsity( CasADi::sp_sparse(x0_) );
-}
-
-
-// ================== function "CasADi::sp_unit" ===============
-// cppName: "CasADi::sp_unit"
-// cWrapperName: "CasADi__sp_unit"
-// protoArgs: "(int x0, int x1)"
-// params: [Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_unit(int x0, int x1)"
-// call: "CasADi::sp_unit(x0_, x1_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_unit(int x0, int x1);
-CasADi::CRSSparsity* CasADi__sp_unit(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::CRSSparsity( CasADi::sp_unit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sp_tril" ===============
-// cppName: "CasADi::sp_tril"
-// cWrapperName: "CasADi__sp_tril"
-// protoArgs: "(int x0)"
-// params: [Val (NonVec CInt)]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_tril(int x0)"
-// call: "CasADi::sp_tril(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_tril(int x0);
-CasADi::CRSSparsity* CasADi__sp_tril(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::CRSSparsity( CasADi::sp_tril(x0_) );
-}
-
-
-// ================== function "CasADi::sp_diag" ===============
-// cppName: "CasADi::sp_diag"
-// cWrapperName: "CasADi__sp_diag"
-// protoArgs: "(int x0)"
-// params: [Val (NonVec CInt)]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_diag(int x0)"
-// call: "CasADi::sp_diag(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_diag(int x0);
-CasADi::CRSSparsity* CasADi__sp_diag(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new CasADi::CRSSparsity( CasADi::sp_diag(x0_) );
-}
-
-
-// ================== function "CasADi::sp_band" ===============
-// cppName: "CasADi::sp_band"
-// cWrapperName: "CasADi__sp_band"
-// protoArgs: "(int x0, int x1)"
-// params: [Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_band(int x0, int x1)"
-// call: "CasADi::sp_band(x0_, x1_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_band(int x0, int x1);
-CasADi::CRSSparsity* CasADi__sp_band(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::CRSSparsity( CasADi::sp_band(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sp_banded" ===============
-// cppName: "CasADi::sp_banded"
-// cWrapperName: "CasADi__sp_banded"
-// protoArgs: "(int x0, int x1)"
-// params: [Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_banded(int x0, int x1)"
-// call: "CasADi::sp_banded(x0_, x1_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_banded(int x0, int x1);
-CasADi::CRSSparsity* CasADi__sp_banded(int x0, int x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::CRSSparsity( CasADi::sp_banded(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::sp_rowcol" ===============
-// cppName: "CasADi::sp_rowcol"
-// cWrapperName: "CasADi__sp_rowcol"
-// protoArgs: "(std::vector<int > * x0, std::vector<int > * x1, int x2, int x3)"
-// params: [ConstRef (Vec (NonVec CInt)),ConstRef (Vec (NonVec CInt)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_rowcol(std::vector<int > * x0, std::vector<int > * x1, int x2, int x3)"
-// call: "CasADi::sp_rowcol(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_rowcol(std::vector<int > * x0, std::vector<int > * x1, int x2, int x3);
-CasADi::CRSSparsity* CasADi__sp_rowcol(std::vector<int > * x0, std::vector<int > * x1, int x2, int x3){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-
-    return new CasADi::CRSSparsity( CasADi::sp_rowcol(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== function "CasADi::getNZDense" ===============
-// cppName: "CasADi::getNZDense"
-// cWrapperName: "CasADi__getNZDense"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// params: [ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<int >*"
-// proto: "std::vector<int >* CasADi__getNZDense(CasADi::CRSSparsity* x0)"
-// call: "CasADi::getNZDense(x0_)"
-extern "C"
-    std::vector<int >* CasADi__getNZDense(CasADi::CRSSparsity* x0);
-std::vector<int >* CasADi__getNZDense(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new std::vector<int >( CasADi::getNZDense(x0_) );
-}
-
-
-// ================== function "CasADi::reshape''''''" ===============
-// cppName: "CasADi::reshape''''''"
-// cWrapperName: "CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass CRSSparsity)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, int x1, int x2)"
-// call: "CasADi::reshape(x0_, x1_, x2_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, int x1, int x2);
-CasADi::CRSSparsity* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, int x1, int x2){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::CRSSparsity( CasADi::reshape(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::vec'''" ===============
-// cppName: "CasADi::vec'''"
-// cWrapperName: "CasADi__vec_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// params: [ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__vec_TIC_TIC_TIC(CasADi::CRSSparsity* x0)"
-// call: "CasADi::vec(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__vec_TIC_TIC_TIC(CasADi::CRSSparsity* x0);
-CasADi::CRSSparsity* CasADi__vec_TIC_TIC_TIC(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::CRSSparsity( CasADi::vec(x0_) );
-}
-
-
-// ================== function "CasADi::trans'''" ===============
-// cppName: "CasADi::trans'''"
-// cWrapperName: "CasADi__trans_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// params: [ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__trans_TIC_TIC_TIC(CasADi::CRSSparsity* x0)"
-// call: "CasADi::trans(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__trans_TIC_TIC_TIC(CasADi::CRSSparsity* x0);
-CasADi::CRSSparsity* CasADi__trans_TIC_TIC_TIC(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::CRSSparsity( CasADi::trans(x0_) );
-}
-
-
-// ================== function "CasADi::lowerSparsity" ===============
-// cppName: "CasADi::lowerSparsity"
-// cWrapperName: "CasADi__lowerSparsity"
-// protoArgs: "(CasADi::CRSSparsity* x0, bool* x1)"
-// params: [ConstRef (NonVec (CasadiClass CRSSparsity)),Val (NonVec CBool)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__lowerSparsity(CasADi::CRSSparsity* x0, bool* x1)"
-// call: "CasADi::lowerSparsity(x0_, x1_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__lowerSparsity(CasADi::CRSSparsity* x0, bool* x1);
-CasADi::CRSSparsity* CasADi__lowerSparsity(CasADi::CRSSparsity* x0, bool* x1){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-    bool x1_ = Marshaling<bool,bool*>::marshal(x1);
-
-    return new CasADi::CRSSparsity( CasADi::lowerSparsity(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::lowerSparsity'" ===============
-// cppName: "CasADi::lowerSparsity'"
-// cWrapperName: "CasADi__lowerSparsity_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// params: [ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__lowerSparsity_TIC(CasADi::CRSSparsity* x0)"
-// call: "CasADi::lowerSparsity(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__lowerSparsity_TIC(CasADi::CRSSparsity* x0);
-CasADi::CRSSparsity* CasADi__lowerSparsity_TIC(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new CasADi::CRSSparsity( CasADi::lowerSparsity(x0_) );
-}
-
-
-// ================== function "CasADi::lowerNZ" ===============
-// cppName: "CasADi::lowerNZ"
-// cWrapperName: "CasADi__lowerNZ"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// params: [ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<int >*"
-// proto: "std::vector<int >* CasADi__lowerNZ(CasADi::CRSSparsity* x0)"
-// call: "CasADi::lowerNZ(x0_)"
-extern "C"
-    std::vector<int >* CasADi__lowerNZ(CasADi::CRSSparsity* x0);
-std::vector<int >* CasADi__lowerNZ(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new std::vector<int >( CasADi::lowerNZ(x0_) );
-}
-
-
-// ================== function "CasADi::sp_triplet" ===============
-// cppName: "CasADi::sp_triplet"
-// cWrapperName: "CasADi__sp_triplet"
-// protoArgs: "(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<int >* x4, bool* x5)"
-// params: [Val (NonVec CInt),Val (NonVec CInt),ConstRef (Vec (NonVec CInt)),ConstRef (Vec (NonVec CInt)),Ref (Vec (NonVec CInt)),Val (NonVec CBool)]
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_triplet(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<int >* x4, bool* x5)"
-// call: "CasADi::sp_triplet(x0_, x1_, x2_, x3_, x4_, x5_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_triplet(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<int >* x4, bool* x5);
-CasADi::CRSSparsity* CasADi__sp_triplet(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<int >* x4, bool* x5){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-    std::vector<int > x4_ = Marshaling<std::vector<int >,std::vector<int >*>::marshal(x4);
-    bool x5_ = Marshaling<bool,bool*>::marshal(x5);
-
-    return new CasADi::CRSSparsity( CasADi::sp_triplet(x0_, x1_, x2_, x3_, x4_, x5_) );
-}
-
-
-// ================== function "CasADi::sp_triplet'" ===============
-// cppName: "CasADi::sp_triplet'"
-// cWrapperName: "CasADi__sp_triplet_TIC"
-// protoArgs: "(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<int >* x4)"
-// params: [Val (NonVec CInt),Val (NonVec CInt),ConstRef (Vec (NonVec CInt)),ConstRef (Vec (NonVec CInt)),Ref (Vec (NonVec CInt))]
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_triplet_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<int >* x4)"
-// call: "CasADi::sp_triplet(x0_, x1_, x2_, x3_, x4_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_triplet_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<int >* x4);
-CasADi::CRSSparsity* CasADi__sp_triplet_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3, std::vector<int >* x4){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-    std::vector<int > x4_ = Marshaling<std::vector<int >,std::vector<int >*>::marshal(x4);
-
-    return new CasADi::CRSSparsity( CasADi::sp_triplet(x0_, x1_, x2_, x3_, x4_) );
-}
-
-
-// ================== function "CasADi::sp_triplet''" ===============
-// cppName: "CasADi::sp_triplet''"
-// cWrapperName: "CasADi__sp_triplet_TIC_TIC"
-// protoArgs: "(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// params: [Val (NonVec CInt),Val (NonVec CInt),ConstRef (Vec (NonVec CInt)),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_triplet_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3)"
-// call: "CasADi::sp_triplet(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_triplet_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3);
-CasADi::CRSSparsity* CasADi__sp_triplet_TIC_TIC(int x0, int x1, std::vector<int > * x2, std::vector<int > * x3){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-    std::vector<int > x3_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x3);
-
-    return new CasADi::CRSSparsity( CasADi::sp_triplet(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== function "CasADi::mul'''''''''" ===============
-// cppName: "CasADi::mul'''''''''"
-// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::CRSSparsity* x0, CasADi::CRSSparsity* x1)"
-// params: [ConstRef (NonVec (CasadiClass CRSSparsity)),ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::CRSSparsity* x1)"
-// call: "CasADi::mul(x0_, x1_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::CRSSparsity* x1);
-CasADi::CRSSparsity* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::CRSSparsity* x1){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::CRSSparsity( CasADi::mul(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::vertcat'''" ===============
-// cppName: "CasADi::vertcat'''"
-// cWrapperName: "CasADi__vertcat_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::CRSSparsity* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass CRSSparsity)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__vertcat_TIC_TIC_TIC(std::vector<CasADi::CRSSparsity* > * x0)"
-// call: "CasADi::vertcat(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__vertcat_TIC_TIC_TIC(std::vector<CasADi::CRSSparsity* > * x0);
-CasADi::CRSSparsity* CasADi__vertcat_TIC_TIC_TIC(std::vector<CasADi::CRSSparsity* > * x0){
-    std::vector<CasADi::CRSSparsity > x0_ = Marshaling<std::vector<CasADi::CRSSparsity >,std::vector<CasADi::CRSSparsity* > *>::marshal(x0);
-
-    return new CasADi::CRSSparsity( CasADi::vertcat(x0_) );
-}
-
-
-// ================== function "CasADi::horzcat'''" ===============
-// cppName: "CasADi::horzcat'''"
-// cWrapperName: "CasADi__horzcat_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::CRSSparsity* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass CRSSparsity)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__horzcat_TIC_TIC_TIC(std::vector<CasADi::CRSSparsity* > * x0)"
-// call: "CasADi::horzcat(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__horzcat_TIC_TIC_TIC(std::vector<CasADi::CRSSparsity* > * x0);
-CasADi::CRSSparsity* CasADi__horzcat_TIC_TIC_TIC(std::vector<CasADi::CRSSparsity* > * x0){
-    std::vector<CasADi::CRSSparsity > x0_ = Marshaling<std::vector<CasADi::CRSSparsity >,std::vector<CasADi::CRSSparsity* > *>::marshal(x0);
-
-    return new CasADi::CRSSparsity( CasADi::horzcat(x0_) );
-}
-
-
-// ================== function "CasADi::blkdiag'''" ===============
-// cppName: "CasADi::blkdiag'''"
-// cWrapperName: "CasADi__blkdiag_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::CRSSparsity* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass CRSSparsity)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__blkdiag_TIC_TIC_TIC(std::vector<CasADi::CRSSparsity* > * x0)"
-// call: "CasADi::blkdiag(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__blkdiag_TIC_TIC_TIC(std::vector<CasADi::CRSSparsity* > * x0);
-CasADi::CRSSparsity* CasADi__blkdiag_TIC_TIC_TIC(std::vector<CasADi::CRSSparsity* > * x0){
-    std::vector<CasADi::CRSSparsity > x0_ = Marshaling<std::vector<CasADi::CRSSparsity >,std::vector<CasADi::CRSSparsity* > *>::marshal(x0);
-
-    return new CasADi::CRSSparsity( CasADi::blkdiag(x0_) );
-}
-
-
-// ================== function "CasADi::sp_compress" ===============
-// cppName: "CasADi::sp_compress"
-// cWrapperName: "CasADi__sp_compress"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// params: [ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<int >*"
-// proto: "std::vector<int >* CasADi__sp_compress(CasADi::CRSSparsity* x0)"
-// call: "CasADi::sp_compress(x0_)"
-extern "C"
-    std::vector<int >* CasADi__sp_compress(CasADi::CRSSparsity* x0);
-std::vector<int >* CasADi__sp_compress(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new std::vector<int >( CasADi::sp_compress(x0_) );
-}
-
-
-// ================== function "CasADi::sp_compress'" ===============
-// cppName: "CasADi::sp_compress'"
-// cWrapperName: "CasADi__sp_compress_TIC"
-// protoArgs: "(std::vector<int > * x0)"
-// params: [ConstRef (Vec (NonVec CInt))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::CRSSparsity*"
-// proto: "CasADi::CRSSparsity* CasADi__sp_compress_TIC(std::vector<int > * x0)"
-// call: "CasADi::sp_compress(x0_)"
-extern "C"
-    CasADi::CRSSparsity* CasADi__sp_compress_TIC(std::vector<int > * x0);
-CasADi::CRSSparsity* CasADi__sp_compress_TIC(std::vector<int > * x0){
-    std::vector<int > x0_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x0);
-
-    return new CasADi::CRSSparsity( CasADi::sp_compress(x0_) );
-}
-
-
-// ================== function "CasADi::rank" ===============
-// cppName: "CasADi::rank"
-// cWrapperName: "CasADi__rank"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// params: [ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__rank(CasADi::CRSSparsity* x0)"
-// call: "CasADi::rank(x0_)"
-extern "C"
-    int CasADi__rank(CasADi::CRSSparsity* x0);
-int CasADi__rank(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return CasADi::rank(x0_);
-}
-
-
-// ================== function "CasADi::isSingular" ===============
-// cppName: "CasADi::isSingular"
-// cWrapperName: "CasADi__isSingular"
-// protoArgs: "(CasADi::CRSSparsity* x0)"
-// params: [ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isSingular(CasADi::CRSSparsity* x0)"
-// call: "CasADi::isSingular(x0_)"
-extern "C"
-    bool* CasADi__isSingular(CasADi::CRSSparsity* x0);
-bool* CasADi__isSingular(CasADi::CRSSparsity* x0){
-    CasADi::CRSSparsity x0_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x0);
-
-    return new bool( CasADi::isSingular(x0_) );
-}
-
-
-// ================== function "CasADi::ssym" ===============
-// cppName: "CasADi::ssym"
-// cWrapperName: "CasADi__ssym"
-// protoArgs: "(std::string* x0, int x1, int x2)"
-// params: [ConstRef (NonVec StdString),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ssym(std::string* x0, int x1, int x2)"
-// call: "CasADi::ssym(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__ssym(std::string* x0, int x1, int x2);
-CasADi::Matrix< CasADi::SX >* CasADi__ssym(std::string* x0, int x1, int x2){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::ssym(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::ssym'" ===============
-// cppName: "CasADi::ssym'"
-// cWrapperName: "CasADi__ssym_TIC"
-// protoArgs: "(std::string* x0, int x1)"
-// params: [ConstRef (NonVec StdString),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC(std::string* x0, int x1)"
-// call: "CasADi::ssym(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC(std::string* x0, int x1);
-CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC(std::string* x0, int x1){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::ssym(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::ssym''" ===============
-// cppName: "CasADi::ssym''"
-// cWrapperName: "CasADi__ssym_TIC_TIC"
-// protoArgs: "(std::string* x0)"
-// params: [ConstRef (NonVec StdString)]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC(std::string* x0)"
-// call: "CasADi::ssym(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC(std::string* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC(std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::ssym(x0_) );
-}
-
-
-// ================== function "CasADi::ssym'''" ===============
-// cppName: "CasADi::ssym'''"
-// cWrapperName: "CasADi__ssym_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1, int x2)"
-// params: [ConstRef (NonVec StdString),ConstRef (NonVec (CasadiClass CRSSparsity)),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< CasADi::SX > >*"
-// proto: "std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__ssym_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2)"
-// call: "CasADi::ssym(x0_, x1_, x2_)"
-extern "C"
-    std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__ssym_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2);
-std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__ssym_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new std::vector<CasADi::Matrix< CasADi::SX > >( CasADi::ssym(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::ssym''''" ===============
-// cppName: "CasADi::ssym''''"
-// cWrapperName: "CasADi__ssym_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0, int x1, int x2, int x3)"
-// params: [ConstRef (NonVec StdString),Val (NonVec CInt),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< CasADi::SX > >*"
-// proto: "std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__ssym_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3)"
-// call: "CasADi::ssym(x0_, x1_, x2_, x3_)"
-extern "C"
-    std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__ssym_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3);
-std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__ssym_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-
-    return new std::vector<CasADi::Matrix< CasADi::SX > >( CasADi::ssym(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== function "CasADi::ssym'''''" ===============
-// cppName: "CasADi::ssym'''''"
-// cWrapperName: "CasADi__ssym_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3)"
-// params: [ConstRef (NonVec StdString),ConstRef (NonVec (CasadiClass CRSSparsity)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >*"
-// proto: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3)"
-// call: "CasADi::ssym(x0_, x1_, x2_, x3_)"
-extern "C"
-    std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3);
-std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-
-    return new std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >( CasADi::ssym(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== function "CasADi::ssym''''''" ===============
-// cppName: "CasADi::ssym''''''"
-// cWrapperName: "CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0, int x1, int x2, int x3, int x4)"
-// params: [ConstRef (NonVec StdString),Val (NonVec CInt),Val (NonVec CInt),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >*"
-// proto: "std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4)"
-// call: "CasADi::ssym(x0_, x1_, x2_, x3_, x4_)"
-extern "C"
-    std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4);
-std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-    int x4_ = Marshaling<int,int>::marshal(x4);
-
-    return new std::vector<std::vector<CasADi::Matrix< CasADi::SX > > >( CasADi::ssym(x0_, x1_, x2_, x3_, x4_) );
-}
-
-
-// ================== function "CasADi::ssym'''''''" ===============
-// cppName: "CasADi::ssym'''''''"
-// cWrapperName: "CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1)"
-// params: [ConstRef (NonVec StdString),ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1)"
-// call: "CasADi::ssym(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::ssym(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::ssym''''''''" ===============
-// cppName: "CasADi::ssym''''''''"
-// cWrapperName: "CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::ssym(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::ssym(x0_) );
-}
-
-
-// ================== function "CasADi::expand" ===============
-// cppName: "CasADi::expand"
-// cWrapperName: "CasADi__expand"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Ref (NonVec (CasadiClass SXMatrix)),Ref (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__expand(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::expand(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__expand(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-void CasADi__expand(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return CasADi::expand(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::simplify" ===============
-// cppName: "CasADi::simplify"
-// cWrapperName: "CasADi__simplify"
-// protoArgs: "(CasADi::SX* x0)"
-// params: [Ref (NonVec (CasadiClass SX))]
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__simplify(CasADi::SX* x0)"
-// call: "CasADi::simplify(x0_)"
-extern "C"
-    void CasADi__simplify(CasADi::SX* x0);
-void CasADi__simplify(CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return CasADi::simplify(x0_);
-}
-
-
-// ================== function "CasADi::pw_const" ===============
-// cppName: "CasADi::pw_const"
-// cWrapperName: "CasADi__pw_const"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__pw_const(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::pw_const(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__pw_const(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__pw_const(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::pw_const(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::pw_lin" ===============
-// cppName: "CasADi::pw_lin"
-// cWrapperName: "CasADi__pw_lin"
-// protoArgs: "(CasADi::SX* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SX)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__pw_lin(CasADi::SX* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::pw_lin(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__pw_lin(CasADi::SX* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__pw_lin(CasADi::SX* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::pw_lin(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::if_else" ===============
-// cppName: "CasADi::if_else"
-// cWrapperName: "CasADi__if_else"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__if_else(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::if_else(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__if_else(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__if_else(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::if_else(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::heaviside" ===============
-// cppName: "CasADi::heaviside"
-// cWrapperName: "CasADi__heaviside"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__heaviside(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::heaviside(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__heaviside(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__heaviside(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::heaviside(x0_) );
-}
-
-
-// ================== function "CasADi::rectangle" ===============
-// cppName: "CasADi::rectangle"
-// cWrapperName: "CasADi__rectangle"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__rectangle(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::rectangle(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__rectangle(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__rectangle(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::rectangle(x0_) );
-}
-
-
-// ================== function "CasADi::triangle" ===============
-// cppName: "CasADi::triangle"
-// cWrapperName: "CasADi__triangle"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__triangle(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::triangle(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__triangle(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__triangle(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::triangle(x0_) );
-}
-
-
-// ================== function "CasADi::ramp" ===============
-// cppName: "CasADi::ramp"
-// cWrapperName: "CasADi__ramp"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ramp(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::ramp(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__ramp(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__ramp(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::ramp(x0_) );
-}
-
-
-// ================== function "CasADi::gauss_quadrature" ===============
-// cppName: "CasADi::gauss_quadrature"
-// cWrapperName: "CasADi__gauss_quadrature"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4, CasADi::Matrix< CasADi::SX >* x5)"
-// params: [Val (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4, CasADi::Matrix< CasADi::SX >* x5)"
-// call: "CasADi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4, CasADi::Matrix< CasADi::SX >* x5);
-CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4, CasADi::Matrix< CasADi::SX >* x5){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-    CasADi::Matrix< CasADi::SX > x3_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x3);
-    int x4_ = Marshaling<int,int>::marshal(x4);
-    CasADi::Matrix< CasADi::SX > x5_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x5);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_) );
-}
-
-
-// ================== function "CasADi::gauss_quadrature'" ===============
-// cppName: "CasADi::gauss_quadrature'"
-// cWrapperName: "CasADi__gauss_quadrature_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4)"
-// params: [Val (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4)"
-// call: "CasADi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4);
-CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-    CasADi::Matrix< CasADi::SX > x3_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x3);
-    int x4_ = Marshaling<int,int>::marshal(x4);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_) );
-}
-
-
-// ================== function "CasADi::gauss_quadrature''" ===============
-// cppName: "CasADi::gauss_quadrature''"
-// cWrapperName: "CasADi__gauss_quadrature_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3)"
-// params: [Val (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3)"
-// call: "CasADi::gauss_quadrature(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3);
-CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-    CasADi::Matrix< CasADi::SX > x3_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x3);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::gauss_quadrature(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== function "CasADi::simplify'" ===============
-// cppName: "CasADi::simplify'"
-// cWrapperName: "CasADi__simplify_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [Ref (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__simplify_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::simplify(x0_)"
-extern "C"
-    void CasADi__simplify_TIC(CasADi::Matrix< CasADi::SX >* x0);
-void CasADi__simplify_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return CasADi::simplify(x0_);
-}
-
-
-// ================== function "CasADi::compress" ===============
-// cppName: "CasADi::compress"
-// cWrapperName: "CasADi__compress"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// params: [Ref (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__compress(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// call: "CasADi::compress(x0_, x1_)"
-extern "C"
-    void CasADi__compress(CasADi::Matrix< CasADi::SX >* x0, int x1);
-void CasADi__compress(CasADi::Matrix< CasADi::SX >* x0, int x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return CasADi::compress(x0_, x1_);
-}
-
-
-// ================== function "CasADi::compress'" ===============
-// cppName: "CasADi::compress'"
-// cWrapperName: "CasADi__compress_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [Ref (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__compress_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::compress(x0_)"
-extern "C"
-    void CasADi__compress_TIC(CasADi::Matrix< CasADi::SX >* x0);
-void CasADi__compress_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return CasADi::compress(x0_);
-}
-
-
-// ================== function "CasADi::substitute" ===============
-// cppName: "CasADi::substitute"
-// cWrapperName: "CasADi__substitute"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__substitute(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::substitute(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__substitute(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__substitute(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::substitute(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::substitute'" ===============
-// cppName: "CasADi::substitute'"
-// cWrapperName: "CasADi__substitute_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* > * x1, std::vector<CasADi::Matrix< CasADi::SX >* > * x2)"
-// params: [ConstRef (Vec (NonVec (CasadiClass SXMatrix))),ConstRef (Vec (NonVec (CasadiClass SXMatrix))),ConstRef (Vec (NonVec (CasadiClass SXMatrix)))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector<CasADi::Matrix< CasADi::SX > >*"
-// proto: "std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__substitute_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* > * x1, std::vector<CasADi::Matrix< CasADi::SX >* > * x2)"
-// call: "CasADi::substitute(x0_, x1_, x2_)"
-extern "C"
-    std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__substitute_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* > * x1, std::vector<CasADi::Matrix< CasADi::SX >* > * x2);
-std::vector<CasADi::Matrix< CasADi::SX > >* CasADi__substitute_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* > * x1, std::vector<CasADi::Matrix< CasADi::SX >* > * x2){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-    std::vector<CasADi::Matrix< CasADi::SX > > x1_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x1);
-    std::vector<CasADi::Matrix< CasADi::SX > > x2_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x2);
-
-    return new std::vector<CasADi::Matrix< CasADi::SX > >( CasADi::substitute(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::substituteInPlace" ===============
-// cppName: "CasADi::substituteInPlace"
-// cWrapperName: "CasADi__substituteInPlace"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, bool* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Ref (NonVec (CasadiClass SXMatrix)),Val (NonVec CBool)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__substituteInPlace(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, bool* x2)"
-// call: "CasADi::substituteInPlace(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__substituteInPlace(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, bool* x2);
-void CasADi__substituteInPlace(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, bool* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    bool x2_ = Marshaling<bool,bool*>::marshal(x2);
-
-    return CasADi::substituteInPlace(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::substituteInPlace'" ===============
-// cppName: "CasADi::substituteInPlace'"
-// cWrapperName: "CasADi__substituteInPlace_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Ref (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__substituteInPlace_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::substituteInPlace(x0_, x1_)"
-extern "C"
-    void CasADi__substituteInPlace_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-void CasADi__substituteInPlace_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return CasADi::substituteInPlace(x0_, x1_);
-}
-
-
-// ================== function "CasADi::substituteInPlace''" ===============
-// cppName: "CasADi::substituteInPlace''"
-// cWrapperName: "CasADi__substituteInPlace_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2, bool* x3)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Ref (NonVec (CasadiClass SXMatrix)),Ref (Vec (NonVec (CasadiClass SXMatrix))),Val (NonVec CBool)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__substituteInPlace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2, bool* x3)"
-// call: "CasADi::substituteInPlace(x0_, x1_, x2_, x3_)"
-extern "C"
-    void CasADi__substituteInPlace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2, bool* x3);
-void CasADi__substituteInPlace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2, bool* x3){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    std::vector<CasADi::Matrix< CasADi::SX > > x2_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* >*>::marshal(x2);
-    bool x3_ = Marshaling<bool,bool*>::marshal(x3);
-
-    return CasADi::substituteInPlace(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== function "CasADi::substituteInPlace'''" ===============
-// cppName: "CasADi::substituteInPlace'''"
-// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Ref (NonVec (CasadiClass SXMatrix)),Ref (Vec (NonVec (CasadiClass SXMatrix)))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2)"
-// call: "CasADi::substituteInPlace(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__substituteInPlace_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2);
-void CasADi__substituteInPlace_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    std::vector<CasADi::Matrix< CasADi::SX > > x2_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* >*>::marshal(x2);
-
-    return CasADi::substituteInPlace(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::substituteInPlace''''" ===============
-// cppName: "CasADi::substituteInPlace''''"
-// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2, bool* x3)"
-// params: [ConstRef (Vec (NonVec (CasadiClass SXMatrix))),Ref (Vec (NonVec (CasadiClass SXMatrix))),Ref (Vec (NonVec (CasadiClass SXMatrix))),Val (NonVec CBool)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2, bool* x3)"
-// call: "CasADi::substituteInPlace(x0_, x1_, x2_, x3_)"
-extern "C"
-    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2, bool* x3);
-void CasADi__substituteInPlace_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2, bool* x3){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-    std::vector<CasADi::Matrix< CasADi::SX > > x1_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* >*>::marshal(x1);
-    std::vector<CasADi::Matrix< CasADi::SX > > x2_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* >*>::marshal(x2);
-    bool x3_ = Marshaling<bool,bool*>::marshal(x3);
-
-    return CasADi::substituteInPlace(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== function "CasADi::substituteInPlace'''''" ===============
-// cppName: "CasADi::substituteInPlace'''''"
-// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2)"
-// params: [ConstRef (Vec (NonVec (CasadiClass SXMatrix))),Ref (Vec (NonVec (CasadiClass SXMatrix))),Ref (Vec (NonVec (CasadiClass SXMatrix)))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2)"
-// call: "CasADi::substituteInPlace(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2);
-void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::Matrix< CasADi::SX >* > * x0, std::vector<CasADi::Matrix< CasADi::SX >* >* x1, std::vector<CasADi::Matrix< CasADi::SX >* >* x2){
-    std::vector<CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* > *>::marshal(x0);
-    std::vector<CasADi::Matrix< CasADi::SX > > x1_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* >*>::marshal(x1);
-    std::vector<CasADi::Matrix< CasADi::SX > > x2_ = Marshaling<std::vector<CasADi::Matrix< CasADi::SX > >,std::vector<CasADi::Matrix< CasADi::SX >* >*>::marshal(x2);
-
-    return CasADi::substituteInPlace(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::evalf" ===============
-// cppName: "CasADi::evalf"
-// cWrapperName: "CasADi__evalf"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__evalf(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::evalf(x0_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__evalf(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< double >* CasADi__evalf(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< double >( CasADi::evalf(x0_) );
-}
-
-
-// ================== function "CasADi::evalf'" ===============
-// cppName: "CasADi::evalf'"
-// cWrapperName: "CasADi__evalf_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< double >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__evalf_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< double >* x2)"
-// call: "CasADi::evalf(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__evalf_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< double >* x2);
-CasADi::Matrix< double >* CasADi__evalf_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< double >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< double > x2_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x2);
-
-    return new CasADi::Matrix< double >( CasADi::evalf(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::isRegular''''" ===============
-// cppName: "CasADi::isRegular''''"
-// cWrapperName: "CasADi__isRegular_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::SX* x0)"
-// params: [ConstRef (NonVec (CasadiClass SX))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isRegular_TIC_TIC_TIC_TIC(CasADi::SX* x0)"
-// call: "CasADi::isRegular(x0_)"
-extern "C"
-    bool* CasADi__isRegular_TIC_TIC_TIC_TIC(CasADi::SX* x0);
-bool* CasADi__isRegular_TIC_TIC_TIC_TIC(CasADi::SX* x0){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-
-    return new bool( CasADi::isRegular(x0_) );
-}
-
-
-// ================== function "CasADi::isRegular'''''" ===============
-// cppName: "CasADi::isRegular'''''"
-// cWrapperName: "CasADi__isRegular_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isRegular_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isRegular(x0_)"
-extern "C"
-    bool* CasADi__isRegular_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isRegular_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isRegular(x0_) );
-}
-
-
-// ================== function "CasADi::spy" ===============
-// cppName: "CasADi::spy"
-// cWrapperName: "CasADi__spy"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__spy(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::spy(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__spy(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__spy(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::spy(x0_) );
-}
-
-
-// ================== function "CasADi::dependsOn" ===============
-// cppName: "CasADi::dependsOn"
-// cWrapperName: "CasADi__dependsOn"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__dependsOn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::dependsOn(x0_, x1_)"
-extern "C"
-    bool* CasADi__dependsOn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-bool* CasADi__dependsOn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new bool( CasADi::dependsOn(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::getSymbols" ===============
-// cppName: "CasADi::getSymbols"
-// cWrapperName: "CasADi__getSymbols"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<CasADi::SX >*"
-// proto: "std::vector<CasADi::SX >* CasADi__getSymbols(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::getSymbols(x0_)"
-extern "C"
-    std::vector<CasADi::SX >* CasADi__getSymbols(CasADi::Matrix< CasADi::SX >* x0);
-std::vector<CasADi::SX >* CasADi__getSymbols(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new std::vector<CasADi::SX >( CasADi::getSymbols(x0_) );
-}
-
-
-// ================== function "CasADi::isSmooth" ===============
-// cppName: "CasADi::isSmooth"
-// cWrapperName: "CasADi__isSmooth"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isSmooth(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isSmooth(x0_)"
-extern "C"
-    bool* CasADi__isSmooth(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isSmooth(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isSmooth(x0_) );
-}
-
-
-// ================== function "CasADi::isSymbolic" ===============
-// cppName: "CasADi::isSymbolic"
-// cWrapperName: "CasADi__isSymbolic"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isSymbolic(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isSymbolic(x0_)"
-extern "C"
-    bool* CasADi__isSymbolic(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isSymbolic(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isSymbolic(x0_) );
-}
-
-
-// ================== function "CasADi::isSymbolicSparse" ===============
-// cppName: "CasADi::isSymbolicSparse"
-// cWrapperName: "CasADi__isSymbolicSparse"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isSymbolicSparse(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::isSymbolicSparse(x0_)"
-extern "C"
-    bool* CasADi__isSymbolicSparse(CasADi::Matrix< CasADi::SX >* x0);
-bool* CasADi__isSymbolicSparse(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new bool( CasADi::isSymbolicSparse(x0_) );
-}
-
-
-// ================== function "CasADi::jacobian" ===============
-// cppName: "CasADi::jacobian"
-// cWrapperName: "CasADi__jacobian"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__jacobian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::jacobian(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__jacobian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__jacobian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::jacobian(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::gradient" ===============
-// cppName: "CasADi::gradient"
-// cWrapperName: "CasADi__gradient"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__gradient(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::gradient(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__gradient(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__gradient(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::gradient(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::tangent" ===============
-// cppName: "CasADi::tangent"
-// cWrapperName: "CasADi__tangent"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__tangent(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::tangent(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__tangent(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__tangent(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::tangent(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::hessian" ===============
-// cppName: "CasADi::hessian"
-// cWrapperName: "CasADi__hessian"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__hessian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::hessian(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__hessian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__hessian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::hessian(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::hessian'" ===============
-// cppName: "CasADi::hessian'"
-// cWrapperName: "CasADi__hessian_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),Ref (NonVec (CasadiClass SXMatrix)),Ref (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__hessian_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3)"
-// call: "CasADi::hessian(x0_, x1_, x2_, x3_)"
-extern "C"
-    void CasADi__hessian_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3);
-void CasADi__hessian_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-    CasADi::Matrix< CasADi::SX > x3_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x3);
-
-    return CasADi::hessian(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== function "CasADi::jacobianTimesVector" ===============
-// cppName: "CasADi::jacobianTimesVector"
-// cWrapperName: "CasADi__jacobianTimesVector"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, bool* x3)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CBool)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, bool* x3)"
-// call: "CasADi::jacobianTimesVector(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, bool* x3);
-CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, bool* x3){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-    bool x3_ = Marshaling<bool,bool*>::marshal(x3);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::jacobianTimesVector(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== function "CasADi::jacobianTimesVector'" ===============
-// cppName: "CasADi::jacobianTimesVector'"
-// cWrapperName: "CasADi__jacobianTimesVector_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::jacobianTimesVector(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::jacobianTimesVector(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::getValue" ===============
-// cppName: "CasADi::getValue"
-// cWrapperName: "CasADi__getValue"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "double"
-// proto: "double CasADi__getValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// call: "CasADi::getValue(x0_, x1_, x2_)"
-extern "C"
-    double CasADi__getValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
-double CasADi__getValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return CasADi::getValue(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::getValue'" ===============
-// cppName: "CasADi::getValue'"
-// cWrapperName: "CasADi__getValue_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "double"
-// proto: "double CasADi__getValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// call: "CasADi::getValue(x0_, x1_)"
-extern "C"
-    double CasADi__getValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
-double CasADi__getValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return CasADi::getValue(x0_, x1_);
-}
-
-
-// ================== function "CasADi::getValue''" ===============
-// cppName: "CasADi::getValue''"
-// cWrapperName: "CasADi__getValue_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "double"
-// proto: "double CasADi__getValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::getValue(x0_)"
-extern "C"
-    double CasADi__getValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-double CasADi__getValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return CasADi::getValue(x0_);
-}
-
-
-// ================== function "CasADi::getIntValue" ===============
-// cppName: "CasADi::getIntValue"
-// cWrapperName: "CasADi__getIntValue"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__getIntValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
-// call: "CasADi::getIntValue(x0_, x1_, x2_)"
-extern "C"
-    int CasADi__getIntValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
-int CasADi__getIntValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return CasADi::getIntValue(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::getIntValue'" ===============
-// cppName: "CasADi::getIntValue'"
-// cWrapperName: "CasADi__getIntValue_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__getIntValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
-// call: "CasADi::getIntValue(x0_, x1_)"
-extern "C"
-    int CasADi__getIntValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
-int CasADi__getIntValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return CasADi::getIntValue(x0_, x1_);
-}
-
-
-// ================== function "CasADi::getIntValue''" ===============
-// cppName: "CasADi::getIntValue''"
-// cWrapperName: "CasADi__getIntValue_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__getIntValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::getIntValue(x0_)"
-extern "C"
-    int CasADi__getIntValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
-int CasADi__getIntValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return CasADi::getIntValue(x0_);
-}
-
-
-// ================== function "CasADi::fill" ===============
-// cppName: "CasADi::fill"
-// cWrapperName: "CasADi__fill"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::SX* x1)"
-// params: [Ref (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__fill(CasADi::Matrix< CasADi::SX >* x0, CasADi::SX* x1)"
-// call: "CasADi::fill(x0_, x1_)"
-extern "C"
-    void CasADi__fill(CasADi::Matrix< CasADi::SX >* x0, CasADi::SX* x1);
-void CasADi__fill(CasADi::Matrix< CasADi::SX >* x0, CasADi::SX* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::SX x1_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x1);
-
-    return CasADi::fill(x0_, x1_);
-}
-
-
-// ================== function "CasADi::taylor" ===============
-// cppName: "CasADi::taylor"
-// cWrapperName: "CasADi__taylor"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__taylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3)"
-// call: "CasADi::taylor(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__taylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3);
-CasADi::Matrix< CasADi::SX >* CasADi__taylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::taylor(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== function "CasADi::taylor'" ===============
-// cppName: "CasADi::taylor'"
-// cWrapperName: "CasADi__taylor_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::taylor(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::taylor(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::taylor''" ===============
-// cppName: "CasADi::taylor''"
-// cWrapperName: "CasADi__taylor_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::taylor(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::taylor(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::mtaylor" ===============
-// cppName: "CasADi::mtaylor"
-// cWrapperName: "CasADi__mtaylor"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mtaylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3)"
-// call: "CasADi::mtaylor(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__mtaylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3);
-CasADi::Matrix< CasADi::SX >* CasADi__mtaylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::mtaylor(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== function "CasADi::mtaylor'" ===============
-// cppName: "CasADi::mtaylor'"
-// cWrapperName: "CasADi__mtaylor_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
-// call: "CasADi::mtaylor(x0_, x1_, x2_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
-CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::mtaylor(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::mtaylor''" ===============
-// cppName: "CasADi::mtaylor''"
-// cWrapperName: "CasADi__mtaylor_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3, std::vector<int > * x4)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix)),Val (NonVec CInt),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3, std::vector<int > * x4)"
-// call: "CasADi::mtaylor(x0_, x1_, x2_, x3_, x4_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3, std::vector<int > * x4);
-CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3, std::vector<int > * x4){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-    CasADi::Matrix< CasADi::SX > x2_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-    std::vector<int > x4_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x4);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::mtaylor(x0_, x1_, x2_, x3_, x4_) );
-}
-
-
-// ================== function "CasADi::countNodes" ===============
-// cppName: "CasADi::countNodes"
-// cWrapperName: "CasADi__countNodes"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__countNodes(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::countNodes(x0_)"
-extern "C"
-    int CasADi__countNodes(CasADi::Matrix< CasADi::SX >* x0);
-int CasADi__countNodes(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return CasADi::countNodes(x0_);
-}
-
-
-// ================== function "CasADi::getOperatorRepresentation" ===============
-// cppName: "CasADi::getOperatorRepresentation"
-// cWrapperName: "CasADi__getOperatorRepresentation"
-// protoArgs: "(CasADi::SX* x0, std::vector<std::string* > * x1)"
-// params: [ConstRef (NonVec (CasadiClass SX)),ConstRef (Vec (NonVec StdString))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__getOperatorRepresentation(CasADi::SX* x0, std::vector<std::string* > * x1)"
-// call: "CasADi::getOperatorRepresentation(x0_, x1_)"
-extern "C"
-    std::string* CasADi__getOperatorRepresentation(CasADi::SX* x0, std::vector<std::string* > * x1);
-std::string* CasADi__getOperatorRepresentation(CasADi::SX* x0, std::vector<std::string* > * x1){
-    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
-    std::vector<std::string > x1_ = Marshaling<std::vector<std::string >,std::vector<std::string* > *>::marshal(x1);
-
-    return new std::string( CasADi::getOperatorRepresentation(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::getFree" ===============
-// cppName: "CasADi::getFree"
-// cWrapperName: "CasADi__getFree"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__getFree(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::getFree(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__getFree(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__getFree(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::getFree(x0_) );
-}
-
-
-// ================== function "CasADi::extractShared" ===============
-// cppName: "CasADi::extractShared"
-// cWrapperName: "CasADi__extractShared"
-// protoArgs: "(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2, std::string* x3, std::string* x4)"
-// params: [Ref (Vec (NonVec (CasadiClass SX))),Ref (Vec (NonVec (CasadiClass SX))),Ref (Vec (NonVec (CasadiClass SX))),ConstRef (NonVec StdString),ConstRef (NonVec StdString)]
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__extractShared(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2, std::string* x3, std::string* x4)"
-// call: "CasADi::extractShared(x0_, x1_, x2_, x3_, x4_)"
-extern "C"
-    void CasADi__extractShared(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2, std::string* x3, std::string* x4);
-void CasADi__extractShared(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2, std::string* x3, std::string* x4){
-    std::vector<CasADi::SX > x0_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x0);
-    std::vector<CasADi::SX > x1_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x1);
-    std::vector<CasADi::SX > x2_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x2);
-    std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
-    std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
-
-    return CasADi::extractShared(x0_, x1_, x2_, x3_, x4_);
-}
-
-
-// ================== function "CasADi::extractShared'" ===============
-// cppName: "CasADi::extractShared'"
-// cWrapperName: "CasADi__extractShared_TIC"
-// protoArgs: "(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2, std::string* x3)"
-// params: [Ref (Vec (NonVec (CasadiClass SX))),Ref (Vec (NonVec (CasadiClass SX))),Ref (Vec (NonVec (CasadiClass SX))),ConstRef (NonVec StdString)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__extractShared_TIC(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2, std::string* x3)"
-// call: "CasADi::extractShared(x0_, x1_, x2_, x3_)"
-extern "C"
-    void CasADi__extractShared_TIC(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2, std::string* x3);
-void CasADi__extractShared_TIC(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2, std::string* x3){
-    std::vector<CasADi::SX > x0_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x0);
-    std::vector<CasADi::SX > x1_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x1);
-    std::vector<CasADi::SX > x2_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x2);
-    std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
-
-    return CasADi::extractShared(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== function "CasADi::extractShared''" ===============
-// cppName: "CasADi::extractShared''"
-// cWrapperName: "CasADi__extractShared_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2)"
-// params: [Ref (Vec (NonVec (CasadiClass SX))),Ref (Vec (NonVec (CasadiClass SX))),Ref (Vec (NonVec (CasadiClass SX)))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__extractShared_TIC_TIC(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2)"
-// call: "CasADi::extractShared(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__extractShared_TIC_TIC(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2);
-void CasADi__extractShared_TIC_TIC(std::vector<CasADi::SX* >* x0, std::vector<CasADi::SX* >* x1, std::vector<CasADi::SX* >* x2){
-    std::vector<CasADi::SX > x0_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x0);
-    std::vector<CasADi::SX > x1_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x1);
-    std::vector<CasADi::SX > x2_ = Marshaling<std::vector<CasADi::SX >,std::vector<CasADi::SX* >*>::marshal(x2);
-
-    return CasADi::extractShared(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::printCompact'" ===============
-// cppName: "CasADi::printCompact'"
-// cWrapperName: "CasADi__printCompact_TIC"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__printCompact_TIC(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::printCompact(x0_)"
-extern "C"
-    void CasADi__printCompact_TIC(CasADi::Matrix< CasADi::SX >* x0);
-void CasADi__printCompact_TIC(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return CasADi::printCompact(x0_);
-}
-
-
-// ================== function "CasADi::poly_coeff" ===============
-// cppName: "CasADi::poly_coeff"
-// cWrapperName: "CasADi__poly_coeff"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix)),ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__poly_coeff(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
-// call: "CasADi::poly_coeff(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__poly_coeff(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
-CasADi::Matrix< CasADi::SX >* CasADi__poly_coeff(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-    CasADi::Matrix< CasADi::SX > x1_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::poly_coeff(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::poly_roots" ===============
-// cppName: "CasADi::poly_roots"
-// cWrapperName: "CasADi__poly_roots"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__poly_roots(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::poly_roots(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__poly_roots(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__poly_roots(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::poly_roots(x0_) );
-}
-
-
-// ================== function "CasADi::eig_symbolic" ===============
-// cppName: "CasADi::eig_symbolic"
-// cWrapperName: "CasADi__eig_symbolic"
-// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
-// proto: "CasADi::Matrix< CasADi::SX >* CasADi__eig_symbolic(CasADi::Matrix< CasADi::SX >* x0)"
-// call: "CasADi::eig_symbolic(x0_)"
-extern "C"
-    CasADi::Matrix< CasADi::SX >* CasADi__eig_symbolic(CasADi::Matrix< CasADi::SX >* x0);
-CasADi::Matrix< CasADi::SX >* CasADi__eig_symbolic(CasADi::Matrix< CasADi::SX >* x0){
-    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
-
-    return new CasADi::Matrix< CasADi::SX >( CasADi::eig_symbolic(x0_) );
-}
-
-
-// ================== function "CasADi::vertcat''''" ===============
-// cppName: "CasADi::vertcat''''"
-// cWrapperName: "CasADi__vertcat_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__vertcat_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0)"
-// call: "CasADi::vertcat(x0_)"
-extern "C"
-    CasADi::MX* CasADi__vertcat_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0);
-CasADi::MX* CasADi__vertcat_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new CasADi::MX( CasADi::vertcat(x0_) );
-}
-
-
-// ================== function "CasADi::vertsplit'''''''''" ===============
-// cppName: "CasADi::vertsplit'''''''''"
-// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, std::vector<int > * x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector<int > * x1)"
-// call: "CasADi::vertsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector<int > * x1);
-std::vector<CasADi::MX >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector<int > * x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return new std::vector<CasADi::MX >( CasADi::vertsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::vertsplit''''''''''" ===============
-// cppName: "CasADi::vertsplit''''''''''"
-// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, int x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1)"
-// call: "CasADi::vertsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1);
-std::vector<CasADi::MX >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::vector<CasADi::MX >( CasADi::vertsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::vertsplit'''''''''''" ===============
-// cppName: "CasADi::vertsplit'''''''''''"
-// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::vertsplit(x0_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
-std::vector<CasADi::MX >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new std::vector<CasADi::MX >( CasADi::vertsplit(x0_) );
-}
-
-
-// ================== function "CasADi::horzcat''''" ===============
-// cppName: "CasADi::horzcat''''"
-// cWrapperName: "CasADi__horzcat_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__horzcat_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0)"
-// call: "CasADi::horzcat(x0_)"
-extern "C"
-    CasADi::MX* CasADi__horzcat_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0);
-CasADi::MX* CasADi__horzcat_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new CasADi::MX( CasADi::horzcat(x0_) );
-}
-
-
-// ================== function "CasADi::horzsplit'''''''''" ===============
-// cppName: "CasADi::horzsplit'''''''''"
-// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, std::vector<int > * x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector<int > * x1)"
-// call: "CasADi::horzsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector<int > * x1);
-std::vector<CasADi::MX >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector<int > * x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-
-    return new std::vector<CasADi::MX >( CasADi::horzsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::horzsplit''''''''''" ===============
-// cppName: "CasADi::horzsplit''''''''''"
-// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, int x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1)"
-// call: "CasADi::horzsplit(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1);
-std::vector<CasADi::MX >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::vector<CasADi::MX >( CasADi::horzsplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::horzsplit'''''''''''" ===============
-// cppName: "CasADi::horzsplit'''''''''''"
-// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::horzsplit(x0_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
-std::vector<CasADi::MX >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new std::vector<CasADi::MX >( CasADi::horzsplit(x0_) );
-}
-
-
-// ================== function "CasADi::blockcat'''" ===============
-// cppName: "CasADi::blockcat'''"
-// cWrapperName: "CasADi__blockcat_TIC_TIC_TIC"
-// protoArgs: "(std::vector<std::vector<CasADi::MX* > > * x0)"
-// params: [ConstRef (Vec (Vec (NonVec (CasadiClass MX))))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__blockcat_TIC_TIC_TIC(std::vector<std::vector<CasADi::MX* > > * x0)"
-// call: "CasADi::blockcat(x0_)"
-extern "C"
-    CasADi::MX* CasADi__blockcat_TIC_TIC_TIC(std::vector<std::vector<CasADi::MX* > > * x0);
-CasADi::MX* CasADi__blockcat_TIC_TIC_TIC(std::vector<std::vector<CasADi::MX* > > * x0){
-    std::vector<std::vector<CasADi::MX > > x0_ = Marshaling<std::vector<std::vector<CasADi::MX > >,std::vector<std::vector<CasADi::MX* > > *>::marshal(x0);
-
-    return new CasADi::MX( CasADi::blockcat(x0_) );
-}
-
-
-// ================== function "CasADi::blocksplit''''''''''''" ===============
-// cppName: "CasADi::blocksplit''''''''''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, std::vector<int > * x1, std::vector<int > * x2)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (Vec (NonVec CInt)),ConstRef (Vec (NonVec CInt))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::MX > >*"
-// proto: "std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector<int > * x1, std::vector<int > * x2)"
-// call: "CasADi::blocksplit(x0_, x1_, x2_)"
-extern "C"
-    std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector<int > * x1, std::vector<int > * x2);
-std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector<int > * x1, std::vector<int > * x2){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    std::vector<int > x1_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x1);
-    std::vector<int > x2_ = Marshaling<std::vector<int >,std::vector<int > *>::marshal(x2);
-
-    return new std::vector<std::vector<CasADi::MX > >( CasADi::blocksplit(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::blocksplit'''''''''''''" ===============
-// cppName: "CasADi::blocksplit'''''''''''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass MX)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::MX > >*"
-// proto: "std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2)"
-// call: "CasADi::blocksplit(x0_, x1_, x2_)"
-extern "C"
-    std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2);
-std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new std::vector<std::vector<CasADi::MX > >( CasADi::blocksplit(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::blocksplit''''''''''''''" ===============
-// cppName: "CasADi::blocksplit''''''''''''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, int x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::MX > >*"
-// proto: "std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1)"
-// call: "CasADi::blocksplit(x0_, x1_)"
-extern "C"
-    std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1);
-std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new std::vector<std::vector<CasADi::MX > >( CasADi::blocksplit(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::blocksplit'''''''''''''''" ===============
-// cppName: "CasADi::blocksplit'''''''''''''''"
-// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::MX > >*"
-// proto: "std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::blocksplit(x0_)"
-extern "C"
-    std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
-std::vector<std::vector<CasADi::MX > >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new std::vector<std::vector<CasADi::MX > >( CasADi::blocksplit(x0_) );
-}
-
-
-// ================== function "CasADi::veccat'''" ===============
-// cppName: "CasADi::veccat'''"
-// cWrapperName: "CasADi__veccat_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__veccat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0)"
-// call: "CasADi::veccat(x0_)"
-extern "C"
-    CasADi::MX* CasADi__veccat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0);
-CasADi::MX* CasADi__veccat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new CasADi::MX( CasADi::veccat(x0_) );
-}
-
-
-// ================== function "CasADi::flattencat'''" ===============
-// cppName: "CasADi::flattencat'''"
-// cWrapperName: "CasADi__flattencat_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__flattencat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0)"
-// call: "CasADi::flattencat(x0_)"
-extern "C"
-    CasADi::MX* CasADi__flattencat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0);
-CasADi::MX* CasADi__flattencat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new CasADi::MX( CasADi::flattencat(x0_) );
-}
-
-
-// ================== function "CasADi::vecNZcat'''" ===============
-// cppName: "CasADi::vecNZcat'''"
-// cWrapperName: "CasADi__vecNZcat_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__vecNZcat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0)"
-// call: "CasADi::vecNZcat(x0_)"
-extern "C"
-    CasADi::MX* CasADi__vecNZcat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0);
-CasADi::MX* CasADi__vecNZcat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new CasADi::MX( CasADi::vecNZcat(x0_) );
-}
-
-
-// ================== function "CasADi::flattenNZcat'''" ===============
-// cppName: "CasADi::flattenNZcat'''"
-// cWrapperName: "CasADi__flattenNZcat_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__flattenNZcat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0)"
-// call: "CasADi::flattenNZcat(x0_)"
-extern "C"
-    CasADi::MX* CasADi__flattenNZcat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0);
-CasADi::MX* CasADi__flattenNZcat_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new CasADi::MX( CasADi::flattenNZcat(x0_) );
-}
-
-
-// ================== function "CasADi::norm_F'''" ===============
-// cppName: "CasADi::norm_F'''"
-// cWrapperName: "CasADi__norm_F_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__norm_F_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::norm_F(x0_)"
-extern "C"
-    CasADi::MX* CasADi__norm_F_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__norm_F_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::norm_F(x0_) );
-}
-
-
-// ================== function "CasADi::norm_2'''" ===============
-// cppName: "CasADi::norm_2'''"
-// cWrapperName: "CasADi__norm_2_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__norm_2_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::norm_2(x0_)"
-extern "C"
-    CasADi::MX* CasADi__norm_2_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__norm_2_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::norm_2(x0_) );
-}
-
-
-// ================== function "CasADi::norm_1'''" ===============
-// cppName: "CasADi::norm_1'''"
-// cWrapperName: "CasADi__norm_1_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__norm_1_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::norm_1(x0_)"
-extern "C"
-    CasADi::MX* CasADi__norm_1_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__norm_1_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::norm_1(x0_) );
-}
-
-
-// ================== function "CasADi::norm_inf'''" ===============
-// cppName: "CasADi::norm_inf'''"
-// cWrapperName: "CasADi__norm_inf_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__norm_inf_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::norm_inf(x0_)"
-extern "C"
-    CasADi::MX* CasADi__norm_inf_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__norm_inf_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::norm_inf(x0_) );
-}
-
-
-// ================== function "CasADi::trans''''" ===============
-// cppName: "CasADi::trans''''"
-// cWrapperName: "CasADi__trans_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__trans_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::trans(x0_)"
-extern "C"
-    CasADi::MX* CasADi__trans_TIC_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__trans_TIC_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::trans(x0_) );
-}
-
-
-// ================== function "CasADi::mul''''''''''" ===============
-// cppName: "CasADi::mul''''''''''"
-// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1, CasADi::CRSSparsity* x2)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::CRSSparsity* x2)"
-// call: "CasADi::mul(x0_, x1_, x2_)"
-extern "C"
-    CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::CRSSparsity* x2);
-CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::CRSSparsity* x2){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-    CasADi::CRSSparsity x2_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x2);
-
-    return new CasADi::MX( CasADi::mul(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::mul'''''''''''" ===============
-// cppName: "CasADi::mul'''''''''''"
-// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::mul(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::mul(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::mul''''''''''''" ===============
-// cppName: "CasADi::mul''''''''''''"
-// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0)"
-// call: "CasADi::mul(x0_)"
-extern "C"
-    CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0);
-CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new CasADi::MX( CasADi::mul(x0_) );
-}
-
-
-// ================== function "CasADi::inner_prod'''" ===============
-// cppName: "CasADi::inner_prod'''"
-// cWrapperName: "CasADi__inner_prod_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__inner_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::inner_prod(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__inner_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__inner_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::inner_prod(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::outer_prod'''" ===============
-// cppName: "CasADi::outer_prod'''"
-// cWrapperName: "CasADi__outer_prod_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__outer_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::outer_prod(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__outer_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__outer_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::outer_prod(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::if_else'" ===============
-// cppName: "CasADi::if_else'"
-// cWrapperName: "CasADi__if_else_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__if_else_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2)"
-// call: "CasADi::if_else(x0_, x1_, x2_)"
-extern "C"
-    CasADi::MX* CasADi__if_else_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2);
-CasADi::MX* CasADi__if_else_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-    CasADi::MX x2_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x2);
-
-    return new CasADi::MX( CasADi::if_else(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::reshape'''''''" ===============
-// cppName: "CasADi::reshape'''''''"
-// cWrapperName: "CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::CRSSparsity* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::CRSSparsity* x1)"
-// call: "CasADi::reshape(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::CRSSparsity* x1);
-CasADi::MX* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::CRSSparsity* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::reshape(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::vec''''" ===============
-// cppName: "CasADi::vec''''"
-// cWrapperName: "CasADi__vec_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__vec_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::vec(x0_)"
-extern "C"
-    CasADi::MX* CasADi__vec_TIC_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__vec_TIC_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::vec(x0_) );
-}
-
-
-// ================== function "CasADi::flatten'''" ===============
-// cppName: "CasADi::flatten'''"
-// cWrapperName: "CasADi__flatten_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__flatten_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::flatten(x0_)"
-extern "C"
-    CasADi::MX* CasADi__flatten_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__flatten_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::flatten(x0_) );
-}
-
-
-// ================== function "CasADi::vecNZ'''" ===============
-// cppName: "CasADi::vecNZ'''"
-// cWrapperName: "CasADi__vecNZ_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__vecNZ_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::vecNZ(x0_)"
-extern "C"
-    CasADi::MX* CasADi__vecNZ_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__vecNZ_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::vecNZ(x0_) );
-}
-
-
-// ================== function "CasADi::flattenNZ'''" ===============
-// cppName: "CasADi::flattenNZ'''"
-// cWrapperName: "CasADi__flattenNZ_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__flattenNZ_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::flattenNZ(x0_)"
-extern "C"
-    CasADi::MX* CasADi__flattenNZ_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__flattenNZ_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::flattenNZ(x0_) );
-}
-
-
-// ================== function "CasADi::unite'''" ===============
-// cppName: "CasADi::unite'''"
-// cWrapperName: "CasADi__unite_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__unite_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::unite(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__unite_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__unite_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::unite(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::isSymbolic'" ===============
-// cppName: "CasADi::isSymbolic'"
-// cWrapperName: "CasADi__isSymbolic_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isSymbolic_TIC(CasADi::MX* x0)"
-// call: "CasADi::isSymbolic(x0_)"
-extern "C"
-    bool* CasADi__isSymbolic_TIC(CasADi::MX* x0);
-bool* CasADi__isSymbolic_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new bool( CasADi::isSymbolic(x0_) );
-}
-
-
-// ================== function "CasADi::isSymbolicSparse'" ===============
-// cppName: "CasADi::isSymbolicSparse'"
-// cWrapperName: "CasADi__isSymbolicSparse_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isSymbolicSparse_TIC(CasADi::MX* x0)"
-// call: "CasADi::isSymbolicSparse(x0_)"
-extern "C"
-    bool* CasADi__isSymbolicSparse_TIC(CasADi::MX* x0);
-bool* CasADi__isSymbolicSparse_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new bool( CasADi::isSymbolicSparse(x0_) );
-}
-
-
-// ================== function "CasADi::isIdentity'''" ===============
-// cppName: "CasADi::isIdentity'''"
-// cWrapperName: "CasADi__isIdentity_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isIdentity_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::isIdentity(x0_)"
-extern "C"
-    bool* CasADi__isIdentity_TIC_TIC_TIC(CasADi::MX* x0);
-bool* CasADi__isIdentity_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new bool( CasADi::isIdentity(x0_) );
-}
-
-
-// ================== function "CasADi::isZero'''" ===============
-// cppName: "CasADi::isZero'''"
-// cWrapperName: "CasADi__isZero_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isZero_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::isZero(x0_)"
-extern "C"
-    bool* CasADi__isZero_TIC_TIC_TIC(CasADi::MX* x0);
-bool* CasADi__isZero_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new bool( CasADi::isZero(x0_) );
-}
-
-
-// ================== function "CasADi::isOne'''" ===============
-// cppName: "CasADi::isOne'''"
-// cWrapperName: "CasADi__isOne_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isOne_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::isOne(x0_)"
-extern "C"
-    bool* CasADi__isOne_TIC_TIC_TIC(CasADi::MX* x0);
-bool* CasADi__isOne_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new bool( CasADi::isOne(x0_) );
-}
-
-
-// ================== function "CasADi::simplify''" ===============
-// cppName: "CasADi::simplify''"
-// cWrapperName: "CasADi__simplify_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [Ref (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__simplify_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::simplify(x0_)"
-extern "C"
-    void CasADi__simplify_TIC_TIC(CasADi::MX* x0);
-void CasADi__simplify_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return CasADi::simplify(x0_);
-}
-
-
-// ================== function "CasADi::isTranspose" ===============
-// cppName: "CasADi::isTranspose"
-// cWrapperName: "CasADi__isTranspose"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isTranspose(CasADi::MX* x0)"
-// call: "CasADi::isTranspose(x0_)"
-extern "C"
-    bool* CasADi__isTranspose(CasADi::MX* x0);
-bool* CasADi__isTranspose(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new bool( CasADi::isTranspose(x0_) );
-}
-
-
-// ================== function "CasADi::isMinusOne'''" ===============
-// cppName: "CasADi::isMinusOne'''"
-// cWrapperName: "CasADi__isMinusOne_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isMinusOne_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::isMinusOne(x0_)"
-extern "C"
-    bool* CasADi__isMinusOne_TIC_TIC_TIC(CasADi::MX* x0);
-bool* CasADi__isMinusOne_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new bool( CasADi::isMinusOne(x0_) );
-}
-
-
-// ================== function "CasADi::isVector'''" ===============
-// cppName: "CasADi::isVector'''"
-// cWrapperName: "CasADi__isVector_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isVector_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::isVector(x0_)"
-extern "C"
-    bool* CasADi__isVector_TIC_TIC_TIC(CasADi::MX* x0);
-bool* CasADi__isVector_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new bool( CasADi::isVector(x0_) );
-}
-
-
-// ================== function "CasADi::isDense'''" ===============
-// cppName: "CasADi::isDense'''"
-// cWrapperName: "CasADi__isDense_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isDense_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::isDense(x0_)"
-extern "C"
-    bool* CasADi__isDense_TIC_TIC_TIC(CasADi::MX* x0);
-bool* CasADi__isDense_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new bool( CasADi::isDense(x0_) );
-}
-
-
-// ================== function "CasADi::isRegular''''''" ===============
-// cppName: "CasADi::isRegular''''''"
-// cWrapperName: "CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::isRegular(x0_)"
-extern "C"
-    bool* CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
-bool* CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new bool( CasADi::isRegular(x0_) );
-}
-
-
-// ================== function "CasADi::trace'''" ===============
-// cppName: "CasADi::trace'''"
-// cWrapperName: "CasADi__trace_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__trace_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::trace(x0_)"
-extern "C"
-    CasADi::MX* CasADi__trace_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__trace_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::trace(x0_) );
-}
-
-
-// ================== function "CasADi::repmat'''" ===============
-// cppName: "CasADi::repmat'''"
-// cWrapperName: "CasADi__repmat_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, int x1, int x2)"
-// params: [ConstRef (NonVec (CasadiClass MX)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__repmat_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2)"
-// call: "CasADi::repmat(x0_, x1_, x2_)"
-extern "C"
-    CasADi::MX* CasADi__repmat_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2);
-CasADi::MX* CasADi__repmat_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::MX( CasADi::repmat(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::makeDense'''" ===============
-// cppName: "CasADi::makeDense'''"
-// cWrapperName: "CasADi__makeDense_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [Ref (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__makeDense_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::makeDense(x0_)"
-extern "C"
-    void CasADi__makeDense_TIC_TIC_TIC(CasADi::MX* x0);
-void CasADi__makeDense_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return CasADi::makeDense(x0_);
-}
-
-
-// ================== function "CasADi::densify'''" ===============
-// cppName: "CasADi::densify'''"
-// cWrapperName: "CasADi__densify_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__densify_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::densify(x0_)"
-extern "C"
-    CasADi::MX* CasADi__densify_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__densify_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::densify(x0_) );
-}
-
-
-// ================== function "CasADi::full'''" ===============
-// cppName: "CasADi::full'''"
-// cWrapperName: "CasADi__full_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__full_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::full(x0_)"
-extern "C"
-    CasADi::MX* CasADi__full_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__full_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::full(x0_) );
-}
-
-
-// ================== function "CasADi::createParent" ===============
-// cppName: "CasADi::createParent"
-// cWrapperName: "CasADi__createParent"
-// protoArgs: "(std::vector<CasADi::MX* >* x0)"
-// params: [Ref (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__createParent(std::vector<CasADi::MX* >* x0)"
-// call: "CasADi::createParent(x0_)"
-extern "C"
-    CasADi::MX* CasADi__createParent(std::vector<CasADi::MX* >* x0);
-CasADi::MX* CasADi__createParent(std::vector<CasADi::MX* >* x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::createParent(x0_) );
-}
-
-
-// ================== function "CasADi::countNodes'" ===============
-// cppName: "CasADi::countNodes'"
-// cWrapperName: "CasADi__countNodes_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int CasADi__countNodes_TIC(CasADi::MX* x0)"
-// call: "CasADi::countNodes(x0_)"
-extern "C"
-    int CasADi__countNodes_TIC(CasADi::MX* x0);
-int CasADi__countNodes_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return CasADi::countNodes(x0_);
-}
-
-
-// ================== function "CasADi::diag'''" ===============
-// cppName: "CasADi::diag'''"
-// cWrapperName: "CasADi__diag_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__diag_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::diag(x0_)"
-extern "C"
-    CasADi::MX* CasADi__diag_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__diag_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::diag(x0_) );
-}
-
-
-// ================== function "CasADi::blkdiag''''" ===============
-// cppName: "CasADi::blkdiag''''"
-// cWrapperName: "CasADi__blkdiag_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__blkdiag_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0)"
-// call: "CasADi::blkdiag(x0_)"
-extern "C"
-    CasADi::MX* CasADi__blkdiag_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0);
-CasADi::MX* CasADi__blkdiag_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new CasADi::MX( CasADi::blkdiag(x0_) );
-}
-
-
-// ================== function "CasADi::sumRows'''" ===============
-// cppName: "CasADi::sumRows'''"
-// cWrapperName: "CasADi__sumRows_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__sumRows_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::sumRows(x0_)"
-extern "C"
-    CasADi::MX* CasADi__sumRows_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__sumRows_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::sumRows(x0_) );
-}
-
-
-// ================== function "CasADi::sumCols'''" ===============
-// cppName: "CasADi::sumCols'''"
-// cWrapperName: "CasADi__sumCols_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__sumCols_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::sumCols(x0_)"
-extern "C"
-    CasADi::MX* CasADi__sumCols_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__sumCols_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::sumCols(x0_) );
-}
-
-
-// ================== function "CasADi::sumAll'''" ===============
-// cppName: "CasADi::sumAll'''"
-// cWrapperName: "CasADi__sumAll_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__sumAll_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::sumAll(x0_)"
-extern "C"
-    CasADi::MX* CasADi__sumAll_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__sumAll_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::sumAll(x0_) );
-}
-
-
-// ================== function "CasADi::polyval'''" ===============
-// cppName: "CasADi::polyval'''"
-// cWrapperName: "CasADi__polyval_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__polyval_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::polyval(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__polyval_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__polyval_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::polyval(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::msym" ===============
-// cppName: "CasADi::msym"
-// cWrapperName: "CasADi__msym"
-// protoArgs: "(std::string* x0, int x1, int x2)"
-// params: [ConstRef (NonVec StdString),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__msym(std::string* x0, int x1, int x2)"
-// call: "CasADi::msym(x0_, x1_, x2_)"
-extern "C"
-    CasADi::MX* CasADi__msym(std::string* x0, int x1, int x2);
-CasADi::MX* CasADi__msym(std::string* x0, int x1, int x2){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::MX( CasADi::msym(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::msym'" ===============
-// cppName: "CasADi::msym'"
-// cWrapperName: "CasADi__msym_TIC"
-// protoArgs: "(std::string* x0, int x1)"
-// params: [ConstRef (NonVec StdString),Val (NonVec CInt)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__msym_TIC(std::string* x0, int x1)"
-// call: "CasADi::msym(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__msym_TIC(std::string* x0, int x1);
-CasADi::MX* CasADi__msym_TIC(std::string* x0, int x1){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-
-    return new CasADi::MX( CasADi::msym(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::msym''" ===============
-// cppName: "CasADi::msym''"
-// cWrapperName: "CasADi__msym_TIC_TIC"
-// protoArgs: "(std::string* x0)"
-// params: [ConstRef (NonVec StdString)]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__msym_TIC_TIC(std::string* x0)"
-// call: "CasADi::msym(x0_)"
-extern "C"
-    CasADi::MX* CasADi__msym_TIC_TIC(std::string* x0);
-CasADi::MX* CasADi__msym_TIC_TIC(std::string* x0){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::msym(x0_) );
-}
-
-
-// ================== function "CasADi::msym'''" ===============
-// cppName: "CasADi::msym'''"
-// cWrapperName: "CasADi__msym_TIC_TIC_TIC"
-// protoArgs: "(CasADi::Matrix< double >* x0)"
-// params: [ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__msym_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
-// call: "CasADi::msym(x0_)"
-extern "C"
-    CasADi::MX* CasADi__msym_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
-CasADi::MX* CasADi__msym_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
-    CasADi::Matrix< double > x0_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::msym(x0_) );
-}
-
-
-// ================== function "CasADi::msym''''" ===============
-// cppName: "CasADi::msym''''"
-// cWrapperName: "CasADi__msym_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1)"
-// params: [ConstRef (NonVec StdString),ConstRef (NonVec (CasadiClass CRSSparsity))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__msym_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1)"
-// call: "CasADi::msym(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__msym_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1);
-CasADi::MX* CasADi__msym_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::msym(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::msym'''''" ===============
-// cppName: "CasADi::msym'''''"
-// cWrapperName: "CasADi__msym_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1, int x2)"
-// params: [ConstRef (NonVec StdString),ConstRef (NonVec (CasadiClass CRSSparsity)),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__msym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2)"
-// call: "CasADi::msym(x0_, x1_, x2_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__msym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2);
-std::vector<CasADi::MX >* CasADi__msym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new std::vector<CasADi::MX >( CasADi::msym(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::msym''''''" ===============
-// cppName: "CasADi::msym''''''"
-// cWrapperName: "CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0, int x1, int x2, int x3)"
-// params: [ConstRef (NonVec StdString),Val (NonVec CInt),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3)"
-// call: "CasADi::msym(x0_, x1_, x2_, x3_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3);
-std::vector<CasADi::MX >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-
-    return new std::vector<CasADi::MX >( CasADi::msym(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== function "CasADi::msym'''''''" ===============
-// cppName: "CasADi::msym'''''''"
-// cWrapperName: "CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3)"
-// params: [ConstRef (NonVec StdString),ConstRef (NonVec (CasadiClass CRSSparsity)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::MX > >*"
-// proto: "std::vector<std::vector<CasADi::MX > >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3)"
-// call: "CasADi::msym(x0_, x1_, x2_, x3_)"
-extern "C"
-    std::vector<std::vector<CasADi::MX > >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3);
-std::vector<std::vector<CasADi::MX > >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    CasADi::CRSSparsity x1_ = Marshaling<CasADi::CRSSparsity,CasADi::CRSSparsity*>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-
-    return new std::vector<std::vector<CasADi::MX > >( CasADi::msym(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== function "CasADi::msym''''''''" ===============
-// cppName: "CasADi::msym''''''''"
-// cWrapperName: "CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::string* x0, int x1, int x2, int x3, int x4)"
-// params: [ConstRef (NonVec StdString),Val (NonVec CInt),Val (NonVec CInt),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "std::vector<std::vector<CasADi::MX > >*"
-// proto: "std::vector<std::vector<CasADi::MX > >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4)"
-// call: "CasADi::msym(x0_, x1_, x2_, x3_, x4_)"
-extern "C"
-    std::vector<std::vector<CasADi::MX > >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4);
-std::vector<std::vector<CasADi::MX > >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4){
-    std::string x0_ = Marshaling<std::string,std::string*>::marshal(x0);
-    int x1_ = Marshaling<int,int>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-    int x4_ = Marshaling<int,int>::marshal(x4);
-
-    return new std::vector<std::vector<CasADi::MX > >( CasADi::msym(x0_, x1_, x2_, x3_, x4_) );
-}
-
-
-// ================== function "CasADi::isEqual'''" ===============
-// cppName: "CasADi::isEqual'''"
-// cWrapperName: "CasADi__isEqual_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "bool*"
-// proto: "bool* CasADi__isEqual_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::isEqual(x0_, x1_)"
-extern "C"
-    bool* CasADi__isEqual_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
-bool* CasADi__isEqual_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new bool( CasADi::isEqual(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::getOperatorRepresentation'" ===============
-// cppName: "CasADi::getOperatorRepresentation'"
-// cWrapperName: "CasADi__getOperatorRepresentation_TIC"
-// protoArgs: "(CasADi::MX* x0, std::vector<std::string* > * x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (Vec (NonVec StdString))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string* CasADi__getOperatorRepresentation_TIC(CasADi::MX* x0, std::vector<std::string* > * x1)"
-// call: "CasADi::getOperatorRepresentation(x0_, x1_)"
-extern "C"
-    std::string* CasADi__getOperatorRepresentation_TIC(CasADi::MX* x0, std::vector<std::string* > * x1);
-std::string* CasADi__getOperatorRepresentation_TIC(CasADi::MX* x0, std::vector<std::string* > * x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    std::vector<std::string > x1_ = Marshaling<std::vector<std::string >,std::vector<std::string* > *>::marshal(x1);
-
-    return new std::string( CasADi::getOperatorRepresentation(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::substitute''" ===============
-// cppName: "CasADi::substitute''"
-// cWrapperName: "CasADi__substitute_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__substitute_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2)"
-// call: "CasADi::substitute(x0_, x1_, x2_)"
-extern "C"
-    CasADi::MX* CasADi__substitute_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2);
-CasADi::MX* CasADi__substitute_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-    CasADi::MX x2_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x2);
-
-    return new CasADi::MX( CasADi::substitute(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::substitute'''" ===============
-// cppName: "CasADi::substitute'''"
-// cWrapperName: "CasADi__substitute_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX))),ConstRef (Vec (NonVec (CasadiClass MX))),ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__substitute_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2)"
-// call: "CasADi::substitute(x0_, x1_, x2_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__substitute_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2);
-std::vector<CasADi::MX >* CasADi__substitute_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x1);
-    std::vector<CasADi::MX > x2_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x2);
-
-    return new std::vector<CasADi::MX >( CasADi::substitute(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::graph_substitute" ===============
-// cppName: "CasADi::graph_substitute"
-// cWrapperName: "CasADi__graph_substitute"
-// protoArgs: "(CasADi::MX* x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (Vec (NonVec (CasadiClass MX))),ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__graph_substitute(CasADi::MX* x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2)"
-// call: "CasADi::graph_substitute(x0_, x1_, x2_)"
-extern "C"
-    CasADi::MX* CasADi__graph_substitute(CasADi::MX* x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2);
-CasADi::MX* CasADi__graph_substitute(CasADi::MX* x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x1);
-    std::vector<CasADi::MX > x2_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x2);
-
-    return new CasADi::MX( CasADi::graph_substitute(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::graph_substitute'" ===============
-// cppName: "CasADi::graph_substitute'"
-// cWrapperName: "CasADi__graph_substitute_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX))),ConstRef (Vec (NonVec (CasadiClass MX))),ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__graph_substitute_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2)"
-// call: "CasADi::graph_substitute(x0_, x1_, x2_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__graph_substitute_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2);
-std::vector<CasADi::MX >* CasADi__graph_substitute_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1, std::vector<CasADi::MX* > * x2){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x1);
-    std::vector<CasADi::MX > x2_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x2);
-
-    return new std::vector<CasADi::MX >( CasADi::graph_substitute(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::substituteInPlace''''''" ===============
-// cppName: "CasADi::substituteInPlace''''''"
-// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, bool* x2)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX))),Val (NonVec CBool)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, bool* x2)"
-// call: "CasADi::substituteInPlace(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, bool* x2);
-void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, bool* x2){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x1);
-    bool x2_ = Marshaling<bool,bool*>::marshal(x2);
-
-    return CasADi::substituteInPlace(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::substituteInPlace'''''''" ===============
-// cppName: "CasADi::substituteInPlace'''''''"
-// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1)"
-// call: "CasADi::substituteInPlace(x0_, x1_)"
-extern "C"
-    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1);
-void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x1);
-
-    return CasADi::substituteInPlace(x0_, x1_);
-}
-
-
-// ================== function "CasADi::substituteInPlace''''''''" ===============
-// cppName: "CasADi::substituteInPlace''''''''"
-// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, bool* x3)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX))),Val (NonVec CBool)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, bool* x3)"
-// call: "CasADi::substituteInPlace(x0_, x1_, x2_, x3_)"
-extern "C"
-    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, bool* x3);
-void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, bool* x3){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x1);
-    std::vector<CasADi::MX > x2_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x2);
-    bool x3_ = Marshaling<bool,bool*>::marshal(x3);
-
-    return CasADi::substituteInPlace(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== function "CasADi::substituteInPlace'''''''''" ===============
-// cppName: "CasADi::substituteInPlace'''''''''"
-// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2)"
-// call: "CasADi::substituteInPlace(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2);
-void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x1);
-    std::vector<CasADi::MX > x2_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x2);
-
-    return CasADi::substituteInPlace(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::extractShared'''" ===============
-// cppName: "CasADi::extractShared'''"
-// cWrapperName: "CasADi__extractShared_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, std::string* x3, std::string* x4)"
-// params: [Ref (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX))),ConstRef (NonVec StdString),ConstRef (NonVec StdString)]
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__extractShared_TIC_TIC_TIC(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, std::string* x3, std::string* x4)"
-// call: "CasADi::extractShared(x0_, x1_, x2_, x3_, x4_)"
-extern "C"
-    void CasADi__extractShared_TIC_TIC_TIC(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, std::string* x3, std::string* x4);
-void CasADi__extractShared_TIC_TIC_TIC(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, std::string* x3, std::string* x4){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x1);
-    std::vector<CasADi::MX > x2_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x2);
-    std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
-    std::string x4_ = Marshaling<std::string,std::string*>::marshal(x4);
-
-    return CasADi::extractShared(x0_, x1_, x2_, x3_, x4_);
-}
-
-
-// ================== function "CasADi::extractShared''''" ===============
-// cppName: "CasADi::extractShared''''"
-// cWrapperName: "CasADi__extractShared_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, std::string* x3)"
-// params: [Ref (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX))),ConstRef (NonVec StdString)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__extractShared_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, std::string* x3)"
-// call: "CasADi::extractShared(x0_, x1_, x2_, x3_)"
-extern "C"
-    void CasADi__extractShared_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, std::string* x3);
-void CasADi__extractShared_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2, std::string* x3){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x1);
-    std::vector<CasADi::MX > x2_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x2);
-    std::string x3_ = Marshaling<std::string,std::string*>::marshal(x3);
-
-    return CasADi::extractShared(x0_, x1_, x2_, x3_);
-}
-
-
-// ================== function "CasADi::extractShared'''''" ===============
-// cppName: "CasADi::extractShared'''''"
-// cWrapperName: "CasADi__extractShared_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2)"
-// params: [Ref (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX))),Ref (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__extractShared_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2)"
-// call: "CasADi::extractShared(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__extractShared_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2);
-void CasADi__extractShared_TIC_TIC_TIC_TIC_TIC(std::vector<CasADi::MX* >* x0, std::vector<CasADi::MX* >* x1, std::vector<CasADi::MX* >* x2){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x1);
-    std::vector<CasADi::MX > x2_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* >*>::marshal(x2);
-
-    return CasADi::extractShared(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::printCompact'''" ===============
-// cppName: "CasADi::printCompact'''"
-// cWrapperName: "CasADi__printCompact_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__printCompact_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::printCompact(x0_)"
-extern "C"
-    void CasADi__printCompact_TIC_TIC_TIC(CasADi::MX* x0);
-void CasADi__printCompact_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return CasADi::printCompact(x0_);
-}
-
-
-// ================== function "CasADi::jacobian'" ===============
-// cppName: "CasADi::jacobian'"
-// cWrapperName: "CasADi__jacobian_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__jacobian_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::jacobian(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__jacobian_TIC(CasADi::MX* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__jacobian_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::jacobian(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::gradient'" ===============
-// cppName: "CasADi::gradient'"
-// cWrapperName: "CasADi__gradient_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__gradient_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::gradient(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__gradient_TIC(CasADi::MX* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__gradient_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::gradient(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::tangent'" ===============
-// cppName: "CasADi::tangent'"
-// cWrapperName: "CasADi__tangent_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__tangent_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::tangent(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__tangent_TIC(CasADi::MX* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__tangent_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::tangent(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::nullspace'''" ===============
-// cppName: "CasADi::nullspace'''"
-// cWrapperName: "CasADi__nullspace_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__nullspace_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::nullspace(x0_)"
-extern "C"
-    CasADi::MX* CasADi__nullspace_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__nullspace_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::nullspace(x0_) );
-}
-
-
-// ================== function "CasADi::det'''" ===============
-// cppName: "CasADi::det'''"
-// cWrapperName: "CasADi__det_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__det_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::det(x0_)"
-extern "C"
-    CasADi::MX* CasADi__det_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__det_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::det(x0_) );
-}
-
-
-// ================== function "CasADi::inv'''" ===============
-// cppName: "CasADi::inv'''"
-// cWrapperName: "CasADi__inv_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__inv_TIC_TIC_TIC(CasADi::MX* x0)"
-// call: "CasADi::inv(x0_)"
-extern "C"
-    CasADi::MX* CasADi__inv_TIC_TIC_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__inv_TIC_TIC_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::inv(x0_) );
-}
-
-
-// ================== function "CasADi::getSymbols'" ===============
-// cppName: "CasADi::getSymbols'"
-// cWrapperName: "CasADi__getSymbols_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__getSymbols_TIC(CasADi::MX* x0)"
-// call: "CasADi::getSymbols(x0_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__getSymbols_TIC(CasADi::MX* x0);
-std::vector<CasADi::MX >* CasADi__getSymbols_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new std::vector<CasADi::MX >( CasADi::getSymbols(x0_) );
-}
-
-
-// ================== function "CasADi::getSymbols''" ===============
-// cppName: "CasADi::getSymbols''"
-// cWrapperName: "CasADi__getSymbols_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__getSymbols_TIC_TIC(std::vector<CasADi::MX* > * x0)"
-// call: "CasADi::getSymbols(x0_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__getSymbols_TIC_TIC(std::vector<CasADi::MX* > * x0);
-std::vector<CasADi::MX >* CasADi__getSymbols_TIC_TIC(std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new std::vector<CasADi::MX >( CasADi::getSymbols(x0_) );
-}
-
-
-// ================== function "CasADi::matrix_expand" ===============
-// cppName: "CasADi::matrix_expand"
-// cWrapperName: "CasADi__matrix_expand"
-// protoArgs: "(CasADi::MX* x0, std::vector<CasADi::MX* > * x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__matrix_expand(CasADi::MX* x0, std::vector<CasADi::MX* > * x1)"
-// call: "CasADi::matrix_expand(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__matrix_expand(CasADi::MX* x0, std::vector<CasADi::MX* > * x1);
-CasADi::MX* CasADi__matrix_expand(CasADi::MX* x0, std::vector<CasADi::MX* > * x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x1);
-
-    return new CasADi::MX( CasADi::matrix_expand(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::matrix_expand'" ===============
-// cppName: "CasADi::matrix_expand'"
-// cWrapperName: "CasADi__matrix_expand_TIC"
-// protoArgs: "(CasADi::MX* x0)"
-// params: [ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__matrix_expand_TIC(CasADi::MX* x0)"
-// call: "CasADi::matrix_expand(x0_)"
-extern "C"
-    CasADi::MX* CasADi__matrix_expand_TIC(CasADi::MX* x0);
-CasADi::MX* CasADi__matrix_expand_TIC(CasADi::MX* x0){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-
-    return new CasADi::MX( CasADi::matrix_expand(x0_) );
-}
-
-
-// ================== function "CasADi::matrix_expand''" ===============
-// cppName: "CasADi::matrix_expand''"
-// cWrapperName: "CasADi__matrix_expand_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX))),ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__matrix_expand_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1)"
-// call: "CasADi::matrix_expand(x0_, x1_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__matrix_expand_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1);
-std::vector<CasADi::MX >* CasADi__matrix_expand_TIC_TIC(std::vector<CasADi::MX* > * x0, std::vector<CasADi::MX* > * x1){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-    std::vector<CasADi::MX > x1_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x1);
-
-    return new std::vector<CasADi::MX >( CasADi::matrix_expand(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::matrix_expand'''" ===============
-// cppName: "CasADi::matrix_expand'''"
-// cWrapperName: "CasADi__matrix_expand_TIC_TIC_TIC"
-// protoArgs: "(std::vector<CasADi::MX* > * x0)"
-// params: [ConstRef (Vec (NonVec (CasadiClass MX)))]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<CasADi::MX >*"
-// proto: "std::vector<CasADi::MX >* CasADi__matrix_expand_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0)"
-// call: "CasADi::matrix_expand(x0_)"
-extern "C"
-    std::vector<CasADi::MX >* CasADi__matrix_expand_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0);
-std::vector<CasADi::MX >* CasADi__matrix_expand_TIC_TIC_TIC(std::vector<CasADi::MX* > * x0){
-    std::vector<CasADi::MX > x0_ = Marshaling<std::vector<CasADi::MX >,std::vector<CasADi::MX* > *>::marshal(x0);
-
-    return new std::vector<CasADi::MX >( CasADi::matrix_expand(x0_) );
-}
-
-
-// ================== function "CasADi::kron'''" ===============
-// cppName: "CasADi::kron'''"
-// cWrapperName: "CasADi__kron_TIC_TIC_TIC"
-// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
-// params: [ConstRef (NonVec (CasadiClass MX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::MX*"
-// proto: "CasADi::MX* CasADi__kron_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
-// call: "CasADi::kron(x0_, x1_)"
-extern "C"
-    CasADi::MX* CasADi__kron_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
-CasADi::MX* CasADi__kron_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
-    CasADi::MX x0_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::MX( CasADi::kron(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::parameterizeTime" ===============
-// cppName: "CasADi::parameterizeTime"
-// cWrapperName: "CasADi__parameterizeTime"
-// protoArgs: "(CasADi::FX* x0)"
-// params: [Val (NonVec (CasadiClass FX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::FX*"
-// proto: "CasADi::FX* CasADi__parameterizeTime(CasADi::FX* x0)"
-// call: "CasADi::parameterizeTime(x0_)"
-extern "C"
-    CasADi::FX* CasADi__parameterizeTime(CasADi::FX* x0);
-CasADi::FX* CasADi__parameterizeTime(CasADi::FX* x0){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-
-    return new CasADi::FX( CasADi::parameterizeTime(x0_) );
-}
-
-
-// ================== function "CasADi::parameterizeTimeOutput" ===============
-// cppName: "CasADi::parameterizeTimeOutput"
-// cWrapperName: "CasADi__parameterizeTimeOutput"
-// protoArgs: "(CasADi::FX* x0)"
-// params: [Val (NonVec (CasadiClass FX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::FX*"
-// proto: "CasADi::FX* CasADi__parameterizeTimeOutput(CasADi::FX* x0)"
-// call: "CasADi::parameterizeTimeOutput(x0_)"
-extern "C"
-    CasADi::FX* CasADi__parameterizeTimeOutput(CasADi::FX* x0);
-CasADi::FX* CasADi__parameterizeTimeOutput(CasADi::FX* x0){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-
-    return new CasADi::FX( CasADi::parameterizeTimeOutput(x0_) );
-}
-
-
-// ================== function "CasADi::numSample1D" ===============
-// cppName: "CasADi::numSample1D"
-// cWrapperName: "CasADi__numSample1D"
-// protoArgs: "(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
-// params: [Ref (NonVec (CasadiClass FX)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__numSample1D(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::numSample1D(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__numSample1D(CasADi::FX* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__numSample1D(CasADi::FX* x0, CasADi::Matrix< double >* x1){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::numSample1D(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::numSample1DT" ===============
-// cppName: "CasADi::numSample1DT"
-// cWrapperName: "CasADi__numSample1DT"
-// protoArgs: "(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
-// params: [Ref (NonVec (CasadiClass FX)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__numSample1DT(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::numSample1DT(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__numSample1DT(CasADi::FX* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__numSample1DT(CasADi::FX* x0, CasADi::Matrix< double >* x1){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::numSample1DT(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::numSample2D" ===============
-// cppName: "CasADi::numSample2D"
-// cWrapperName: "CasADi__numSample2D"
-// protoArgs: "(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
-// params: [Ref (NonVec (CasadiClass FX)),ConstRef (NonVec (CasadiClass DMatrix))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::Matrix< double >*"
-// proto: "CasADi::Matrix< double >* CasADi__numSample2D(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
-// call: "CasADi::numSample2D(x0_, x1_)"
-extern "C"
-    CasADi::Matrix< double >* CasADi__numSample2D(CasADi::FX* x0, CasADi::Matrix< double >* x1);
-CasADi::Matrix< double >* CasADi__numSample2D(CasADi::FX* x0, CasADi::Matrix< double >* x1){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-    CasADi::Matrix< double > x1_ = Marshaling<CasADi::Matrix< double >,CasADi::Matrix< double >*>::marshal(x1);
-
-    return new CasADi::Matrix< double >( CasADi::numSample2D(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::vec'''''" ===============
-// cppName: "CasADi::vec'''''"
-// cWrapperName: "CasADi__vec_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::SXFunction* x0)"
-// params: [ConstRef (NonVec (CasadiClass SXFunction))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::SXFunction*"
-// proto: "CasADi::SXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC(CasADi::SXFunction* x0)"
-// call: "CasADi::vec(x0_)"
-extern "C"
-    CasADi::SXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC(CasADi::SXFunction* x0);
-CasADi::SXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC(CasADi::SXFunction* x0){
-    CasADi::SXFunction x0_ = Marshaling<CasADi::SXFunction,CasADi::SXFunction*>::marshal(x0);
-
-    return new CasADi::SXFunction( CasADi::vec(x0_) );
-}
-
-
-// ================== function "CasADi::vec''''''" ===============
-// cppName: "CasADi::vec''''''"
-// cWrapperName: "CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC"
-// protoArgs: "(CasADi::FX* x0)"
-// params: [ConstRef (NonVec (CasadiClass FX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::MXFunction*"
-// proto: "CasADi::MXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::FX* x0)"
-// call: "CasADi::vec(x0_)"
-extern "C"
-    CasADi::MXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::FX* x0);
-CasADi::MXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::FX* x0){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-
-    return new CasADi::MXFunction( CasADi::vec(x0_) );
-}
-
-
-// ================== function "CasADi::collocationPoints" ===============
-// cppName: "CasADi::collocationPoints"
-// cWrapperName: "CasADi__collocationPoints"
-// protoArgs: "(int x0, std::string* x1)"
-// params: [Val (NonVec CInt),ConstRef (NonVec StdString)]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector<double >*"
-// proto: "std::vector<double >* CasADi__collocationPoints(int x0, std::string* x1)"
-// call: "CasADi::collocationPoints(x0_, x1_)"
-extern "C"
-    std::vector<double >* CasADi__collocationPoints(int x0, std::string* x1);
-std::vector<double >* CasADi__collocationPoints(int x0, std::string* x1){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-    std::string x1_ = Marshaling<std::string,std::string*>::marshal(x1);
-
-    return new std::vector<double >( CasADi::collocationPoints(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::collocationPoints'" ===============
-// cppName: "CasADi::collocationPoints'"
-// cWrapperName: "CasADi__collocationPoints_TIC"
-// protoArgs: "(int x0)"
-// params: [Val (NonVec CInt)]
-// args: "(x0_)"
-// cWrapperRetType: "std::vector<double >*"
-// proto: "std::vector<double >* CasADi__collocationPoints_TIC(int x0)"
-// call: "CasADi::collocationPoints(x0_)"
-extern "C"
-    std::vector<double >* CasADi__collocationPoints_TIC(int x0);
-std::vector<double >* CasADi__collocationPoints_TIC(int x0){
-    int x0_ = Marshaling<int,int>::marshal(x0);
-
-    return new std::vector<double >( CasADi::collocationPoints(x0_) );
-}
-
-
-// ================== function "CasADi::collocationInterpolators" ===============
-// cppName: "CasADi::collocationInterpolators"
-// cWrapperName: "CasADi__collocationInterpolators"
-// protoArgs: "(std::vector<double > * x0, std::vector<std::vector<double > >* x1, std::vector<double >* x2)"
-// params: [ConstRef (Vec (NonVec CDouble)),Ref (Vec (Vec (NonVec CDouble))),Ref (Vec (NonVec CDouble))]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "void"
-// proto: "void CasADi__collocationInterpolators(std::vector<double > * x0, std::vector<std::vector<double > >* x1, std::vector<double >* x2)"
-// call: "CasADi::collocationInterpolators(x0_, x1_, x2_)"
-extern "C"
-    void CasADi__collocationInterpolators(std::vector<double > * x0, std::vector<std::vector<double > >* x1, std::vector<double >* x2);
-void CasADi__collocationInterpolators(std::vector<double > * x0, std::vector<std::vector<double > >* x1, std::vector<double >* x2){
-    std::vector<double > x0_ = Marshaling<std::vector<double >,std::vector<double > *>::marshal(x0);
-    std::vector<std::vector<double > > x1_ = Marshaling<std::vector<std::vector<double > >,std::vector<std::vector<double > >*>::marshal(x1);
-    std::vector<double > x2_ = Marshaling<std::vector<double >,std::vector<double >*>::marshal(x2);
-
-    return CasADi::collocationInterpolators(x0_, x1_, x2_);
-}
-
-
-// ================== function "CasADi::explicitRK" ===============
-// cppName: "CasADi::explicitRK"
-// cWrapperName: "CasADi__explicitRK"
-// protoArgs: "(CasADi::FX* x0, CasADi::MX* x1, int x2, int x3)"
-// params: [Ref (NonVec (CasadiClass FX)),ConstRef (NonVec (CasadiClass MX)),Val (NonVec CInt),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_, x3_)"
-// cWrapperRetType: "CasADi::FX*"
-// proto: "CasADi::FX* CasADi__explicitRK(CasADi::FX* x0, CasADi::MX* x1, int x2, int x3)"
-// call: "CasADi::explicitRK(x0_, x1_, x2_, x3_)"
-extern "C"
-    CasADi::FX* CasADi__explicitRK(CasADi::FX* x0, CasADi::MX* x1, int x2, int x3);
-CasADi::FX* CasADi__explicitRK(CasADi::FX* x0, CasADi::MX* x1, int x2, int x3){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-    int x3_ = Marshaling<int,int>::marshal(x3);
-
-    return new CasADi::FX( CasADi::explicitRK(x0_, x1_, x2_, x3_) );
-}
-
-
-// ================== function "CasADi::explicitRK'" ===============
-// cppName: "CasADi::explicitRK'"
-// cWrapperName: "CasADi__explicitRK_TIC"
-// protoArgs: "(CasADi::FX* x0, CasADi::MX* x1, int x2)"
-// params: [Ref (NonVec (CasadiClass FX)),ConstRef (NonVec (CasadiClass MX)),Val (NonVec CInt)]
-// args: "(x0_, x1_, x2_)"
-// cWrapperRetType: "CasADi::FX*"
-// proto: "CasADi::FX* CasADi__explicitRK_TIC(CasADi::FX* x0, CasADi::MX* x1, int x2)"
-// call: "CasADi::explicitRK(x0_, x1_, x2_)"
-extern "C"
-    CasADi::FX* CasADi__explicitRK_TIC(CasADi::FX* x0, CasADi::MX* x1, int x2);
-CasADi::FX* CasADi__explicitRK_TIC(CasADi::FX* x0, CasADi::MX* x1, int x2){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-    int x2_ = Marshaling<int,int>::marshal(x2);
-
-    return new CasADi::FX( CasADi::explicitRK(x0_, x1_, x2_) );
-}
-
-
-// ================== function "CasADi::explicitRK''" ===============
-// cppName: "CasADi::explicitRK''"
-// cWrapperName: "CasADi__explicitRK_TIC_TIC"
-// protoArgs: "(CasADi::FX* x0, CasADi::MX* x1)"
-// params: [Ref (NonVec (CasadiClass FX)),ConstRef (NonVec (CasadiClass MX))]
-// args: "(x0_, x1_)"
-// cWrapperRetType: "CasADi::FX*"
-// proto: "CasADi::FX* CasADi__explicitRK_TIC_TIC(CasADi::FX* x0, CasADi::MX* x1)"
-// call: "CasADi::explicitRK(x0_, x1_)"
-extern "C"
-    CasADi::FX* CasADi__explicitRK_TIC_TIC(CasADi::FX* x0, CasADi::MX* x1);
-CasADi::FX* CasADi__explicitRK_TIC_TIC(CasADi::FX* x0, CasADi::MX* x1){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-    CasADi::MX x1_ = Marshaling<CasADi::MX,CasADi::MX*>::marshal(x1);
-
-    return new CasADi::FX( CasADi::explicitRK(x0_, x1_) );
-}
-
-
-// ================== function "CasADi::explicitRK'''" ===============
-// cppName: "CasADi::explicitRK'''"
-// cWrapperName: "CasADi__explicitRK_TIC_TIC_TIC"
-// protoArgs: "(CasADi::FX* x0)"
-// params: [Ref (NonVec (CasadiClass FX))]
-// args: "(x0_)"
-// cWrapperRetType: "CasADi::FX*"
-// proto: "CasADi::FX* CasADi__explicitRK_TIC_TIC_TIC(CasADi::FX* x0)"
-// call: "CasADi::explicitRK(x0_)"
-extern "C"
-    CasADi::FX* CasADi__explicitRK_TIC_TIC_TIC(CasADi::FX* x0);
-CasADi::FX* CasADi__explicitRK_TIC_TIC_TIC(CasADi::FX* x0){
-    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
-
-    return new CasADi::FX( CasADi::explicitRK(x0_) );
-}
-
-
-// ================== delete CInt===============
-// classType: CInt
-extern "C"
-    void delete_std__vector_int_(std::vector<int >* obj);
-void delete_std__vector_int_(std::vector<int >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_int__(std::vector<std::vector<int > >* obj);
-void delete_std__vector_std__vector_int__(std::vector<std::vector<int > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_int___(std::vector<std::vector<std::vector<int > > >* obj);
-void delete_std__vector_std__vector_std__vector_int___(std::vector<std::vector<std::vector<int > > >* obj){
-    delete obj;
-}
-
-// ================== delete CDouble===============
-// classType: CDouble
-extern "C"
-    void delete_std__vector_double_(std::vector<double >* obj);
-void delete_std__vector_double_(std::vector<double >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_double__(std::vector<std::vector<double > >* obj);
-void delete_std__vector_std__vector_double__(std::vector<std::vector<double > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_double___(std::vector<std::vector<std::vector<double > > >* obj);
-void delete_std__vector_std__vector_std__vector_double___(std::vector<std::vector<std::vector<double > > >* obj){
-    delete obj;
-}
-
-// ================== delete StdString===============
-// classType: StdString
-extern "C"
-    void delete_std__string(std::string* obj);
-void delete_std__string(std::string* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__string_(std::vector<std::string* >* obj);
-void delete_std__vector_std__string_(std::vector<std::string* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__string__(std::vector<std::vector<std::string* > >* obj);
-void delete_std__vector_std__vector_std__string__(std::vector<std::vector<std::string* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_std__string___(std::vector<std::vector<std::vector<std::string* > > >* obj);
-void delete_std__vector_std__vector_std__vector_std__string___(std::vector<std::vector<std::vector<std::string* > > >* obj){
-    delete obj;
-}
-
-// ================== delete CBool===============
-// classType: CBool
-extern "C"
-    void delete_bool(bool* obj);
-void delete_bool(bool* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_bool_(std::vector<bool* >* obj);
-void delete_std__vector_bool_(std::vector<bool* >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_bool__(std::vector<std::vector<bool* > >* obj);
-void delete_std__vector_std__vector_bool__(std::vector<std::vector<bool* > >* obj){
-    delete obj;
-}
-extern "C"
-    void delete_std__vector_std__vector_std__vector_bool___(std::vector<std::vector<std::vector<bool* > > >* obj);
-void delete_std__vector_std__vector_std__vector_bool___(std::vector<std::vector<std::vector<bool* > > >* obj){
-    delete obj;
-}
+
+// ================== Normal method: "jac" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::jac"
+// cWrapperName: "CasADi__SXFunction__jac"
+// protoArgs: "(CasADi::SXFunction* obj, int x0, int x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__jac(CasADi::SXFunction* obj, int x0, int x1, int x2, int x3)"
+// call: "obj->jac(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__jac(CasADi::SXFunction* obj, int x0, int x1, int x2, int x3);
+CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__jac(CasADi::SXFunction* obj, int x0, int x1, int x2, int x3){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    bool x2_ = Marshaling<bool,int>::marshal(x2);
+    bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->jac(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== Normal method: "grad" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::grad"
+// cWrapperName: "CasADi__SXFunction__grad"
+// protoArgs: "(CasADi::SXFunction* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__grad(CasADi::SXFunction* obj, int x0, int x1)"
+// call: "obj->grad(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__grad(CasADi::SXFunction* obj, int x0, int x1);
+CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__grad(CasADi::SXFunction* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->grad(x0_, x1_) );
+}
+
+
+// ================== Normal method: "hess" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::hess"
+// cWrapperName: "CasADi__SXFunction__hess"
+// protoArgs: "(CasADi::SXFunction* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__hess(CasADi::SXFunction* obj, int x0, int x1)"
+// call: "obj->hess(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__hess(CasADi::SXFunction* obj, int x0, int x1);
+CasADi::Matrix< CasADi::SX >* CasADi__SXFunction__hess(CasADi::SXFunction* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->hess(x0_, x1_) );
+}
+
+
+// ================== Normal method: "getAlgorithmSize" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::getAlgorithmSize"
+// cWrapperName: "CasADi__SXFunction__getAlgorithmSize"
+// protoArgs: "(CasADi::SXFunction* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__SXFunction__getAlgorithmSize(CasADi::SXFunction* obj)"
+// call: "obj->getAlgorithmSize()"
+extern "C"
+    int CasADi__SXFunction__getAlgorithmSize(CasADi::SXFunction* obj);
+int CasADi__SXFunction__getAlgorithmSize(CasADi::SXFunction* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getAlgorithmSize() );
+}
+
+
+// ================== Normal method: "getWorkSize" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::getWorkSize"
+// cWrapperName: "CasADi__SXFunction__getWorkSize"
+// protoArgs: "(CasADi::SXFunction* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__SXFunction__getWorkSize(CasADi::SXFunction* obj)"
+// call: "obj->getWorkSize()"
+extern "C"
+    int CasADi__SXFunction__getWorkSize(CasADi::SXFunction* obj);
+int CasADi__SXFunction__getWorkSize(CasADi::SXFunction* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getWorkSize() );
+}
+
+
+// ================== Normal method: "getAtomicOperation" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::getAtomicOperation"
+// cWrapperName: "CasADi__SXFunction__getAtomicOperation"
+// protoArgs: "(CasADi::SXFunction* obj, int x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__SXFunction__getAtomicOperation(CasADi::SXFunction* obj, int x0)"
+// call: "obj->getAtomicOperation(x0_)"
+extern "C"
+    int CasADi__SXFunction__getAtomicOperation(CasADi::SXFunction* obj, int x0);
+int CasADi__SXFunction__getAtomicOperation(CasADi::SXFunction* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->getAtomicOperation(x0_) );
+}
+
+
+// ================== Normal method: "getAtomicInputReal" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::getAtomicInputReal"
+// cWrapperName: "CasADi__SXFunction__getAtomicInputReal"
+// protoArgs: "(CasADi::SXFunction* obj, int x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double CasADi__SXFunction__getAtomicInputReal(CasADi::SXFunction* obj, int x0)"
+// call: "obj->getAtomicInputReal(x0_)"
+extern "C"
+    double CasADi__SXFunction__getAtomicInputReal(CasADi::SXFunction* obj, int x0);
+double CasADi__SXFunction__getAtomicInputReal(CasADi::SXFunction* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< double, double >::wrapReturn( obj->getAtomicInputReal(x0_) );
+}
+
+
+// ================== Normal method: "getAtomicOutput" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::getAtomicOutput"
+// cWrapperName: "CasADi__SXFunction__getAtomicOutput"
+// protoArgs: "(CasADi::SXFunction* obj, int x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__SXFunction__getAtomicOutput(CasADi::SXFunction* obj, int x0)"
+// call: "obj->getAtomicOutput(x0_)"
+extern "C"
+    int CasADi__SXFunction__getAtomicOutput(CasADi::SXFunction* obj, int x0);
+int CasADi__SXFunction__getAtomicOutput(CasADi::SXFunction* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->getAtomicOutput(x0_) );
+}
+
+
+// ================== Normal method: "countNodes" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::countNodes"
+// cWrapperName: "CasADi__SXFunction__countNodes"
+// protoArgs: "(CasADi::SXFunction* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__SXFunction__countNodes(CasADi::SXFunction* obj)"
+// call: "obj->countNodes()"
+extern "C"
+    int CasADi__SXFunction__countNodes(CasADi::SXFunction* obj);
+int CasADi__SXFunction__countNodes(CasADi::SXFunction* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->countNodes() );
+}
+
+
+// ================== Normal method: "getFree" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::getFree"
+// cWrapperName: "CasADi__SXFunction__getFree"
+// protoArgs: "(CasADi::SXFunction* obj)"
+// args: "()"
+// rettype: StdVec (CasadiClass SX)
+// cWrapperRetType: "std::vector< CasADi::SX* >*"
+// proto: "std::vector< CasADi::SX* >* CasADi__SXFunction__getFree(CasADi::SXFunction* obj)"
+// call: "obj->getFree()"
+extern "C"
+    std::vector< CasADi::SX* >* CasADi__SXFunction__getFree(CasADi::SXFunction* obj);
+std::vector< CasADi::SX* >* CasADi__SXFunction__getFree(CasADi::SXFunction* obj){
+
+    return WrapReturn< std::vector< CasADi::SX* >*, std::vector< CasADi::SX > >::wrapReturn( obj->getFree() );
+}
+
+
+// ================== Normal method: "indexed_one_based" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::indexed_one_based"
+// cWrapperName: "CasADi__SXFunction__indexed_one_based"
+// protoArgs: "(CasADi::SXFunction* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXFunction
+// cWrapperRetType: "CasADi::SXFunction*"
+// proto: "CasADi::SXFunction* CasADi__SXFunction__indexed_one_based(CasADi::SXFunction* obj, int x0)"
+// call: "obj->indexed_one_based(x0_)"
+extern "C"
+    CasADi::SXFunction* CasADi__SXFunction__indexed_one_based(CasADi::SXFunction* obj, int x0);
+CasADi::SXFunction* CasADi__SXFunction__indexed_one_based(CasADi::SXFunction* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::SXFunction*, CasADi::SXFunction >::wrapReturn( obj->indexed_one_based(x0_) );
+}
+
+
+// ================== Normal method: "indexed_zero_based" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction::indexed_zero_based"
+// cWrapperName: "CasADi__SXFunction__indexed_zero_based"
+// protoArgs: "(CasADi::SXFunction* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXFunction
+// cWrapperRetType: "CasADi::SXFunction*"
+// proto: "CasADi::SXFunction* CasADi__SXFunction__indexed_zero_based(CasADi::SXFunction* obj, int x0)"
+// call: "obj->indexed_zero_based(x0_)"
+extern "C"
+    CasADi::SXFunction* CasADi__SXFunction__indexed_zero_based(CasADi::SXFunction* obj, int x0);
+CasADi::SXFunction* CasADi__SXFunction__indexed_zero_based(CasADi::SXFunction* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::SXFunction*, CasADi::SXFunction >::wrapReturn( obj->indexed_zero_based(x0_) );
+}
+
+
+// ================== Constructor method: "SXFunction'" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction"
+// cWrapperName: "CasADi__SXFunction__SXFunction_TIC"
+// protoArgs: "(CasADi::MXFunction* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXFunction
+// cWrapperRetType: "CasADi::SXFunction*"
+// proto: "CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC(CasADi::MXFunction* x0)"
+// call: "CasADi::SXFunction(x0_)"
+extern "C"
+    CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC(CasADi::MXFunction* x0);
+CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC(CasADi::MXFunction* x0){
+    CasADi::MXFunction const & x0_ = Marshaling<CasADi::MXFunction const &,CasADi::MXFunction*>::marshal(x0);
+
+    return WrapReturn< CasADi::SXFunction*, CasADi::SXFunction >::wrapReturn( CasADi::SXFunction(x0_) );
+}
+
+
+// ================== Constructor method: "SXFunction''" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction"
+// cWrapperName: "CasADi__SXFunction__SXFunction_TIC_TIC"
+// protoArgs: "(CasADi::FX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXFunction
+// cWrapperRetType: "CasADi::SXFunction*"
+// proto: "CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC(CasADi::FX* x0)"
+// call: "CasADi::SXFunction(x0_)"
+extern "C"
+    CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC(CasADi::FX* x0);
+CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC(CasADi::FX* x0){
+    CasADi::FX const & x0_ = Marshaling<CasADi::FX const &,CasADi::FX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SXFunction*, CasADi::SXFunction >::wrapReturn( CasADi::SXFunction(x0_) );
+}
+
+
+// ================== Constructor method: "SXFunction'''" ===============
+// class: "CasADi::SXFunction"
+// cppName: "CasADi::SXFunction"
+// cWrapperName: "CasADi__SXFunction__SXFunction_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXFunction
+// cWrapperRetType: "CasADi::SXFunction*"
+// proto: "CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1)"
+// call: "CasADi::SXFunction(x0_, x1_)"
+extern "C"
+    CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1);
+CasADi::SXFunction* CasADi__SXFunction__SXFunction_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+    std::vector< CasADi::Matrix< CasADi::SX > > x1_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x1);
+
+    return WrapReturn< CasADi::SXFunction*, CasADi::SXFunction >::wrapReturn( CasADi::SXFunction(x0_, x1_) );
+}
+
+
+// ================== delete CasadiClass MXFunction===============
+// classType: CasadiClass MXFunction
+extern "C"
+    void delete_CasADi__MXFunction(CasADi::MXFunction* obj);
+void delete_CasADi__MXFunction(CasADi::MXFunction* obj){
+    delete obj;
+}
+
+// ================== Normal method: "getAlgorithmSize" ===============
+// class: "CasADi::MXFunction"
+// cppName: "CasADi::MXFunction::getAlgorithmSize"
+// cWrapperName: "CasADi__MXFunction__getAlgorithmSize"
+// protoArgs: "(CasADi::MXFunction* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MXFunction__getAlgorithmSize(CasADi::MXFunction* obj)"
+// call: "obj->getAlgorithmSize()"
+extern "C"
+    int CasADi__MXFunction__getAlgorithmSize(CasADi::MXFunction* obj);
+int CasADi__MXFunction__getAlgorithmSize(CasADi::MXFunction* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getAlgorithmSize() );
+}
+
+
+// ================== Normal method: "getWorkSize" ===============
+// class: "CasADi::MXFunction"
+// cppName: "CasADi::MXFunction::getWorkSize"
+// cWrapperName: "CasADi__MXFunction__getWorkSize"
+// protoArgs: "(CasADi::MXFunction* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MXFunction__getWorkSize(CasADi::MXFunction* obj)"
+// call: "obj->getWorkSize()"
+extern "C"
+    int CasADi__MXFunction__getWorkSize(CasADi::MXFunction* obj);
+int CasADi__MXFunction__getWorkSize(CasADi::MXFunction* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getWorkSize() );
+}
+
+
+// ================== Normal method: "countNodes" ===============
+// class: "CasADi::MXFunction"
+// cppName: "CasADi::MXFunction::countNodes"
+// cWrapperName: "CasADi__MXFunction__countNodes"
+// protoArgs: "(CasADi::MXFunction* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MXFunction__countNodes(CasADi::MXFunction* obj)"
+// call: "obj->countNodes()"
+extern "C"
+    int CasADi__MXFunction__countNodes(CasADi::MXFunction* obj);
+int CasADi__MXFunction__countNodes(CasADi::MXFunction* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->countNodes() );
+}
+
+
+// ================== Normal method: "checkNode" ===============
+// class: "CasADi::MXFunction"
+// cppName: "CasADi::MXFunction::checkNode"
+// cWrapperName: "CasADi__MXFunction__checkNode"
+// protoArgs: "(CasADi::MXFunction* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MXFunction__checkNode(CasADi::MXFunction* obj)"
+// call: "obj->checkNode()"
+extern "C"
+    int CasADi__MXFunction__checkNode(CasADi::MXFunction* obj);
+int CasADi__MXFunction__checkNode(CasADi::MXFunction* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->checkNode() );
+}
+
+
+// ================== Normal method: "jac" ===============
+// class: "CasADi::MXFunction"
+// cppName: "CasADi::MXFunction::jac"
+// cWrapperName: "CasADi__MXFunction__jac"
+// protoArgs: "(CasADi::MXFunction* obj, int x0, int x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MXFunction__jac(CasADi::MXFunction* obj, int x0, int x1, int x2, int x3)"
+// call: "obj->jac(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::MX* CasADi__MXFunction__jac(CasADi::MXFunction* obj, int x0, int x1, int x2, int x3);
+CasADi::MX* CasADi__MXFunction__jac(CasADi::MXFunction* obj, int x0, int x1, int x2, int x3){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    bool x2_ = Marshaling<bool,int>::marshal(x2);
+    bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->jac(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== Normal method: "grad" ===============
+// class: "CasADi::MXFunction"
+// cppName: "CasADi::MXFunction::grad"
+// cWrapperName: "CasADi__MXFunction__grad"
+// protoArgs: "(CasADi::MXFunction* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MXFunction__grad(CasADi::MXFunction* obj, int x0, int x1)"
+// call: "obj->grad(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MXFunction__grad(CasADi::MXFunction* obj, int x0, int x1);
+CasADi::MX* CasADi__MXFunction__grad(CasADi::MXFunction* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->grad(x0_, x1_) );
+}
+
+
+// ================== Normal method: "getFree" ===============
+// class: "CasADi::MXFunction"
+// cppName: "CasADi::MXFunction::getFree"
+// cWrapperName: "CasADi__MXFunction__getFree"
+// protoArgs: "(CasADi::MXFunction* obj)"
+// args: "()"
+// rettype: StdVec (CasadiClass MX)
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__MXFunction__getFree(CasADi::MXFunction* obj)"
+// call: "obj->getFree()"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__MXFunction__getFree(CasADi::MXFunction* obj);
+std::vector< CasADi::MX* >* CasADi__MXFunction__getFree(CasADi::MXFunction* obj){
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( obj->getFree() );
+}
+
+
+// ================== Normal method: "generateLiftingFunctions" ===============
+// class: "CasADi::MXFunction"
+// cppName: "CasADi::MXFunction::generateLiftingFunctions"
+// cWrapperName: "CasADi__MXFunction__generateLiftingFunctions"
+// protoArgs: "(CasADi::MXFunction* obj, CasADi::MXFunction* x0, CasADi::MXFunction* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__MXFunction__generateLiftingFunctions(CasADi::MXFunction* obj, CasADi::MXFunction* x0, CasADi::MXFunction* x1)"
+// call: "obj->generateLiftingFunctions(x0_, x1_)"
+extern "C"
+    void CasADi__MXFunction__generateLiftingFunctions(CasADi::MXFunction* obj, CasADi::MXFunction* x0, CasADi::MXFunction* x1);
+void CasADi__MXFunction__generateLiftingFunctions(CasADi::MXFunction* obj, CasADi::MXFunction* x0, CasADi::MXFunction* x1){
+    CasADi::MXFunction& x0_ = Marshaling<CasADi::MXFunction&,CasADi::MXFunction*>::marshal(x0);
+    CasADi::MXFunction& x1_ = Marshaling<CasADi::MXFunction&,CasADi::MXFunction*>::marshal(x1);
+
+    obj->generateLiftingFunctions(x0_, x1_);
+}
+
+
+// ================== Constructor method: "MXFunction'" ===============
+// class: "CasADi::MXFunction"
+// cppName: "CasADi::MXFunction"
+// cWrapperName: "CasADi__MXFunction__MXFunction_TIC"
+// protoArgs: "(CasADi::FX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MXFunction
+// cWrapperRetType: "CasADi::MXFunction*"
+// proto: "CasADi::MXFunction* CasADi__MXFunction__MXFunction_TIC(CasADi::FX* x0)"
+// call: "CasADi::MXFunction(x0_)"
+extern "C"
+    CasADi::MXFunction* CasADi__MXFunction__MXFunction_TIC(CasADi::FX* x0);
+CasADi::MXFunction* CasADi__MXFunction__MXFunction_TIC(CasADi::FX* x0){
+    CasADi::FX const & x0_ = Marshaling<CasADi::FX const &,CasADi::FX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MXFunction*, CasADi::MXFunction >::wrapReturn( CasADi::MXFunction(x0_) );
+}
+
+
+// ================== Constructor method: "MXFunction" ===============
+// class: "CasADi::MXFunction"
+// cppName: "CasADi::MXFunction"
+// cWrapperName: "CasADi__MXFunction__MXFunction"
+// protoArgs: "(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MXFunction
+// cWrapperRetType: "CasADi::MXFunction*"
+// proto: "CasADi::MXFunction* CasADi__MXFunction__MXFunction(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1)"
+// call: "CasADi::MXFunction(x0_, x1_)"
+extern "C"
+    CasADi::MXFunction* CasADi__MXFunction__MXFunction(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1);
+CasADi::MXFunction* CasADi__MXFunction__MXFunction(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+
+    return WrapReturn< CasADi::MXFunction*, CasADi::MXFunction >::wrapReturn( CasADi::MXFunction(x0_, x1_) );
+}
+
+
+// ================== delete CasadiClass FX===============
+// classType: CasadiClass FX
+extern "C"
+    void delete_CasADi__FX(CasADi::FX* obj);
+void delete_CasADi__FX(CasADi::FX* obj){
+    delete obj;
+}
+
+// ================== Normal method: "inputScheme" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::inputScheme"
+// cWrapperName: "CasADi__FX__inputScheme"
+// protoArgs: "(CasADi::FX* obj)"
+// args: "()"
+// rettype: CasadiClass IOScheme
+// cWrapperRetType: "CasADi::IOScheme*"
+// proto: "CasADi::IOScheme* CasADi__FX__inputScheme(CasADi::FX* obj)"
+// call: "obj->inputScheme()"
+extern "C"
+    CasADi::IOScheme* CasADi__FX__inputScheme(CasADi::FX* obj);
+CasADi::IOScheme* CasADi__FX__inputScheme(CasADi::FX* obj){
+
+    return WrapReturn< CasADi::IOScheme*, CasADi::IOScheme >::wrapReturn( obj->inputScheme() );
+}
+
+
+// ================== Normal method: "outputScheme" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::outputScheme"
+// cWrapperName: "CasADi__FX__outputScheme"
+// protoArgs: "(CasADi::FX* obj)"
+// args: "()"
+// rettype: CasadiClass IOScheme
+// cWrapperRetType: "CasADi::IOScheme*"
+// proto: "CasADi::IOScheme* CasADi__FX__outputScheme(CasADi::FX* obj)"
+// call: "obj->outputScheme()"
+extern "C"
+    CasADi::IOScheme* CasADi__FX__outputScheme(CasADi::FX* obj);
+CasADi::IOScheme* CasADi__FX__outputScheme(CasADi::FX* obj){
+
+    return WrapReturn< CasADi::IOScheme*, CasADi::IOScheme >::wrapReturn( obj->outputScheme() );
+}
+
+
+// ================== Normal method: "setInputScheme" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::setInputScheme"
+// cWrapperName: "CasADi__FX__setInputScheme"
+// protoArgs: "(CasADi::FX* obj, CasADi::IOScheme* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__FX__setInputScheme(CasADi::FX* obj, CasADi::IOScheme* x0)"
+// call: "obj->setInputScheme(x0_)"
+extern "C"
+    void CasADi__FX__setInputScheme(CasADi::FX* obj, CasADi::IOScheme* x0);
+void CasADi__FX__setInputScheme(CasADi::FX* obj, CasADi::IOScheme* x0){
+    CasADi::IOScheme const & x0_ = Marshaling<CasADi::IOScheme const &,CasADi::IOScheme*>::marshal(x0);
+
+    obj->setInputScheme(x0_);
+}
+
+
+// ================== Normal method: "setOutputScheme" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::setOutputScheme"
+// cWrapperName: "CasADi__FX__setOutputScheme"
+// protoArgs: "(CasADi::FX* obj, CasADi::IOScheme* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__FX__setOutputScheme(CasADi::FX* obj, CasADi::IOScheme* x0)"
+// call: "obj->setOutputScheme(x0_)"
+extern "C"
+    void CasADi__FX__setOutputScheme(CasADi::FX* obj, CasADi::IOScheme* x0);
+void CasADi__FX__setOutputScheme(CasADi::FX* obj, CasADi::IOScheme* x0){
+    CasADi::IOScheme const & x0_ = Marshaling<CasADi::IOScheme const &,CasADi::IOScheme*>::marshal(x0);
+
+    obj->setOutputScheme(x0_);
+}
+
+
+// ================== Normal method: "getInputScheme" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::getInputScheme"
+// cWrapperName: "CasADi__FX__getInputScheme"
+// protoArgs: "(CasADi::FX* obj)"
+// args: "()"
+// rettype: CasadiClass IOScheme
+// cWrapperRetType: "CasADi::IOScheme*"
+// proto: "CasADi::IOScheme* CasADi__FX__getInputScheme(CasADi::FX* obj)"
+// call: "obj->getInputScheme()"
+extern "C"
+    CasADi::IOScheme* CasADi__FX__getInputScheme(CasADi::FX* obj);
+CasADi::IOScheme* CasADi__FX__getInputScheme(CasADi::FX* obj){
+
+    return WrapReturn< CasADi::IOScheme*, CasADi::IOScheme >::wrapReturn( obj->getInputScheme() );
+}
+
+
+// ================== Normal method: "getOutputScheme" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::getOutputScheme"
+// cWrapperName: "CasADi__FX__getOutputScheme"
+// protoArgs: "(CasADi::FX* obj)"
+// args: "()"
+// rettype: CasadiClass IOScheme
+// cWrapperRetType: "CasADi::IOScheme*"
+// proto: "CasADi::IOScheme* CasADi__FX__getOutputScheme(CasADi::FX* obj)"
+// call: "obj->getOutputScheme()"
+extern "C"
+    CasADi::IOScheme* CasADi__FX__getOutputScheme(CasADi::FX* obj);
+CasADi::IOScheme* CasADi__FX__getOutputScheme(CasADi::FX* obj){
+
+    return WrapReturn< CasADi::IOScheme*, CasADi::IOScheme >::wrapReturn( obj->getOutputScheme() );
+}
+
+
+// ================== Normal method: "evaluate" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::evaluate"
+// cWrapperName: "CasADi__FX__evaluate"
+// protoArgs: "(CasADi::FX* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__FX__evaluate(CasADi::FX* obj)"
+// call: "obj->evaluate()"
+extern "C"
+    void CasADi__FX__evaluate(CasADi::FX* obj);
+void CasADi__FX__evaluate(CasADi::FX* obj){
+
+    obj->evaluate();
+}
+
+
+// ================== Normal method: "solve" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::solve"
+// cWrapperName: "CasADi__FX__solve"
+// protoArgs: "(CasADi::FX* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__FX__solve(CasADi::FX* obj)"
+// call: "obj->solve()"
+extern "C"
+    void CasADi__FX__solve(CasADi::FX* obj);
+void CasADi__FX__solve(CasADi::FX* obj){
+
+    obj->solve();
+}
+
+
+// ================== Normal method: "jacobian" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::jacobian"
+// cWrapperName: "CasADi__FX__jacobian"
+// protoArgs: "(CasADi::FX* obj, int x0, int x1, int x2, int x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CasadiClass FX
+// cWrapperRetType: "CasADi::FX*"
+// proto: "CasADi::FX* CasADi__FX__jacobian(CasADi::FX* obj, int x0, int x1, int x2, int x3)"
+// call: "obj->jacobian(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::FX* CasADi__FX__jacobian(CasADi::FX* obj, int x0, int x1, int x2, int x3);
+CasADi::FX* CasADi__FX__jacobian(CasADi::FX* obj, int x0, int x1, int x2, int x3){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    bool x2_ = Marshaling<bool,int>::marshal(x2);
+    bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+    return WrapReturn< CasADi::FX*, CasADi::FX >::wrapReturn( obj->jacobian(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== Normal method: "gradient" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::gradient"
+// cWrapperName: "CasADi__FX__gradient"
+// protoArgs: "(CasADi::FX* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass FX
+// cWrapperRetType: "CasADi::FX*"
+// proto: "CasADi::FX* CasADi__FX__gradient(CasADi::FX* obj, int x0, int x1)"
+// call: "obj->gradient(x0_, x1_)"
+extern "C"
+    CasADi::FX* CasADi__FX__gradient(CasADi::FX* obj, int x0, int x1);
+CasADi::FX* CasADi__FX__gradient(CasADi::FX* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::FX*, CasADi::FX >::wrapReturn( obj->gradient(x0_, x1_) );
+}
+
+
+// ================== Normal method: "hessian" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::hessian"
+// cWrapperName: "CasADi__FX__hessian"
+// protoArgs: "(CasADi::FX* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass FX
+// cWrapperRetType: "CasADi::FX*"
+// proto: "CasADi::FX* CasADi__FX__hessian(CasADi::FX* obj, int x0, int x1)"
+// call: "obj->hessian(x0_, x1_)"
+extern "C"
+    CasADi::FX* CasADi__FX__hessian(CasADi::FX* obj, int x0, int x1);
+CasADi::FX* CasADi__FX__hessian(CasADi::FX* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::FX*, CasADi::FX >::wrapReturn( obj->hessian(x0_, x1_) );
+}
+
+
+// ================== Normal method: "fullJacobian" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::fullJacobian"
+// cWrapperName: "CasADi__FX__fullJacobian"
+// protoArgs: "(CasADi::FX* obj)"
+// args: "()"
+// rettype: CasadiClass FX
+// cWrapperRetType: "CasADi::FX*"
+// proto: "CasADi::FX* CasADi__FX__fullJacobian(CasADi::FX* obj)"
+// call: "obj->fullJacobian()"
+extern "C"
+    CasADi::FX* CasADi__FX__fullJacobian(CasADi::FX* obj);
+CasADi::FX* CasADi__FX__fullJacobian(CasADi::FX* obj){
+
+    return WrapReturn< CasADi::FX*, CasADi::FX >::wrapReturn( obj->fullJacobian() );
+}
+
+
+// ================== Normal method: "call" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::call"
+// cWrapperName: "CasADi__FX__call"
+// protoArgs: "(CasADi::FX* obj, std::vector< CasADi::MX* >* x0)"
+// args: "(x0_)"
+// rettype: StdVec (CasadiClass MX)
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__FX__call(CasADi::FX* obj, std::vector< CasADi::MX* >* x0)"
+// call: "obj->call(x0_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__FX__call(CasADi::FX* obj, std::vector< CasADi::MX* >* x0);
+std::vector< CasADi::MX* >* CasADi__FX__call(CasADi::FX* obj, std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( obj->call(x0_) );
+}
+
+
+// ================== Normal method: "call''" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::call''"
+// cWrapperName: "CasADi__FX__call_TIC_TIC"
+// protoArgs: "(CasADi::FX* obj, std::vector< std::vector< CasADi::MX* >* >* x0)"
+// args: "(x0_)"
+// rettype: StdVec (StdVec (CasadiClass MX))
+// cWrapperRetType: "std::vector< std::vector< CasADi::MX* >* >*"
+// proto: "std::vector< std::vector< CasADi::MX* >* >* CasADi__FX__call_TIC_TIC(CasADi::FX* obj, std::vector< std::vector< CasADi::MX* >* >* x0)"
+// call: "obj->call(x0_)"
+extern "C"
+    std::vector< std::vector< CasADi::MX* >* >* CasADi__FX__call_TIC_TIC(CasADi::FX* obj, std::vector< std::vector< CasADi::MX* >* >* x0);
+std::vector< std::vector< CasADi::MX* >* >* CasADi__FX__call_TIC_TIC(CasADi::FX* obj, std::vector< std::vector< CasADi::MX* >* >* x0){
+    std::vector< std::vector< CasADi::MX > > x0_ = Marshaling<std::vector< std::vector< CasADi::MX > >,std::vector< std::vector< CasADi::MX* >* >*>::marshal(x0);
+
+    return WrapReturn< std::vector< std::vector< CasADi::MX* >* >*, std::vector< std::vector< CasADi::MX > > >::wrapReturn( obj->call(x0_) );
+}
+
+
+// ================== Normal method: "evalMX" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::evalMX"
+// cWrapperName: "CasADi__FX__evalMX"
+// protoArgs: "(CasADi::FX* obj, std::vector< CasADi::MX* >* x0)"
+// args: "(x0_)"
+// rettype: StdVec (CasadiClass MX)
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__FX__evalMX(CasADi::FX* obj, std::vector< CasADi::MX* >* x0)"
+// call: "obj->evalMX(x0_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__FX__evalMX(CasADi::FX* obj, std::vector< CasADi::MX* >* x0);
+std::vector< CasADi::MX* >* CasADi__FX__evalMX(CasADi::FX* obj, std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( obj->evalMX(x0_) );
+}
+
+
+// ================== Normal method: "evalSX" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::evalSX"
+// cWrapperName: "CasADi__FX__evalSX"
+// protoArgs: "(CasADi::FX* obj, std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// args: "(x0_)"
+// rettype: StdVec (CasadiClass SXMatrix)
+// cWrapperRetType: "std::vector< CasADi::Matrix< CasADi::SX >* >*"
+// proto: "std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__FX__evalSX(CasADi::FX* obj, std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// call: "obj->evalSX(x0_)"
+extern "C"
+    std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__FX__evalSX(CasADi::FX* obj, std::vector< CasADi::Matrix< CasADi::SX >* >* x0);
+std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__FX__evalSX(CasADi::FX* obj, std::vector< CasADi::Matrix< CasADi::SX >* >* x0){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::Matrix< CasADi::SX >* >*, std::vector< CasADi::Matrix< CasADi::SX > > >::wrapReturn( obj->evalSX(x0_) );
+}
+
+
+// ================== Normal method: "generateCode" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::generateCode"
+// cWrapperName: "CasADi__FX__generateCode"
+// protoArgs: "(CasADi::FX* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__FX__generateCode(CasADi::FX* obj, std::string* x0)"
+// call: "obj->generateCode(x0_)"
+extern "C"
+    void CasADi__FX__generateCode(CasADi::FX* obj, std::string* x0);
+void CasADi__FX__generateCode(CasADi::FX* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    obj->generateCode(x0_);
+}
+
+
+// ================== Normal method: "checkNode" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::checkNode"
+// cWrapperName: "CasADi__FX__checkNode"
+// protoArgs: "(CasADi::FX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__FX__checkNode(CasADi::FX* obj)"
+// call: "obj->checkNode()"
+extern "C"
+    int CasADi__FX__checkNode(CasADi::FX* obj);
+int CasADi__FX__checkNode(CasADi::FX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->checkNode() );
+}
+
+
+// ================== Normal method: "getStat" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::getStat"
+// cWrapperName: "CasADi__FX__getStat"
+// protoArgs: "(CasADi::FX* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__FX__getStat(CasADi::FX* obj, std::string* x0)"
+// call: "obj->getStat(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__FX__getStat(CasADi::FX* obj, std::string* x0);
+CasADi::GenericType* CasADi__FX__getStat(CasADi::FX* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( obj->getStat(x0_) );
+}
+
+
+// ================== Normal method: "symbolicInput" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::symbolicInput"
+// cWrapperName: "CasADi__FX__symbolicInput"
+// protoArgs: "(CasADi::FX* obj)"
+// args: "()"
+// rettype: StdVec (CasadiClass MX)
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__FX__symbolicInput(CasADi::FX* obj)"
+// call: "obj->symbolicInput()"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__FX__symbolicInput(CasADi::FX* obj);
+std::vector< CasADi::MX* >* CasADi__FX__symbolicInput(CasADi::FX* obj){
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( obj->symbolicInput() );
+}
+
+
+// ================== Normal method: "symbolicInputSX" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::symbolicInputSX"
+// cWrapperName: "CasADi__FX__symbolicInputSX"
+// protoArgs: "(CasADi::FX* obj)"
+// args: "()"
+// rettype: StdVec (CasadiClass SXMatrix)
+// cWrapperRetType: "std::vector< CasADi::Matrix< CasADi::SX >* >*"
+// proto: "std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__FX__symbolicInputSX(CasADi::FX* obj)"
+// call: "obj->symbolicInputSX()"
+extern "C"
+    std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__FX__symbolicInputSX(CasADi::FX* obj);
+std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__FX__symbolicInputSX(CasADi::FX* obj){
+
+    return WrapReturn< std::vector< CasADi::Matrix< CasADi::SX >* >*, std::vector< CasADi::Matrix< CasADi::SX > > >::wrapReturn( obj->symbolicInputSX() );
+}
+
+
+// ================== Normal method: "addMonitor" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::addMonitor"
+// cWrapperName: "CasADi__FX__addMonitor"
+// protoArgs: "(CasADi::FX* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__FX__addMonitor(CasADi::FX* obj, std::string* x0)"
+// call: "obj->addMonitor(x0_)"
+extern "C"
+    void CasADi__FX__addMonitor(CasADi::FX* obj, std::string* x0);
+void CasADi__FX__addMonitor(CasADi::FX* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    obj->addMonitor(x0_);
+}
+
+
+// ================== Normal method: "removeMonitor" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::removeMonitor"
+// cWrapperName: "CasADi__FX__removeMonitor"
+// protoArgs: "(CasADi::FX* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__FX__removeMonitor(CasADi::FX* obj, std::string* x0)"
+// call: "obj->removeMonitor(x0_)"
+extern "C"
+    void CasADi__FX__removeMonitor(CasADi::FX* obj, std::string* x0);
+void CasADi__FX__removeMonitor(CasADi::FX* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    obj->removeMonitor(x0_);
+}
+
+
+// ================== Normal method: "checkInputs" ===============
+// class: "CasADi::FX"
+// cppName: "CasADi::FX::checkInputs"
+// cWrapperName: "CasADi__FX__checkInputs"
+// protoArgs: "(CasADi::FX* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__FX__checkInputs(CasADi::FX* obj)"
+// call: "obj->checkInputs()"
+extern "C"
+    void CasADi__FX__checkInputs(CasADi::FX* obj);
+void CasADi__FX__checkInputs(CasADi::FX* obj){
+
+    obj->checkInputs();
+}
+
+
+// ================== delete CasadiClass SharedObject===============
+// classType: CasadiClass SharedObject
+extern "C"
+    void delete_CasADi__SharedObject(CasADi::SharedObject* obj);
+void delete_CasADi__SharedObject(CasADi::SharedObject* obj){
+    delete obj;
+}
+
+// ================== Normal method: "printPtr'" ===============
+// class: "CasADi::SharedObject"
+// cppName: "CasADi::SharedObject::printPtr'"
+// cWrapperName: "CasADi__SharedObject__printPtr_TIC"
+// protoArgs: "(CasADi::SharedObject* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SharedObject__printPtr_TIC(CasADi::SharedObject* obj)"
+// call: "obj->printPtr()"
+extern "C"
+    void CasADi__SharedObject__printPtr_TIC(CasADi::SharedObject* obj);
+void CasADi__SharedObject__printPtr_TIC(CasADi::SharedObject* obj){
+
+    obj->printPtr();
+}
+
+
+// ================== Normal method: "init" ===============
+// class: "CasADi::SharedObject"
+// cppName: "CasADi::SharedObject::init"
+// cWrapperName: "CasADi__SharedObject__init"
+// protoArgs: "(CasADi::SharedObject* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SharedObject__init(CasADi::SharedObject* obj)"
+// call: "obj->init()"
+extern "C"
+    void CasADi__SharedObject__init(CasADi::SharedObject* obj);
+void CasADi__SharedObject__init(CasADi::SharedObject* obj){
+
+    obj->init();
+}
+
+
+// ================== Normal method: "isInit" ===============
+// class: "CasADi::SharedObject"
+// cppName: "CasADi::SharedObject::isInit"
+// cWrapperName: "CasADi__SharedObject__isInit"
+// protoArgs: "(CasADi::SharedObject* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SharedObject__isInit(CasADi::SharedObject* obj)"
+// call: "obj->isInit()"
+extern "C"
+    int CasADi__SharedObject__isInit(CasADi::SharedObject* obj);
+int CasADi__SharedObject__isInit(CasADi::SharedObject* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isInit() );
+}
+
+
+// ================== Normal method: "assertInit" ===============
+// class: "CasADi::SharedObject"
+// cppName: "CasADi::SharedObject::assertInit"
+// cWrapperName: "CasADi__SharedObject__assertInit"
+// protoArgs: "(CasADi::SharedObject* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SharedObject__assertInit(CasADi::SharedObject* obj)"
+// call: "obj->assertInit()"
+extern "C"
+    void CasADi__SharedObject__assertInit(CasADi::SharedObject* obj);
+void CasADi__SharedObject__assertInit(CasADi::SharedObject* obj){
+
+    obj->assertInit();
+}
+
+
+// ================== Normal method: "checkNode" ===============
+// class: "CasADi::SharedObject"
+// cppName: "CasADi::SharedObject::checkNode"
+// cWrapperName: "CasADi__SharedObject__checkNode"
+// protoArgs: "(CasADi::SharedObject* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SharedObject__checkNode(CasADi::SharedObject* obj)"
+// call: "obj->checkNode()"
+extern "C"
+    int CasADi__SharedObject__checkNode(CasADi::SharedObject* obj);
+int CasADi__SharedObject__checkNode(CasADi::SharedObject* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->checkNode() );
+}
+
+
+// ================== Normal method: "makeUnique" ===============
+// class: "CasADi::SharedObject"
+// cppName: "CasADi::SharedObject::makeUnique"
+// cWrapperName: "CasADi__SharedObject__makeUnique"
+// protoArgs: "(CasADi::SharedObject* obj, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SharedObject__makeUnique(CasADi::SharedObject* obj, int x0)"
+// call: "obj->makeUnique(x0_)"
+extern "C"
+    void CasADi__SharedObject__makeUnique(CasADi::SharedObject* obj, int x0);
+void CasADi__SharedObject__makeUnique(CasADi::SharedObject* obj, int x0){
+    bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+    obj->makeUnique(x0_);
+}
+
+
+// ================== Normal method: "makeUnique'" ===============
+// class: "CasADi::SharedObject"
+// cppName: "CasADi::SharedObject::makeUnique'"
+// cWrapperName: "CasADi__SharedObject__makeUnique_TIC"
+// protoArgs: "(CasADi::SharedObject* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SharedObject__makeUnique_TIC(CasADi::SharedObject* obj)"
+// call: "obj->makeUnique()"
+extern "C"
+    void CasADi__SharedObject__makeUnique_TIC(CasADi::SharedObject* obj);
+void CasADi__SharedObject__makeUnique_TIC(CasADi::SharedObject* obj){
+
+    obj->makeUnique();
+}
+
+
+// ================== delete CasadiClass PrintableObject===============
+// classType: CasadiClass PrintableObject
+extern "C"
+    void delete_CasADi__PrintableObject(CasADi::PrintableObject* obj);
+void delete_CasADi__PrintableObject(CasADi::PrintableObject* obj){
+    delete obj;
+}
+
+// ================== Normal method: "getRepresentation" ===============
+// class: "CasADi::PrintableObject"
+// cppName: "CasADi::PrintableObject::getRepresentation"
+// cWrapperName: "CasADi__PrintableObject__getRepresentation"
+// protoArgs: "(CasADi::PrintableObject* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__PrintableObject__getRepresentation(CasADi::PrintableObject* obj)"
+// call: "obj->getRepresentation()"
+extern "C"
+    std::string* CasADi__PrintableObject__getRepresentation(CasADi::PrintableObject* obj);
+std::string* CasADi__PrintableObject__getRepresentation(CasADi::PrintableObject* obj){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->getRepresentation() );
+}
+
+
+// ================== Normal method: "getDescription" ===============
+// class: "CasADi::PrintableObject"
+// cppName: "CasADi::PrintableObject::getDescription"
+// cWrapperName: "CasADi__PrintableObject__getDescription"
+// protoArgs: "(CasADi::PrintableObject* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__PrintableObject__getDescription(CasADi::PrintableObject* obj)"
+// call: "obj->getDescription()"
+extern "C"
+    std::string* CasADi__PrintableObject__getDescription(CasADi::PrintableObject* obj);
+std::string* CasADi__PrintableObject__getDescription(CasADi::PrintableObject* obj){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->getDescription() );
+}
+
+
+// ================== delete CasadiClass CRSSparsity===============
+// classType: CasadiClass CRSSparsity
+extern "C"
+    void delete_CasADi__CRSSparsity(CasADi::CRSSparsity* obj);
+void delete_CasADi__CRSSparsity(CasADi::CRSSparsity* obj){
+    delete obj;
+}
+
+// ================== Normal method: "size1" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::size1"
+// cWrapperName: "CasADi__CRSSparsity__size1"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__size1(CasADi::CRSSparsity* obj)"
+// call: "obj->size1()"
+extern "C"
+    int CasADi__CRSSparsity__size1(CasADi::CRSSparsity* obj);
+int CasADi__CRSSparsity__size1(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size1() );
+}
+
+
+// ================== Normal method: "size2" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::size2"
+// cWrapperName: "CasADi__CRSSparsity__size2"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__size2(CasADi::CRSSparsity* obj)"
+// call: "obj->size2()"
+extern "C"
+    int CasADi__CRSSparsity__size2(CasADi::CRSSparsity* obj);
+int CasADi__CRSSparsity__size2(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size2() );
+}
+
+
+// ================== Normal method: "numel" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::numel"
+// cWrapperName: "CasADi__CRSSparsity__numel"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__numel(CasADi::CRSSparsity* obj)"
+// call: "obj->numel()"
+extern "C"
+    int CasADi__CRSSparsity__numel(CasADi::CRSSparsity* obj);
+int CasADi__CRSSparsity__numel(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->numel() );
+}
+
+
+// ================== Normal method: "empty" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::empty"
+// cWrapperName: "CasADi__CRSSparsity__empty"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__empty(CasADi::CRSSparsity* obj)"
+// call: "obj->empty()"
+extern "C"
+    int CasADi__CRSSparsity__empty(CasADi::CRSSparsity* obj);
+int CasADi__CRSSparsity__empty(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->empty() );
+}
+
+
+// ================== Normal method: "null" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::null"
+// cWrapperName: "CasADi__CRSSparsity__null"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__null(CasADi::CRSSparsity* obj)"
+// call: "obj->null()"
+extern "C"
+    int CasADi__CRSSparsity__null(CasADi::CRSSparsity* obj);
+int CasADi__CRSSparsity__null(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->null() );
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::size"
+// cWrapperName: "CasADi__CRSSparsity__size"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__size(CasADi::CRSSparsity* obj)"
+// call: "obj->size()"
+extern "C"
+    int CasADi__CRSSparsity__size(CasADi::CRSSparsity* obj);
+int CasADi__CRSSparsity__size(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size() );
+}
+
+
+// ================== Normal method: "sizeU" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::sizeU"
+// cWrapperName: "CasADi__CRSSparsity__sizeU"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__sizeU(CasADi::CRSSparsity* obj)"
+// call: "obj->sizeU()"
+extern "C"
+    int CasADi__CRSSparsity__sizeU(CasADi::CRSSparsity* obj);
+int CasADi__CRSSparsity__sizeU(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->sizeU() );
+}
+
+
+// ================== Normal method: "sizeL" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::sizeL"
+// cWrapperName: "CasADi__CRSSparsity__sizeL"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__sizeL(CasADi::CRSSparsity* obj)"
+// call: "obj->sizeL()"
+extern "C"
+    int CasADi__CRSSparsity__sizeL(CasADi::CRSSparsity* obj);
+int CasADi__CRSSparsity__sizeL(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->sizeL() );
+}
+
+
+// ================== Normal method: "sizeD" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::sizeD"
+// cWrapperName: "CasADi__CRSSparsity__sizeD"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__sizeD(CasADi::CRSSparsity* obj)"
+// call: "obj->sizeD()"
+extern "C"
+    int CasADi__CRSSparsity__sizeD(CasADi::CRSSparsity* obj);
+int CasADi__CRSSparsity__sizeD(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->sizeD() );
+}
+
+
+// ================== Normal method: "col" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::col"
+// cWrapperName: "CasADi__CRSSparsity__col"
+// protoArgs: "(CasADi::CRSSparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__col(CasADi::CRSSparsity* obj, int x0)"
+// call: "obj->col(x0_)"
+extern "C"
+    int CasADi__CRSSparsity__col(CasADi::CRSSparsity* obj, int x0);
+int CasADi__CRSSparsity__col(CasADi::CRSSparsity* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->col(x0_) );
+}
+
+
+// ================== Normal method: "rowind" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::rowind"
+// cWrapperName: "CasADi__CRSSparsity__rowind"
+// protoArgs: "(CasADi::CRSSparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__rowind(CasADi::CRSSparsity* obj, int x0)"
+// call: "obj->rowind(x0_)"
+extern "C"
+    int CasADi__CRSSparsity__rowind(CasADi::CRSSparsity* obj, int x0);
+int CasADi__CRSSparsity__rowind(CasADi::CRSSparsity* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->rowind(x0_) );
+}
+
+
+// ================== Normal method: "colRef" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::colRef"
+// cWrapperName: "CasADi__CRSSparsity__colRef"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: StdVec CInt
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* CasADi__CRSSparsity__colRef(CasADi::CRSSparsity* obj)"
+// call: "obj->colRef()"
+extern "C"
+    std::vector< int >* CasADi__CRSSparsity__colRef(CasADi::CRSSparsity* obj);
+std::vector< int >* CasADi__CRSSparsity__colRef(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( obj->colRef() );
+}
+
+
+// ================== Normal method: "rowindRef" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::rowindRef"
+// cWrapperName: "CasADi__CRSSparsity__rowindRef"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: StdVec CInt
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* CasADi__CRSSparsity__rowindRef(CasADi::CRSSparsity* obj)"
+// call: "obj->rowindRef()"
+extern "C"
+    std::vector< int >* CasADi__CRSSparsity__rowindRef(CasADi::CRSSparsity* obj);
+std::vector< int >* CasADi__CRSSparsity__rowindRef(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( obj->rowindRef() );
+}
+
+
+// ================== Normal method: "getRow" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::getRow"
+// cWrapperName: "CasADi__CRSSparsity__getRow"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: StdVec CInt
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* CasADi__CRSSparsity__getRow(CasADi::CRSSparsity* obj)"
+// call: "obj->getRow()"
+extern "C"
+    std::vector< int >* CasADi__CRSSparsity__getRow(CasADi::CRSSparsity* obj);
+std::vector< int >* CasADi__CRSSparsity__getRow(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( obj->getRow() );
+}
+
+
+// ================== Normal method: "getNZ" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::getNZ"
+// cWrapperName: "CasADi__CRSSparsity__getNZ"
+// protoArgs: "(CasADi::CRSSparsity* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__getNZ(CasADi::CRSSparsity* obj, int x0, int x1)"
+// call: "obj->getNZ(x0_, x1_)"
+extern "C"
+    int CasADi__CRSSparsity__getNZ(CasADi::CRSSparsity* obj, int x0, int x1);
+int CasADi__CRSSparsity__getNZ(CasADi::CRSSparsity* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< int, int >::wrapReturn( obj->getNZ(x0_, x1_) );
+}
+
+
+// ================== Normal method: "getNZ''" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::getNZ''"
+// cWrapperName: "CasADi__CRSSparsity__getNZ_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// args: "(x0_, x1_)"
+// rettype: StdVec CInt
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* CasADi__CRSSparsity__getNZ_TIC_TIC(CasADi::CRSSparsity* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// call: "obj->getNZ(x0_, x1_)"
+extern "C"
+    std::vector< int >* CasADi__CRSSparsity__getNZ_TIC_TIC(CasADi::CRSSparsity* obj, std::vector< int >* x0, std::vector< int >* x1);
+std::vector< int >* CasADi__CRSSparsity__getNZ_TIC_TIC(CasADi::CRSSparsity* obj, std::vector< int >* x0, std::vector< int >* x1){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( obj->getNZ(x0_, x1_) );
+}
+
+
+// ================== Normal method: "hasNZ" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::hasNZ"
+// cWrapperName: "CasADi__CRSSparsity__hasNZ"
+// protoArgs: "(CasADi::CRSSparsity* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__hasNZ(CasADi::CRSSparsity* obj, int x0, int x1)"
+// call: "obj->hasNZ(x0_, x1_)"
+extern "C"
+    int CasADi__CRSSparsity__hasNZ(CasADi::CRSSparsity* obj, int x0, int x1);
+int CasADi__CRSSparsity__hasNZ(CasADi::CRSSparsity* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->hasNZ(x0_, x1_) );
+}
+
+
+// ================== Normal method: "getNZInplace" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::getNZInplace"
+// cWrapperName: "CasADi__CRSSparsity__getNZInplace"
+// protoArgs: "(CasADi::CRSSparsity* obj, std::vector< int >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__CRSSparsity__getNZInplace(CasADi::CRSSparsity* obj, std::vector< int >* x0)"
+// call: "obj->getNZInplace(x0_)"
+extern "C"
+    void CasADi__CRSSparsity__getNZInplace(CasADi::CRSSparsity* obj, std::vector< int >* x0);
+void CasADi__CRSSparsity__getNZInplace(CasADi::CRSSparsity* obj, std::vector< int >* x0){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+    obj->getNZInplace(x0_);
+}
+
+
+// ================== Normal method: "columnsSequential" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::columnsSequential"
+// cWrapperName: "CasADi__CRSSparsity__columnsSequential"
+// protoArgs: "(CasADi::CRSSparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__CRSSparsity__columnsSequential(CasADi::CRSSparsity* obj, int x0)"
+// call: "obj->columnsSequential(x0_)"
+extern "C"
+    int CasADi__CRSSparsity__columnsSequential(CasADi::CRSSparsity* obj, int x0);
+int CasADi__CRSSparsity__columnsSequential(CasADi::CRSSparsity* obj, int x0){
+    bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->columnsSequential(x0_) );
+}
+
+
+// ================== Normal method: "getElements" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::getElements"
+// cWrapperName: "CasADi__CRSSparsity__getElements"
+// protoArgs: "(CasADi::CRSSparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdVec CInt
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* CasADi__CRSSparsity__getElements(CasADi::CRSSparsity* obj, int x0)"
+// call: "obj->getElements(x0_)"
+extern "C"
+    std::vector< int >* CasADi__CRSSparsity__getElements(CasADi::CRSSparsity* obj, int x0);
+std::vector< int >* CasADi__CRSSparsity__getElements(CasADi::CRSSparsity* obj, int x0){
+    bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+    return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( obj->getElements(x0_) );
+}
+
+
+// ================== Normal method: "unidirectionalColoring" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::unidirectionalColoring"
+// cWrapperName: "CasADi__CRSSparsity__unidirectionalColoring"
+// protoArgs: "(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0, int x1)"
+// call: "obj->unidirectionalColoring(x0_, x1_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0, int x1);
+CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0, int x1){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->unidirectionalColoring(x0_, x1_) );
+}
+
+
+// ================== Normal method: "unidirectionalColoring'" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::unidirectionalColoring'"
+// cWrapperName: "CasADi__CRSSparsity__unidirectionalColoring_TIC"
+// protoArgs: "(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0)"
+// call: "obj->unidirectionalColoring(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0);
+CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC(CasADi::CRSSparsity* obj, CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->unidirectionalColoring(x0_) );
+}
+
+
+// ================== Normal method: "unidirectionalColoring''" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::unidirectionalColoring''"
+// cWrapperName: "CasADi__CRSSparsity__unidirectionalColoring_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC_TIC(CasADi::CRSSparsity* obj)"
+// call: "obj->unidirectionalColoring()"
+extern "C"
+    CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC_TIC(CasADi::CRSSparsity* obj);
+CasADi::CRSSparsity* CasADi__CRSSparsity__unidirectionalColoring_TIC_TIC(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->unidirectionalColoring() );
+}
+
+
+// ================== Normal method: "starColoring" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::starColoring"
+// cWrapperName: "CasADi__CRSSparsity__starColoring"
+// protoArgs: "(CasADi::CRSSparsity* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring(CasADi::CRSSparsity* obj, int x0, int x1)"
+// call: "obj->starColoring(x0_, x1_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring(CasADi::CRSSparsity* obj, int x0, int x1);
+CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring(CasADi::CRSSparsity* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->starColoring(x0_, x1_) );
+}
+
+
+// ================== Normal method: "starColoring'" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::starColoring'"
+// cWrapperName: "CasADi__CRSSparsity__starColoring_TIC"
+// protoArgs: "(CasADi::CRSSparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC(CasADi::CRSSparsity* obj, int x0)"
+// call: "obj->starColoring(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC(CasADi::CRSSparsity* obj, int x0);
+CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC(CasADi::CRSSparsity* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->starColoring(x0_) );
+}
+
+
+// ================== Normal method: "starColoring''" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::starColoring''"
+// cWrapperName: "CasADi__CRSSparsity__starColoring_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC_TIC(CasADi::CRSSparsity* obj)"
+// call: "obj->starColoring()"
+extern "C"
+    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC_TIC(CasADi::CRSSparsity* obj);
+CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring_TIC_TIC(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->starColoring() );
+}
+
+
+// ================== Normal method: "starColoring2" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::starColoring2"
+// cWrapperName: "CasADi__CRSSparsity__starColoring2"
+// protoArgs: "(CasADi::CRSSparsity* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2(CasADi::CRSSparsity* obj, int x0, int x1)"
+// call: "obj->starColoring2(x0_, x1_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2(CasADi::CRSSparsity* obj, int x0, int x1);
+CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2(CasADi::CRSSparsity* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->starColoring2(x0_, x1_) );
+}
+
+
+// ================== Normal method: "starColoring2'" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::starColoring2'"
+// cWrapperName: "CasADi__CRSSparsity__starColoring2_TIC"
+// protoArgs: "(CasADi::CRSSparsity* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC(CasADi::CRSSparsity* obj, int x0)"
+// call: "obj->starColoring2(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC(CasADi::CRSSparsity* obj, int x0);
+CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC(CasADi::CRSSparsity* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->starColoring2(x0_) );
+}
+
+
+// ================== Normal method: "starColoring2''" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::starColoring2''"
+// cWrapperName: "CasADi__CRSSparsity__starColoring2_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC_TIC(CasADi::CRSSparsity* obj)"
+// call: "obj->starColoring2()"
+extern "C"
+    CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC_TIC(CasADi::CRSSparsity* obj);
+CasADi::CRSSparsity* CasADi__CRSSparsity__starColoring2_TIC_TIC(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->starColoring2() );
+}
+
+
+// ================== Normal method: "dimString" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::dimString"
+// cWrapperName: "CasADi__CRSSparsity__dimString"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__CRSSparsity__dimString(CasADi::CRSSparsity* obj)"
+// call: "obj->dimString()"
+extern "C"
+    std::string* CasADi__CRSSparsity__dimString(CasADi::CRSSparsity* obj);
+std::string* CasADi__CRSSparsity__dimString(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->dimString() );
+}
+
+
+// ================== Normal method: "spy'" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::spy'"
+// cWrapperName: "CasADi__CRSSparsity__spy_TIC"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__CRSSparsity__spy_TIC(CasADi::CRSSparsity* obj)"
+// call: "obj->spy()"
+extern "C"
+    void CasADi__CRSSparsity__spy_TIC(CasADi::CRSSparsity* obj);
+void CasADi__CRSSparsity__spy_TIC(CasADi::CRSSparsity* obj){
+
+    obj->spy();
+}
+
+
+// ================== Normal method: "spyMatlab" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::spyMatlab"
+// cWrapperName: "CasADi__CRSSparsity__spyMatlab"
+// protoArgs: "(CasADi::CRSSparsity* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__CRSSparsity__spyMatlab(CasADi::CRSSparsity* obj, std::string* x0)"
+// call: "obj->spyMatlab(x0_)"
+extern "C"
+    void CasADi__CRSSparsity__spyMatlab(CasADi::CRSSparsity* obj, std::string* x0);
+void CasADi__CRSSparsity__spyMatlab(CasADi::CRSSparsity* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    obj->spyMatlab(x0_);
+}
+
+
+// ================== Normal method: "hash" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity::hash"
+// cWrapperName: "CasADi__CRSSparsity__hash"
+// protoArgs: "(CasADi::CRSSparsity* obj)"
+// args: "()"
+// rettype: CSize
+// cWrapperRetType: "size_t"
+// proto: "size_t CasADi__CRSSparsity__hash(CasADi::CRSSparsity* obj)"
+// call: "obj->hash()"
+extern "C"
+    size_t CasADi__CRSSparsity__hash(CasADi::CRSSparsity* obj);
+size_t CasADi__CRSSparsity__hash(CasADi::CRSSparsity* obj){
+
+    return WrapReturn< size_t, size_t >::wrapReturn( obj->hash() );
+}
+
+
+// ================== Constructor method: "CRSSparsity" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity"
+// cWrapperName: "CasADi__CRSSparsity__CRSSparsity"
+// protoArgs: "(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// call: "CasADi::CRSSparsity(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
+CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::CRSSparsity(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== Constructor method: "CRSSparsity'" ===============
+// class: "CasADi::CRSSparsity"
+// cppName: "CasADi::CRSSparsity"
+// cWrapperName: "CasADi__CRSSparsity__CRSSparsity_TIC"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity_TIC()"
+// call: "CasADi::CRSSparsity()"
+extern "C"
+    CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity_TIC();
+CasADi::CRSSparsity* CasADi__CRSSparsity__CRSSparsity_TIC(){
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::CRSSparsity() );
+}
+
+
+// ================== delete CasadiClass GenericType===============
+// classType: CasadiClass GenericType
+extern "C"
+    void delete_CasADi__GenericType(CasADi::GenericType* obj);
+void delete_CasADi__GenericType(CasADi::GenericType* obj){
+    delete obj;
+}
+
+// ================== Static method: "get_type_description" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::get_type_description"
+// cWrapperName: "CasADi__GenericType__get_type_description"
+// protoArgs: "(CasADi::opt_type const * x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__GenericType__get_type_description(CasADi::opt_type const * x0)"
+// call: "CasADi::GenericType::get_type_description(x0_)"
+extern "C"
+    std::string* CasADi__GenericType__get_type_description(CasADi::opt_type const * x0);
+std::string* CasADi__GenericType__get_type_description(CasADi::opt_type const * x0){
+    CasADi::opt_type const & x0_ = Marshaling<CasADi::opt_type const &,CasADi::opt_type const *>::marshal(x0);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::GenericType::get_type_description(x0_) );
+}
+
+
+// ================== Normal method: "get_description" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::get_description"
+// cWrapperName: "CasADi__GenericType__get_description"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__GenericType__get_description(CasADi::GenericType* obj)"
+// call: "obj->get_description()"
+extern "C"
+    std::string* CasADi__GenericType__get_description(CasADi::GenericType* obj);
+std::string* CasADi__GenericType__get_description(CasADi::GenericType* obj){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->get_description() );
+}
+
+
+// ================== Static method: "from_type" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::from_type"
+// cWrapperName: "CasADi__GenericType__from_type"
+// protoArgs: "(CasADi::opt_type x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__from_type(CasADi::opt_type x0)"
+// call: "CasADi::GenericType::from_type(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__from_type(CasADi::opt_type x0);
+CasADi::GenericType* CasADi__GenericType__from_type(CasADi::opt_type x0){
+    CasADi::opt_type x0_ = Marshaling<CasADi::opt_type,CasADi::opt_type>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType::from_type(x0_) );
+}
+
+
+// ================== Normal method: "getType" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::getType"
+// cWrapperName: "CasADi__GenericType__getType"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CasadiEnum Opt_type
+// cWrapperRetType: "CasADi::opt_type"
+// proto: "CasADi::opt_type CasADi__GenericType__getType(CasADi::GenericType* obj)"
+// call: "obj->getType()"
+extern "C"
+    CasADi::opt_type CasADi__GenericType__getType(CasADi::GenericType* obj);
+CasADi::opt_type CasADi__GenericType__getType(CasADi::GenericType* obj){
+
+    return WrapReturn< CasADi::opt_type, CasADi::opt_type >::wrapReturn( obj->getType() );
+}
+
+
+// ================== Normal method: "can_cast_to" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::can_cast_to"
+// cWrapperName: "CasADi__GenericType__can_cast_to"
+// protoArgs: "(CasADi::GenericType* obj, CasADi::opt_type x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__can_cast_to(CasADi::GenericType* obj, CasADi::opt_type x0)"
+// call: "obj->can_cast_to(x0_)"
+extern "C"
+    int CasADi__GenericType__can_cast_to(CasADi::GenericType* obj, CasADi::opt_type x0);
+int CasADi__GenericType__can_cast_to(CasADi::GenericType* obj, CasADi::opt_type x0){
+    CasADi::opt_type x0_ = Marshaling<CasADi::opt_type,CasADi::opt_type>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->can_cast_to(x0_) );
+}
+
+
+// ================== Normal method: "can_cast_to'" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::can_cast_to'"
+// cWrapperName: "CasADi__GenericType__can_cast_to_TIC"
+// protoArgs: "(CasADi::GenericType* obj, CasADi::GenericType* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__can_cast_to_TIC(CasADi::GenericType* obj, CasADi::GenericType* x0)"
+// call: "obj->can_cast_to(x0_)"
+extern "C"
+    int CasADi__GenericType__can_cast_to_TIC(CasADi::GenericType* obj, CasADi::GenericType* x0);
+int CasADi__GenericType__can_cast_to_TIC(CasADi::GenericType* obj, CasADi::GenericType* x0){
+    CasADi::GenericType const & x0_ = Marshaling<CasADi::GenericType const &,CasADi::GenericType*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->can_cast_to(x0_) );
+}
+
+
+// ================== Normal method: "isBool" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::isBool"
+// cWrapperName: "CasADi__GenericType__isBool"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__isBool(CasADi::GenericType* obj)"
+// call: "obj->isBool()"
+extern "C"
+    int CasADi__GenericType__isBool(CasADi::GenericType* obj);
+int CasADi__GenericType__isBool(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isBool() );
+}
+
+
+// ================== Normal method: "isInt" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::isInt"
+// cWrapperName: "CasADi__GenericType__isInt"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__isInt(CasADi::GenericType* obj)"
+// call: "obj->isInt()"
+extern "C"
+    int CasADi__GenericType__isInt(CasADi::GenericType* obj);
+int CasADi__GenericType__isInt(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isInt() );
+}
+
+
+// ================== Normal method: "isDouble" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::isDouble"
+// cWrapperName: "CasADi__GenericType__isDouble"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__isDouble(CasADi::GenericType* obj)"
+// call: "obj->isDouble()"
+extern "C"
+    int CasADi__GenericType__isDouble(CasADi::GenericType* obj);
+int CasADi__GenericType__isDouble(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isDouble() );
+}
+
+
+// ================== Normal method: "isString" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::isString"
+// cWrapperName: "CasADi__GenericType__isString"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__isString(CasADi::GenericType* obj)"
+// call: "obj->isString()"
+extern "C"
+    int CasADi__GenericType__isString(CasADi::GenericType* obj);
+int CasADi__GenericType__isString(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isString() );
+}
+
+
+// ================== Normal method: "isEmptyVector" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::isEmptyVector"
+// cWrapperName: "CasADi__GenericType__isEmptyVector"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__isEmptyVector(CasADi::GenericType* obj)"
+// call: "obj->isEmptyVector()"
+extern "C"
+    int CasADi__GenericType__isEmptyVector(CasADi::GenericType* obj);
+int CasADi__GenericType__isEmptyVector(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isEmptyVector() );
+}
+
+
+// ================== Normal method: "isIntVector" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::isIntVector"
+// cWrapperName: "CasADi__GenericType__isIntVector"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__isIntVector(CasADi::GenericType* obj)"
+// call: "obj->isIntVector()"
+extern "C"
+    int CasADi__GenericType__isIntVector(CasADi::GenericType* obj);
+int CasADi__GenericType__isIntVector(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isIntVector() );
+}
+
+
+// ================== Normal method: "isDoubleVector" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::isDoubleVector"
+// cWrapperName: "CasADi__GenericType__isDoubleVector"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__isDoubleVector(CasADi::GenericType* obj)"
+// call: "obj->isDoubleVector()"
+extern "C"
+    int CasADi__GenericType__isDoubleVector(CasADi::GenericType* obj);
+int CasADi__GenericType__isDoubleVector(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isDoubleVector() );
+}
+
+
+// ================== Normal method: "isStringVector" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::isStringVector"
+// cWrapperName: "CasADi__GenericType__isStringVector"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__isStringVector(CasADi::GenericType* obj)"
+// call: "obj->isStringVector()"
+extern "C"
+    int CasADi__GenericType__isStringVector(CasADi::GenericType* obj);
+int CasADi__GenericType__isStringVector(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isStringVector() );
+}
+
+
+// ================== Normal method: "isSharedObject" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::isSharedObject"
+// cWrapperName: "CasADi__GenericType__isSharedObject"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__isSharedObject(CasADi::GenericType* obj)"
+// call: "obj->isSharedObject()"
+extern "C"
+    int CasADi__GenericType__isSharedObject(CasADi::GenericType* obj);
+int CasADi__GenericType__isSharedObject(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isSharedObject() );
+}
+
+
+// ================== Normal method: "isDictionary" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::isDictionary"
+// cWrapperName: "CasADi__GenericType__isDictionary"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__isDictionary(CasADi::GenericType* obj)"
+// call: "obj->isDictionary()"
+extern "C"
+    int CasADi__GenericType__isDictionary(CasADi::GenericType* obj);
+int CasADi__GenericType__isDictionary(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isDictionary() );
+}
+
+
+// ================== Normal method: "isFX" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::isFX"
+// cWrapperName: "CasADi__GenericType__isFX"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__isFX(CasADi::GenericType* obj)"
+// call: "obj->isFX()"
+extern "C"
+    int CasADi__GenericType__isFX(CasADi::GenericType* obj);
+int CasADi__GenericType__isFX(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isFX() );
+}
+
+
+// ================== Normal method: "toBool" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::toBool"
+// cWrapperName: "CasADi__GenericType__toBool"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__toBool(CasADi::GenericType* obj)"
+// call: "obj->toBool()"
+extern "C"
+    int CasADi__GenericType__toBool(CasADi::GenericType* obj);
+int CasADi__GenericType__toBool(CasADi::GenericType* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->toBool() );
+}
+
+
+// ================== Normal method: "toInt" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::toInt"
+// cWrapperName: "CasADi__GenericType__toInt"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__toInt(CasADi::GenericType* obj)"
+// call: "obj->toInt()"
+extern "C"
+    int CasADi__GenericType__toInt(CasADi::GenericType* obj);
+int CasADi__GenericType__toInt(CasADi::GenericType* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->toInt() );
+}
+
+
+// ================== Normal method: "toDouble" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::toDouble"
+// cWrapperName: "CasADi__GenericType__toDouble"
+// protoArgs: "(CasADi::GenericType* obj)"
+// args: "()"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double CasADi__GenericType__toDouble(CasADi::GenericType* obj)"
+// call: "obj->toDouble()"
+extern "C"
+    double CasADi__GenericType__toDouble(CasADi::GenericType* obj);
+double CasADi__GenericType__toDouble(CasADi::GenericType* obj){
+
+    return WrapReturn< double, double >::wrapReturn( obj->toDouble() );
+}
+
+
+// ================== Normal method: "operator ==" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::operator =="
+// cWrapperName: "CasADi__GenericType__operator_equals"
+// protoArgs: "(CasADi::GenericType* obj, CasADi::GenericType* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__operator_equals(CasADi::GenericType* obj, CasADi::GenericType* x0)"
+// call: "obj->operator ==(x0_)"
+extern "C"
+    int CasADi__GenericType__operator_equals(CasADi::GenericType* obj, CasADi::GenericType* x0);
+int CasADi__GenericType__operator_equals(CasADi::GenericType* obj, CasADi::GenericType* x0){
+    CasADi::GenericType const & x0_ = Marshaling<CasADi::GenericType const &,CasADi::GenericType*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->operator ==(x0_) );
+}
+
+
+// ================== Normal method: "operator !=" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType::operator !="
+// cWrapperName: "CasADi__GenericType__operator_nequals"
+// protoArgs: "(CasADi::GenericType* obj, CasADi::GenericType* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__GenericType__operator_nequals(CasADi::GenericType* obj, CasADi::GenericType* x0)"
+// call: "obj->operator !=(x0_)"
+extern "C"
+    int CasADi__GenericType__operator_nequals(CasADi::GenericType* obj, CasADi::GenericType* x0);
+int CasADi__GenericType__operator_nequals(CasADi::GenericType* obj, CasADi::GenericType* x0){
+    CasADi::GenericType const & x0_ = Marshaling<CasADi::GenericType const &,CasADi::GenericType*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->operator !=(x0_) );
+}
+
+
+// ================== Constructor method: "GenericTypeBool" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType"
+// cWrapperName: "CasADi__GenericType__GenericTypeBool"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeBool(int x0)"
+// call: "CasADi::GenericType(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__GenericTypeBool(int x0);
+CasADi::GenericType* CasADi__GenericType__GenericTypeBool(int x0){
+    bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType(x0_) );
+}
+
+
+// ================== Constructor method: "GenericTypeInt" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType"
+// cWrapperName: "CasADi__GenericType__GenericTypeInt"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeInt(int x0)"
+// call: "CasADi::GenericType(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__GenericTypeInt(int x0);
+CasADi::GenericType* CasADi__GenericType__GenericTypeInt(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType(x0_) );
+}
+
+
+// ================== Constructor method: "GenericTypeDouble" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType"
+// cWrapperName: "CasADi__GenericType__GenericTypeDouble"
+// protoArgs: "(double x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeDouble(double x0)"
+// call: "CasADi::GenericType(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__GenericTypeDouble(double x0);
+CasADi::GenericType* CasADi__GenericType__GenericTypeDouble(double x0){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType(x0_) );
+}
+
+
+// ================== Constructor method: "GenericTypeString" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType"
+// cWrapperName: "CasADi__GenericType__GenericTypeString"
+// protoArgs: "(std::string* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeString(std::string* x0)"
+// call: "CasADi::GenericType(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__GenericTypeString(std::string* x0);
+CasADi::GenericType* CasADi__GenericType__GenericTypeString(std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType(x0_) );
+}
+
+
+// ================== Constructor method: "GenericTypeBoolVec" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType"
+// cWrapperName: "CasADi__GenericType__GenericTypeBoolVec"
+// protoArgs: "(std::vector< int >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeBoolVec(std::vector< int >* x0)"
+// call: "CasADi::GenericType(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__GenericTypeBoolVec(std::vector< int >* x0);
+CasADi::GenericType* CasADi__GenericType__GenericTypeBoolVec(std::vector< int >* x0){
+    std::vector< bool > x0_ = Marshaling<std::vector< bool >,std::vector< int >*>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType(x0_) );
+}
+
+
+// ================== Constructor method: "GenericTypeIntVec" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType"
+// cWrapperName: "CasADi__GenericType__GenericTypeIntVec"
+// protoArgs: "(std::vector< int >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeIntVec(std::vector< int >* x0)"
+// call: "CasADi::GenericType(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__GenericTypeIntVec(std::vector< int >* x0);
+CasADi::GenericType* CasADi__GenericType__GenericTypeIntVec(std::vector< int >* x0){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType(x0_) );
+}
+
+
+// ================== Constructor method: "GenericTypeDoubleVec" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType"
+// cWrapperName: "CasADi__GenericType__GenericTypeDoubleVec"
+// protoArgs: "(std::vector< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeDoubleVec(std::vector< double >* x0)"
+// call: "CasADi::GenericType(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__GenericTypeDoubleVec(std::vector< double >* x0);
+CasADi::GenericType* CasADi__GenericType__GenericTypeDoubleVec(std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType(x0_) );
+}
+
+
+// ================== Constructor method: "GenericTypeStringVec" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType"
+// cWrapperName: "CasADi__GenericType__GenericTypeStringVec"
+// protoArgs: "(std::vector< std::string* >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeStringVec(std::vector< std::string* >* x0)"
+// call: "CasADi::GenericType(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__GenericTypeStringVec(std::vector< std::string* >* x0);
+CasADi::GenericType* CasADi__GenericType__GenericTypeStringVec(std::vector< std::string* >* x0){
+    std::vector< std::string > x0_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType(x0_) );
+}
+
+
+// ================== Constructor method: "GenericTypeFX" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType"
+// cWrapperName: "CasADi__GenericType__GenericTypeFX"
+// protoArgs: "(CasADi::FX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeFX(CasADi::FX* x0)"
+// call: "CasADi::GenericType(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__GenericTypeFX(CasADi::FX* x0);
+CasADi::GenericType* CasADi__GenericType__GenericTypeFX(CasADi::FX* x0){
+    CasADi::FX const & x0_ = Marshaling<CasADi::FX const &,CasADi::FX*>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType(x0_) );
+}
+
+
+// ================== Constructor method: "GenericTypeCallback" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType"
+// cWrapperName: "CasADi__GenericType__GenericTypeCallback"
+// protoArgs: "(CasADi::Callback* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__GenericTypeCallback(CasADi::Callback* x0)"
+// call: "CasADi::GenericType(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__GenericTypeCallback(CasADi::Callback* x0);
+CasADi::GenericType* CasADi__GenericType__GenericTypeCallback(CasADi::Callback* x0){
+    CasADi::Callback const & x0_ = Marshaling<CasADi::Callback const &,CasADi::Callback*>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType(x0_) );
+}
+
+
+// ================== Constructor method: "GenericType" ===============
+// class: "CasADi::GenericType"
+// cppName: "CasADi::GenericType"
+// cWrapperName: "CasADi__GenericType__GenericType"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__GenericType__GenericType()"
+// call: "CasADi::GenericType()"
+extern "C"
+    CasADi::GenericType* CasADi__GenericType__GenericType();
+CasADi::GenericType* CasADi__GenericType__GenericType(){
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( CasADi::GenericType() );
+}
+
+
+// ================== delete CasadiClass IOInterfaceFX===============
+// classType: CasadiClass IOInterfaceFX
+extern "C"
+    void delete_CasADi__IOInterface_CasADi__FX_(CasADi::IOInterface< CasADi::FX >* obj);
+void delete_CasADi__IOInterface_CasADi__FX_(CasADi::IOInterface< CasADi::FX >* obj){
+    delete obj;
+}
+
+// ================== Normal method: "input" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::input"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___input"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input(CasADi::IOInterface< CasADi::FX >* obj, int x0)"
+// call: "obj->input(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input(CasADi::IOInterface< CasADi::FX >* obj, int x0);
+CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input(CasADi::IOInterface< CasADi::FX >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->input(x0_) );
+}
+
+
+// ================== Normal method: "input'" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::input'"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___input_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC(CasADi::IOInterface< CasADi::FX >* obj)"
+// call: "obj->input()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC(CasADi::IOInterface< CasADi::FX >* obj);
+CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC(CasADi::IOInterface< CasADi::FX >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->input() );
+}
+
+
+// ================== Normal method: "input''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::input''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___input_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
+// call: "obj->input(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0);
+CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___input_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->input(x0_) );
+}
+
+
+// ================== Normal method: "output" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::output"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___output"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output(CasADi::IOInterface< CasADi::FX >* obj, int x0)"
+// call: "obj->output(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output(CasADi::IOInterface< CasADi::FX >* obj, int x0);
+CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output(CasADi::IOInterface< CasADi::FX >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->output(x0_) );
+}
+
+
+// ================== Normal method: "output'" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::output'"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___output_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC(CasADi::IOInterface< CasADi::FX >* obj)"
+// call: "obj->output()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC(CasADi::IOInterface< CasADi::FX >* obj);
+CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC(CasADi::IOInterface< CasADi::FX >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->output() );
+}
+
+
+// ================== Normal method: "output''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::output''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___output_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
+// call: "obj->output(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0);
+CasADi::Matrix< double >* CasADi__IOInterface_CasADi__FX___output_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->output(x0_) );
+}
+
+
+// ================== Normal method: "getNumInputs" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::getNumInputs"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___getNumInputs"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__IOInterface_CasADi__FX___getNumInputs(CasADi::IOInterface< CasADi::FX >* obj)"
+// call: "obj->getNumInputs()"
+extern "C"
+    int CasADi__IOInterface_CasADi__FX___getNumInputs(CasADi::IOInterface< CasADi::FX >* obj);
+int CasADi__IOInterface_CasADi__FX___getNumInputs(CasADi::IOInterface< CasADi::FX >* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getNumInputs() );
+}
+
+
+// ================== Normal method: "getNumOutputs" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::getNumOutputs"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___getNumOutputs"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__IOInterface_CasADi__FX___getNumOutputs(CasADi::IOInterface< CasADi::FX >* obj)"
+// call: "obj->getNumOutputs()"
+extern "C"
+    int CasADi__IOInterface_CasADi__FX___getNumOutputs(CasADi::IOInterface< CasADi::FX >* obj);
+int CasADi__IOInterface_CasADi__FX___getNumOutputs(CasADi::IOInterface< CasADi::FX >* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getNumOutputs() );
+}
+
+
+// ================== Normal method: "getInputScheme" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::getInputScheme"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___getInputScheme"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
+// args: "()"
+// rettype: CasadiClass IOScheme
+// cWrapperRetType: "CasADi::IOScheme*"
+// proto: "CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getInputScheme(CasADi::IOInterface< CasADi::FX >* obj)"
+// call: "obj->getInputScheme()"
+extern "C"
+    CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getInputScheme(CasADi::IOInterface< CasADi::FX >* obj);
+CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getInputScheme(CasADi::IOInterface< CasADi::FX >* obj){
+
+    return WrapReturn< CasADi::IOScheme*, CasADi::IOScheme >::wrapReturn( obj->getInputScheme() );
+}
+
+
+// ================== Normal method: "getOutputScheme" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::getOutputScheme"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___getOutputScheme"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj)"
+// args: "()"
+// rettype: CasadiClass IOScheme
+// cWrapperRetType: "CasADi::IOScheme*"
+// proto: "CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getOutputScheme(CasADi::IOInterface< CasADi::FX >* obj)"
+// call: "obj->getOutputScheme()"
+extern "C"
+    CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getOutputScheme(CasADi::IOInterface< CasADi::FX >* obj);
+CasADi::IOScheme* CasADi__IOInterface_CasADi__FX___getOutputScheme(CasADi::IOInterface< CasADi::FX >* obj){
+
+    return WrapReturn< CasADi::IOScheme*, CasADi::IOScheme >::wrapReturn( obj->getOutputScheme() );
+}
+
+
+// ================== Normal method: "inputSchemeEntry" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::inputSchemeEntry"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___inputSchemeEntry"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__IOInterface_CasADi__FX___inputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
+// call: "obj->inputSchemeEntry(x0_)"
+extern "C"
+    int CasADi__IOInterface_CasADi__FX___inputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0);
+int CasADi__IOInterface_CasADi__FX___inputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->inputSchemeEntry(x0_) );
+}
+
+
+// ================== Normal method: "outputSchemeEntry" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::outputSchemeEntry"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___outputSchemeEntry"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__IOInterface_CasADi__FX___outputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0)"
+// call: "obj->outputSchemeEntry(x0_)"
+extern "C"
+    int CasADi__IOInterface_CasADi__FX___outputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0);
+int CasADi__IOInterface_CasADi__FX___outputSchemeEntry(CasADi::IOInterface< CasADi::FX >* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->outputSchemeEntry(x0_) );
+}
+
+
+// ================== Normal method: "schemeEntry" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::schemeEntry"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___schemeEntry"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::IOScheme* x0, std::string* x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__IOInterface_CasADi__FX___schemeEntry(CasADi::IOInterface< CasADi::FX >* obj, CasADi::IOScheme* x0, std::string* x1, int x2)"
+// call: "obj->schemeEntry(x0_, x1_, x2_)"
+extern "C"
+    int CasADi__IOInterface_CasADi__FX___schemeEntry(CasADi::IOInterface< CasADi::FX >* obj, CasADi::IOScheme* x0, std::string* x1, int x2);
+int CasADi__IOInterface_CasADi__FX___schemeEntry(CasADi::IOInterface< CasADi::FX >* obj, CasADi::IOScheme* x0, std::string* x1, int x2){
+    CasADi::IOScheme const & x0_ = Marshaling<CasADi::IOScheme const &,CasADi::IOScheme*>::marshal(x0);
+    std::string const & x1_ = Marshaling<std::string const &,std::string*>::marshal(x1);
+    bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+    return WrapReturn< int, int >::wrapReturn( obj->schemeEntry(x0_, x1_, x2_) );
+}
+
+
+// ================== Normal method: "setInput" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setInput"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setInput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1)"
+// call: "obj->setInput(x0_, x1_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setInput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1);
+void CasADi__IOInterface_CasADi__FX___setInput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->setInput(x0_, x1_);
+}
+
+
+// ================== Normal method: "setInput'" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setInput'"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, double x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0)"
+// call: "obj->setInput(x0_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setInput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0);
+void CasADi__IOInterface_CasADi__FX___setInput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+
+    obj->setInput(x0_);
+}
+
+
+// ================== Normal method: "setOutput" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setOutput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1)"
+// call: "obj->setOutput(x0_, x1_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setOutput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1);
+void CasADi__IOInterface_CasADi__FX___setOutput(CasADi::IOInterface< CasADi::FX >* obj, double x0, int x1){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->setOutput(x0_, x1_);
+}
+
+
+// ================== Normal method: "setOutput'" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput'"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, double x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0)"
+// call: "obj->setOutput(x0_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setOutput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0);
+void CasADi__IOInterface_CasADi__FX___setOutput_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+
+    obj->setOutput(x0_);
+}
+
+
+// ================== Normal method: "setOutput''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, double x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0, std::string* x1)"
+// call: "obj->setOutput(x0_, x1_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0, std::string* x1);
+void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, double x0, std::string* x1){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+    std::string const & x1_ = Marshaling<std::string const &,std::string*>::marshal(x1);
+
+    obj->setOutput(x0_, x1_);
+}
+
+
+// ================== Normal method: "setInput'''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setInput'''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, int x1)"
+// call: "obj->setInput(x0_, x1_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, int x1);
+void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, int x1){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->setInput(x0_, x1_);
+}
+
+
+// ================== Normal method: "setInput''''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setInput''''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0)"
+// call: "obj->setInput(x0_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0);
+void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    obj->setInput(x0_);
+}
+
+
+// ================== Normal method: "setOutput'''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput'''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, int x1)"
+// call: "obj->setOutput(x0_, x1_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, int x1);
+void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, int x1){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->setOutput(x0_, x1_);
+}
+
+
+// ================== Normal method: "setOutput''''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput''''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0)"
+// call: "obj->setOutput(x0_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0);
+void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    obj->setOutput(x0_);
+}
+
+
+// ================== Normal method: "setInput'''''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setInput'''''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, std::string* x1)"
+// call: "obj->setInput(x0_, x1_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, std::string* x1);
+void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, std::string* x1){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+    std::string const & x1_ = Marshaling<std::string const &,std::string*>::marshal(x1);
+
+    obj->setInput(x0_, x1_);
+}
+
+
+// ================== Normal method: "setOutput'''''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput'''''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, std::string* x1)"
+// call: "obj->setOutput(x0_, x1_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, std::string* x1);
+void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, std::vector< double >* x0, std::string* x1){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+    std::string const & x1_ = Marshaling<std::string const &,std::string*>::marshal(x1);
+
+    obj->setOutput(x0_, x1_);
+}
+
+
+// ================== Normal method: "setInput''''''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setInput''''''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1)"
+// call: "obj->setInput(x0_, x1_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1);
+void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->setInput(x0_, x1_);
+}
+
+
+// ================== Normal method: "setInput'''''''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setInput'''''''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->setInput(x0_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0);
+void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    obj->setInput(x0_);
+}
+
+
+// ================== Normal method: "setOutput''''''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput''''''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1)"
+// call: "obj->setOutput(x0_, x1_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1);
+void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, int x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->setOutput(x0_, x1_);
+}
+
+
+// ================== Normal method: "setOutput'''''''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput'''''''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->setOutput(x0_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0);
+void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    obj->setOutput(x0_);
+}
+
+
+// ================== Normal method: "setInput''''''''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setInput''''''''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1)"
+// call: "obj->setInput(x0_, x1_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1);
+void CasADi__IOInterface_CasADi__FX___setInput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    std::string const & x1_ = Marshaling<std::string const &,std::string*>::marshal(x1);
+
+    obj->setInput(x0_, x1_);
+}
+
+
+// ================== Normal method: "setOutput''''''''" ===============
+// class: "CasADi::IOInterface< CasADi::FX >"
+// cppName: "CasADi::IOInterface< CasADi::FX >::setOutput''''''''"
+// cWrapperName: "CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1)"
+// call: "obj->setOutput(x0_, x1_)"
+extern "C"
+    void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1);
+void CasADi__IOInterface_CasADi__FX___setOutput_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::IOInterface< CasADi::FX >* obj, CasADi::Matrix< double >* x0, std::string* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    std::string const & x1_ = Marshaling<std::string const &,std::string*>::marshal(x1);
+
+    obj->setOutput(x0_, x1_);
+}
+
+
+// ================== delete CasadiClass OptionsFunctionality===============
+// classType: CasadiClass OptionsFunctionality
+extern "C"
+    void delete_CasADi__OptionsFunctionality(CasADi::OptionsFunctionality* obj);
+void delete_CasADi__OptionsFunctionality(CasADi::OptionsFunctionality* obj){
+    delete obj;
+}
+
+// ================== Normal method: "setOption" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::setOption"
+// cWrapperName: "CasADi__OptionsFunctionality__setOption"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0, CasADi::GenericType* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__OptionsFunctionality__setOption(CasADi::OptionsFunctionality* obj, std::string* x0, CasADi::GenericType* x1)"
+// call: "obj->setOption(x0_, x1_)"
+extern "C"
+    void CasADi__OptionsFunctionality__setOption(CasADi::OptionsFunctionality* obj, std::string* x0, CasADi::GenericType* x1);
+void CasADi__OptionsFunctionality__setOption(CasADi::OptionsFunctionality* obj, std::string* x0, CasADi::GenericType* x1){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    CasADi::GenericType const & x1_ = Marshaling<CasADi::GenericType const &,CasADi::GenericType*>::marshal(x1);
+
+    obj->setOption(x0_, x1_);
+}
+
+
+// ================== Normal method: "getOption" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::getOption"
+// cWrapperName: "CasADi__OptionsFunctionality__getOption"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__OptionsFunctionality__getOption(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// call: "obj->getOption(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__OptionsFunctionality__getOption(CasADi::OptionsFunctionality* obj, std::string* x0);
+CasADi::GenericType* CasADi__OptionsFunctionality__getOption(CasADi::OptionsFunctionality* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( obj->getOption(x0_) );
+}
+
+
+// ================== Normal method: "hasOption" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::hasOption"
+// cWrapperName: "CasADi__OptionsFunctionality__hasOption"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__OptionsFunctionality__hasOption(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// call: "obj->hasOption(x0_)"
+extern "C"
+    int CasADi__OptionsFunctionality__hasOption(CasADi::OptionsFunctionality* obj, std::string* x0);
+int CasADi__OptionsFunctionality__hasOption(CasADi::OptionsFunctionality* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->hasOption(x0_) );
+}
+
+
+// ================== Normal method: "hasSetOption" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::hasSetOption"
+// cWrapperName: "CasADi__OptionsFunctionality__hasSetOption"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__OptionsFunctionality__hasSetOption(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// call: "obj->hasSetOption(x0_)"
+extern "C"
+    int CasADi__OptionsFunctionality__hasSetOption(CasADi::OptionsFunctionality* obj, std::string* x0);
+int CasADi__OptionsFunctionality__hasSetOption(CasADi::OptionsFunctionality* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->hasSetOption(x0_) );
+}
+
+
+// ================== Normal method: "printOptions'" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::printOptions'"
+// cWrapperName: "CasADi__OptionsFunctionality__printOptions_TIC"
+// protoArgs: "(CasADi::OptionsFunctionality* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__OptionsFunctionality__printOptions_TIC(CasADi::OptionsFunctionality* obj)"
+// call: "obj->printOptions()"
+extern "C"
+    void CasADi__OptionsFunctionality__printOptions_TIC(CasADi::OptionsFunctionality* obj);
+void CasADi__OptionsFunctionality__printOptions_TIC(CasADi::OptionsFunctionality* obj){
+
+    obj->printOptions();
+}
+
+
+// ================== Normal method: "copyOptions" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::copyOptions"
+// cWrapperName: "CasADi__OptionsFunctionality__copyOptions"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__OptionsFunctionality__copyOptions(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0, int x1)"
+// call: "obj->copyOptions(x0_, x1_)"
+extern "C"
+    void CasADi__OptionsFunctionality__copyOptions(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0, int x1);
+void CasADi__OptionsFunctionality__copyOptions(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0, int x1){
+    CasADi::OptionsFunctionality const & x0_ = Marshaling<CasADi::OptionsFunctionality const &,CasADi::OptionsFunctionality*>::marshal(x0);
+    bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+    obj->copyOptions(x0_, x1_);
+}
+
+
+// ================== Normal method: "copyOptions'" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::copyOptions'"
+// cWrapperName: "CasADi__OptionsFunctionality__copyOptions_TIC"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__OptionsFunctionality__copyOptions_TIC(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0)"
+// call: "obj->copyOptions(x0_)"
+extern "C"
+    void CasADi__OptionsFunctionality__copyOptions_TIC(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0);
+void CasADi__OptionsFunctionality__copyOptions_TIC(CasADi::OptionsFunctionality* obj, CasADi::OptionsFunctionality* x0){
+    CasADi::OptionsFunctionality const & x0_ = Marshaling<CasADi::OptionsFunctionality const &,CasADi::OptionsFunctionality*>::marshal(x0);
+
+    obj->copyOptions(x0_);
+}
+
+
+// ================== Normal method: "checkNode" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::checkNode"
+// cWrapperName: "CasADi__OptionsFunctionality__checkNode"
+// protoArgs: "(CasADi::OptionsFunctionality* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__OptionsFunctionality__checkNode(CasADi::OptionsFunctionality* obj)"
+// call: "obj->checkNode()"
+extern "C"
+    int CasADi__OptionsFunctionality__checkNode(CasADi::OptionsFunctionality* obj);
+int CasADi__OptionsFunctionality__checkNode(CasADi::OptionsFunctionality* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->checkNode() );
+}
+
+
+// ================== Normal method: "getOptionNames" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::getOptionNames"
+// cWrapperName: "CasADi__OptionsFunctionality__getOptionNames"
+// protoArgs: "(CasADi::OptionsFunctionality* obj)"
+// args: "()"
+// rettype: StdVec StdString
+// cWrapperRetType: "std::vector< std::string* >*"
+// proto: "std::vector< std::string* >* CasADi__OptionsFunctionality__getOptionNames(CasADi::OptionsFunctionality* obj)"
+// call: "obj->getOptionNames()"
+extern "C"
+    std::vector< std::string* >* CasADi__OptionsFunctionality__getOptionNames(CasADi::OptionsFunctionality* obj);
+std::vector< std::string* >* CasADi__OptionsFunctionality__getOptionNames(CasADi::OptionsFunctionality* obj){
+
+    return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( obj->getOptionNames() );
+}
+
+
+// ================== Normal method: "getOptionDescription" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::getOptionDescription"
+// cWrapperName: "CasADi__OptionsFunctionality__getOptionDescription"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__OptionsFunctionality__getOptionDescription(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// call: "obj->getOptionDescription(x0_)"
+extern "C"
+    std::string* CasADi__OptionsFunctionality__getOptionDescription(CasADi::OptionsFunctionality* obj, std::string* x0);
+std::string* CasADi__OptionsFunctionality__getOptionDescription(CasADi::OptionsFunctionality* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->getOptionDescription(x0_) );
+}
+
+
+// ================== Normal method: "getOptionType" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::getOptionType"
+// cWrapperName: "CasADi__OptionsFunctionality__getOptionType"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CasadiEnum Opt_type
+// cWrapperRetType: "CasADi::opt_type"
+// proto: "CasADi::opt_type CasADi__OptionsFunctionality__getOptionType(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// call: "obj->getOptionType(x0_)"
+extern "C"
+    CasADi::opt_type CasADi__OptionsFunctionality__getOptionType(CasADi::OptionsFunctionality* obj, std::string* x0);
+CasADi::opt_type CasADi__OptionsFunctionality__getOptionType(CasADi::OptionsFunctionality* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::opt_type, CasADi::opt_type >::wrapReturn( obj->getOptionType(x0_) );
+}
+
+
+// ================== Normal method: "getOptionTypeName" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::getOptionTypeName"
+// cWrapperName: "CasADi__OptionsFunctionality__getOptionTypeName"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__OptionsFunctionality__getOptionTypeName(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// call: "obj->getOptionTypeName(x0_)"
+extern "C"
+    std::string* CasADi__OptionsFunctionality__getOptionTypeName(CasADi::OptionsFunctionality* obj, std::string* x0);
+std::string* CasADi__OptionsFunctionality__getOptionTypeName(CasADi::OptionsFunctionality* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->getOptionTypeName(x0_) );
+}
+
+
+// ================== Normal method: "getOptionAllowed" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::getOptionAllowed"
+// cWrapperName: "CasADi__OptionsFunctionality__getOptionAllowed"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: StdVec (CasadiClass GenericType)
+// cWrapperRetType: "std::vector< CasADi::GenericType* >*"
+// proto: "std::vector< CasADi::GenericType* >* CasADi__OptionsFunctionality__getOptionAllowed(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// call: "obj->getOptionAllowed(x0_)"
+extern "C"
+    std::vector< CasADi::GenericType* >* CasADi__OptionsFunctionality__getOptionAllowed(CasADi::OptionsFunctionality* obj, std::string* x0);
+std::vector< CasADi::GenericType* >* CasADi__OptionsFunctionality__getOptionAllowed(CasADi::OptionsFunctionality* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::GenericType* >*, std::vector< CasADi::GenericType > >::wrapReturn( obj->getOptionAllowed(x0_) );
+}
+
+
+// ================== Normal method: "getOptionAllowedIndex" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::getOptionAllowedIndex"
+// cWrapperName: "CasADi__OptionsFunctionality__getOptionAllowedIndex"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__OptionsFunctionality__getOptionAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// call: "obj->getOptionAllowedIndex(x0_)"
+extern "C"
+    int CasADi__OptionsFunctionality__getOptionAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0);
+int CasADi__OptionsFunctionality__getOptionAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->getOptionAllowedIndex(x0_) );
+}
+
+
+// ================== Normal method: "setOptionByAllowedIndex" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::setOptionByAllowedIndex"
+// cWrapperName: "CasADi__OptionsFunctionality__setOptionByAllowedIndex"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__OptionsFunctionality__setOptionByAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0, int x1)"
+// call: "obj->setOptionByAllowedIndex(x0_, x1_)"
+extern "C"
+    void CasADi__OptionsFunctionality__setOptionByAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0, int x1);
+void CasADi__OptionsFunctionality__setOptionByAllowedIndex(CasADi::OptionsFunctionality* obj, std::string* x0, int x1){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->setOptionByAllowedIndex(x0_, x1_);
+}
+
+
+// ================== Normal method: "getOptionEnumValue" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::getOptionEnumValue"
+// cWrapperName: "CasADi__OptionsFunctionality__getOptionEnumValue"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__OptionsFunctionality__getOptionEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// call: "obj->getOptionEnumValue(x0_)"
+extern "C"
+    int CasADi__OptionsFunctionality__getOptionEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0);
+int CasADi__OptionsFunctionality__getOptionEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->getOptionEnumValue(x0_) );
+}
+
+
+// ================== Normal method: "setOptionByEnumValue" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::setOptionByEnumValue"
+// cWrapperName: "CasADi__OptionsFunctionality__setOptionByEnumValue"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__OptionsFunctionality__setOptionByEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0, int x1)"
+// call: "obj->setOptionByEnumValue(x0_, x1_)"
+extern "C"
+    void CasADi__OptionsFunctionality__setOptionByEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0, int x1);
+void CasADi__OptionsFunctionality__setOptionByEnumValue(CasADi::OptionsFunctionality* obj, std::string* x0, int x1){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->setOptionByEnumValue(x0_, x1_);
+}
+
+
+// ================== Normal method: "getOptionDefault" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality::getOptionDefault"
+// cWrapperName: "CasADi__OptionsFunctionality__getOptionDefault"
+// protoArgs: "(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass GenericType
+// cWrapperRetType: "CasADi::GenericType*"
+// proto: "CasADi::GenericType* CasADi__OptionsFunctionality__getOptionDefault(CasADi::OptionsFunctionality* obj, std::string* x0)"
+// call: "obj->getOptionDefault(x0_)"
+extern "C"
+    CasADi::GenericType* CasADi__OptionsFunctionality__getOptionDefault(CasADi::OptionsFunctionality* obj, std::string* x0);
+CasADi::GenericType* CasADi__OptionsFunctionality__getOptionDefault(CasADi::OptionsFunctionality* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::GenericType*, CasADi::GenericType >::wrapReturn( obj->getOptionDefault(x0_) );
+}
+
+
+// ================== Constructor method: "OptionsFunctionality" ===============
+// class: "CasADi::OptionsFunctionality"
+// cppName: "CasADi::OptionsFunctionality"
+// cWrapperName: "CasADi__OptionsFunctionality__OptionsFunctionality"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass OptionsFunctionality
+// cWrapperRetType: "CasADi::OptionsFunctionality*"
+// proto: "CasADi::OptionsFunctionality* CasADi__OptionsFunctionality__OptionsFunctionality()"
+// call: "CasADi::OptionsFunctionality()"
+extern "C"
+    CasADi::OptionsFunctionality* CasADi__OptionsFunctionality__OptionsFunctionality();
+CasADi::OptionsFunctionality* CasADi__OptionsFunctionality__OptionsFunctionality(){
+
+    return WrapReturn< CasADi::OptionsFunctionality*, CasADi::OptionsFunctionality >::wrapReturn( CasADi::OptionsFunctionality() );
+}
+
+
+// ================== delete CasadiClass IpoptSolver===============
+// classType: CasadiClass IpoptSolver
+extern "C"
+    void delete_CasADi__IpoptSolver(CasADi::IpoptSolver* obj);
+void delete_CasADi__IpoptSolver(CasADi::IpoptSolver* obj){
+    delete obj;
+}
+
+// ================== Normal method: "getReducedHessian" ===============
+// class: "CasADi::IpoptSolver"
+// cppName: "CasADi::IpoptSolver::getReducedHessian"
+// cWrapperName: "CasADi__IpoptSolver__getReducedHessian"
+// protoArgs: "(CasADi::IpoptSolver* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__IpoptSolver__getReducedHessian(CasADi::IpoptSolver* obj)"
+// call: "obj->getReducedHessian()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__IpoptSolver__getReducedHessian(CasADi::IpoptSolver* obj);
+CasADi::Matrix< double >* CasADi__IpoptSolver__getReducedHessian(CasADi::IpoptSolver* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->getReducedHessian() );
+}
+
+
+// ================== Normal method: "checkNode" ===============
+// class: "CasADi::IpoptSolver"
+// cppName: "CasADi::IpoptSolver::checkNode"
+// cWrapperName: "CasADi__IpoptSolver__checkNode"
+// protoArgs: "(CasADi::IpoptSolver* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__IpoptSolver__checkNode(CasADi::IpoptSolver* obj)"
+// call: "obj->checkNode()"
+extern "C"
+    int CasADi__IpoptSolver__checkNode(CasADi::IpoptSolver* obj);
+int CasADi__IpoptSolver__checkNode(CasADi::IpoptSolver* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->checkNode() );
+}
+
+
+// ================== Constructor method: "IpoptSolver" ===============
+// class: "CasADi::IpoptSolver"
+// cppName: "CasADi::IpoptSolver"
+// cWrapperName: "CasADi__IpoptSolver__IpoptSolver"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass IpoptSolver
+// cWrapperRetType: "CasADi::IpoptSolver*"
+// proto: "CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver()"
+// call: "CasADi::IpoptSolver()"
+extern "C"
+    CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver();
+CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver(){
+
+    return WrapReturn< CasADi::IpoptSolver*, CasADi::IpoptSolver >::wrapReturn( CasADi::IpoptSolver() );
+}
+
+
+// ================== Constructor method: "IpoptSolver'" ===============
+// class: "CasADi::IpoptSolver"
+// cppName: "CasADi::IpoptSolver"
+// cWrapperName: "CasADi__IpoptSolver__IpoptSolver_TIC"
+// protoArgs: "(CasADi::FX* x0, CasADi::FX* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass IpoptSolver
+// cWrapperRetType: "CasADi::IpoptSolver*"
+// proto: "CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC(CasADi::FX* x0, CasADi::FX* x1)"
+// call: "CasADi::IpoptSolver(x0_, x1_)"
+extern "C"
+    CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC(CasADi::FX* x0, CasADi::FX* x1);
+CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC(CasADi::FX* x0, CasADi::FX* x1){
+    CasADi::FX const & x0_ = Marshaling<CasADi::FX const &,CasADi::FX*>::marshal(x0);
+    CasADi::FX const & x1_ = Marshaling<CasADi::FX const &,CasADi::FX*>::marshal(x1);
+
+    return WrapReturn< CasADi::IpoptSolver*, CasADi::IpoptSolver >::wrapReturn( CasADi::IpoptSolver(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "IpoptSolver''" ===============
+// class: "CasADi::IpoptSolver"
+// cppName: "CasADi::IpoptSolver"
+// cWrapperName: "CasADi__IpoptSolver__IpoptSolver_TIC_TIC"
+// protoArgs: "(CasADi::FX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass IpoptSolver
+// cWrapperRetType: "CasADi::IpoptSolver*"
+// proto: "CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC_TIC(CasADi::FX* x0)"
+// call: "CasADi::IpoptSolver(x0_)"
+extern "C"
+    CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC_TIC(CasADi::FX* x0);
+CasADi::IpoptSolver* CasADi__IpoptSolver__IpoptSolver_TIC_TIC(CasADi::FX* x0){
+    CasADi::FX const & x0_ = Marshaling<CasADi::FX const &,CasADi::FX*>::marshal(x0);
+
+    return WrapReturn< CasADi::IpoptSolver*, CasADi::IpoptSolver >::wrapReturn( CasADi::IpoptSolver(x0_) );
+}
+
+
+// ================== delete CasadiClass SXMatrix===============
+// classType: CasadiClass SXMatrix
+extern "C"
+    void delete_CasADi__Matrix_CasADi__SX_(CasADi::Matrix< CasADi::SX >* obj);
+void delete_CasADi__Matrix_CasADi__SX_(CasADi::Matrix< CasADi::SX >* obj){
+    delete obj;
+}
+
+// ================== Normal method: "size1" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::size1"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___size1"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_CasADi__SX___size1(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->size1()"
+extern "C"
+    int CasADi__Matrix_CasADi__SX___size1(CasADi::Matrix< CasADi::SX >* obj);
+int CasADi__Matrix_CasADi__SX___size1(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size1() );
+}
+
+
+// ================== Normal method: "size2" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::size2"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___size2"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_CasADi__SX___size2(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->size2()"
+extern "C"
+    int CasADi__Matrix_CasADi__SX___size2(CasADi::Matrix< CasADi::SX >* obj);
+int CasADi__Matrix_CasADi__SX___size2(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size2() );
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::size"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___size"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_CasADi__SX___size(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->size()"
+extern "C"
+    int CasADi__Matrix_CasADi__SX___size(CasADi::Matrix< CasADi::SX >* obj);
+int CasADi__Matrix_CasADi__SX___size(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size() );
+}
+
+
+// ================== Normal method: "numel" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::numel"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___numel"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_CasADi__SX___numel(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->numel()"
+extern "C"
+    int CasADi__Matrix_CasADi__SX___numel(CasADi::Matrix< CasADi::SX >* obj);
+int CasADi__Matrix_CasADi__SX___numel(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->numel() );
+}
+
+
+// ================== Normal method: "sanityCheck" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::sanityCheck"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___sanityCheck"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___sanityCheck(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// call: "obj->sanityCheck(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___sanityCheck(CasADi::Matrix< CasADi::SX >* obj, int x0);
+void CasADi__Matrix_CasADi__SX___sanityCheck(CasADi::Matrix< CasADi::SX >* obj, int x0){
+    bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+    obj->sanityCheck(x0_);
+}
+
+
+// ================== Normal method: "sanityCheck'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::sanityCheck'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___sanityCheck_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___sanityCheck_TIC(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->sanityCheck()"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___sanityCheck_TIC(CasADi::Matrix< CasADi::SX >* obj);
+void CasADi__Matrix_CasADi__SX___sanityCheck_TIC(CasADi::Matrix< CasADi::SX >* obj){
+
+    obj->sanityCheck();
+}
+
+
+// ================== Normal method: "vector" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::vector"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___vector"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_CasADi__SX___vector(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->vector()"
+extern "C"
+    int CasADi__Matrix_CasADi__SX___vector(CasADi::Matrix< CasADi::SX >* obj);
+int CasADi__Matrix_CasADi__SX___vector(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->vector() );
+}
+
+
+// ================== Normal method: "at" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::at"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___at"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__Matrix_CasADi__SX___at(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// call: "obj->at(x0_)"
+extern "C"
+    CasADi::SX* CasADi__Matrix_CasADi__SX___at(CasADi::Matrix< CasADi::SX >* obj, int x0);
+CasADi::SX* CasADi__Matrix_CasADi__SX___at(CasADi::Matrix< CasADi::SX >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->at(x0_) );
+}
+
+
+// ================== Normal method: "elem" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::elem"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___elem"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__Matrix_CasADi__SX___elem(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
+// call: "obj->elem(x0_, x1_)"
+extern "C"
+    CasADi::SX* CasADi__Matrix_CasADi__SX___elem(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1);
+CasADi::SX* CasADi__Matrix_CasADi__SX___elem(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->elem(x0_, x1_) );
+}
+
+
+// ================== Normal method: "elem'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::elem'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___elem_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__Matrix_CasADi__SX___elem_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// call: "obj->elem(x0_)"
+extern "C"
+    CasADi::SX* CasADi__Matrix_CasADi__SX___elem_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0);
+CasADi::SX* CasADi__Matrix_CasADi__SX___elem_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->elem(x0_) );
+}
+
+
+// ================== Normal method: "hasNZ" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::hasNZ"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___hasNZ"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_CasADi__SX___hasNZ(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
+// call: "obj->hasNZ(x0_, x1_)"
+extern "C"
+    int CasADi__Matrix_CasADi__SX___hasNZ(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1);
+int CasADi__Matrix_CasADi__SX___hasNZ(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->hasNZ(x0_, x1_) );
+}
+
+
+// ================== Normal method: "__nonzero__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__nonzero__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____nonzero__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_CasADi__SX_____nonzero__(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->__nonzero__()"
+extern "C"
+    int CasADi__Matrix_CasADi__SX_____nonzero__(CasADi::Matrix< CasADi::SX >* obj);
+int CasADi__Matrix_CasADi__SX_____nonzero__(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->__nonzero__() );
+}
+
+
+// ================== Normal method: "append" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::append"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___append"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___append(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->append(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___append(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+void CasADi__Matrix_CasADi__SX___append(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    obj->append(x0_);
+}
+
+
+// ================== Normal method: "operator +" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::operator +"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___operator_plus"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_plus(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->operator +()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_plus(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_plus(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->operator +() );
+}
+
+
+// ================== Normal method: "operator -" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::operator -"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___operator_minus"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_minus(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->operator -()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_minus(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___operator_minus(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->operator -() );
+}
+
+
+// ================== Static method: "binary" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::binary"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___binary"
+// protoArgs: "(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___binary(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::Matrix< CasADi::SX >::binary(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___binary(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___binary(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::binary(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "unary" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::unary"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___unary"
+// protoArgs: "(int x0, CasADi::Matrix< CasADi::SX >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___unary(int x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::Matrix< CasADi::SX >::unary(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___unary(int x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___unary(int x0, CasADi::Matrix< CasADi::SX >* x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::unary(x0_, x1_) );
+}
+
+
+// ================== Static method: "scalar_matrix" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::scalar_matrix"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___scalar_matrix"
+// protoArgs: "(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___scalar_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::Matrix< CasADi::SX >::scalar_matrix(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___scalar_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___scalar_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::scalar_matrix(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "matrix_scalar" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::matrix_scalar"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___matrix_scalar"
+// protoArgs: "(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_scalar(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::Matrix< CasADi::SX >::matrix_scalar(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_scalar(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_scalar(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::matrix_scalar(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "matrix_matrix" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::matrix_matrix"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___matrix_matrix"
+// protoArgs: "(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::Matrix< CasADi::SX >::matrix_matrix(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___matrix_matrix(int x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::matrix_matrix(x0_, x1_, x2_) );
+}
+
+
+// ================== Normal method: "__add__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__add__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____add__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____add__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__add__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____add__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____add__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__add__(x0_) );
+}
+
+
+// ================== Normal method: "__sub__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__sub__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____sub__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____sub__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__sub__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____sub__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____sub__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__sub__(x0_) );
+}
+
+
+// ================== Normal method: "__mul__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__mul__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____mul__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mul__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__mul__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mul__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mul__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__mul__(x0_) );
+}
+
+
+// ================== Normal method: "__div__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__div__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____div__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____div__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__div__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____div__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____div__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__div__(x0_) );
+}
+
+
+// ================== Normal method: "__lt__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__lt__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____lt__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____lt__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__lt__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____lt__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____lt__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__lt__(x0_) );
+}
+
+
+// ================== Normal method: "__le__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__le__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____le__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____le__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__le__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____le__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____le__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__le__(x0_) );
+}
+
+
+// ================== Normal method: "__eq__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__eq__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____eq__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____eq__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__eq__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____eq__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____eq__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__eq__(x0_) );
+}
+
+
+// ================== Normal method: "__ne__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__ne__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____ne__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____ne__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__ne__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____ne__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____ne__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__ne__(x0_) );
+}
+
+
+// ================== Normal method: "__truediv__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__truediv__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____truediv__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____truediv__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__truediv__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____truediv__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____truediv__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__truediv__(x0_) );
+}
+
+
+// ================== Normal method: "__pow__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__pow__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____pow__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____pow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__pow__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____pow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____pow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__pow__(x0_) );
+}
+
+
+// ================== Normal method: "__constpow__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__constpow__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____constpow__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____constpow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__constpow__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____constpow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____constpow__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__constpow__(x0_) );
+}
+
+
+// ================== Normal method: "__mpower__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__mpower__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____mpower__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mpower__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__mpower__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mpower__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mpower__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__mpower__(x0_) );
+}
+
+
+// ================== Normal method: "__mrdivide__" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::__mrdivide__"
+// cWrapperName: "CasADi__Matrix_CasADi__SX_____mrdivide__"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mrdivide__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->__mrdivide__(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mrdivide__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX_____mrdivide__(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->__mrdivide__(x0_) );
+}
+
+
+// ================== Normal method: "mul_full" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::mul_full"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_full"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
+// call: "obj->mul_full(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->mul_full(x0_, x1_) );
+}
+
+
+// ================== Normal method: "mul_full'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::mul_full'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_full_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->mul_full(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_full_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->mul_full(x0_) );
+}
+
+
+// ================== Normal method: "mul" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::mul"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___mul"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
+// call: "obj->mul(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->mul(x0_, x1_) );
+}
+
+
+// ================== Normal method: "mul'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::mul'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->mul(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___mul_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->mul(x0_) );
+}
+
+
+// ================== Static method: "mul_no_alloc_nn" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_no_alloc_nn"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX >& x2_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn(x0_, x1_, x2_);
+}
+
+
+// ================== Static method: "mul_no_alloc_nt" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nt"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_no_alloc_nt"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___mul_no_alloc_nt(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nt(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___mul_no_alloc_nt(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+void CasADi__Matrix_CasADi__SX___mul_no_alloc_nt(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX >& x2_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    CasADi::Matrix< CasADi::SX >::mul_no_alloc_nt(x0_, x1_, x2_);
+}
+
+
+// ================== Static method: "mul_no_alloc_tn" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_no_alloc_tn"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX >& x2_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn(x0_, x1_, x2_);
+}
+
+
+// ================== Static method: "mul_no_alloc_nn'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_no_alloc_nn_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2)"
+// call: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2);
+void CasADi__Matrix_CasADi__SX___mul_no_alloc_nn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    std::vector< CasADi::SX > x1_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x1);
+    std::vector< CasADi::SX > x2_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x2);
+
+    CasADi::Matrix< CasADi::SX >::mul_no_alloc_nn(x0_, x1_, x2_);
+}
+
+
+// ================== Static method: "mul_no_alloc_tn'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___mul_no_alloc_tn_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2)"
+// call: "CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2);
+void CasADi__Matrix_CasADi__SX___mul_no_alloc_tn_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    std::vector< CasADi::SX > x1_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x1);
+    std::vector< CasADi::SX > x2_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x2);
+
+    CasADi::Matrix< CasADi::SX >::mul_no_alloc_tn(x0_, x1_, x2_);
+}
+
+
+// ================== Static method: "quad_form" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::quad_form"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___quad_form"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__Matrix_CasADi__SX___quad_form(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1)"
+// call: "CasADi::Matrix< CasADi::SX >::quad_form(x0_, x1_)"
+extern "C"
+    CasADi::SX* CasADi__Matrix_CasADi__SX___quad_form(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1);
+CasADi::SX* CasADi__Matrix_CasADi__SX___quad_form(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    std::vector< CasADi::SX > x1_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x1);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::Matrix< CasADi::SX >::quad_form(x0_, x1_) );
+}
+
+
+// ================== Normal method: "trans" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::trans"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___trans"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___trans(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->trans()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___trans(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___trans(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->trans() );
+}
+
+
+// ================== Normal method: "sin" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::sin"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___sin"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sin(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->sin()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sin(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sin(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->sin() );
+}
+
+
+// ================== Normal method: "cos" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::cos"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___cos"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cos(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->cos()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cos(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cos(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->cos() );
+}
+
+
+// ================== Normal method: "tan" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::tan"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___tan"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tan(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->tan()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tan(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tan(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->tan() );
+}
+
+
+// ================== Normal method: "arcsin" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::arcsin"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___arcsin"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsin(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->arcsin()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsin(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsin(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->arcsin() );
+}
+
+
+// ================== Normal method: "arccos" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::arccos"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___arccos"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccos(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->arccos()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccos(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccos(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->arccos() );
+}
+
+
+// ================== Normal method: "arctan" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::arctan"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___arctan"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->arctan()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->arctan() );
+}
+
+
+// ================== Normal method: "exp" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::exp"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___exp"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___exp(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->exp()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___exp(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___exp(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->exp() );
+}
+
+
+// ================== Normal method: "log" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::log"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___log"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->log()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->log() );
+}
+
+
+// ================== Normal method: "sqrt" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::sqrt"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___sqrt"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sqrt(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->sqrt()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sqrt(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sqrt(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->sqrt() );
+}
+
+
+// ================== Normal method: "floor" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::floor"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___floor"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___floor(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->floor()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___floor(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___floor(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->floor() );
+}
+
+
+// ================== Normal method: "ceil" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::ceil"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___ceil"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ceil(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->ceil()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ceil(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ceil(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->ceil() );
+}
+
+
+// ================== Normal method: "fabs" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::fabs"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___fabs"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fabs(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->fabs()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fabs(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fabs(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->fabs() );
+}
+
+
+// ================== Normal method: "sign" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::sign"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___sign"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sign(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->sign()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sign(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sign(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->sign() );
+}
+
+
+// ================== Normal method: "erfinv" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::erfinv"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___erfinv"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erfinv(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->erfinv()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erfinv(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erfinv(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->erfinv() );
+}
+
+
+// ================== Normal method: "fmin" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::fmin"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___fmin"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmin(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->fmin(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmin(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmin(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->fmin(x0_) );
+}
+
+
+// ================== Normal method: "fmax" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::fmax"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___fmax"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmax(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->fmax(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmax(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___fmax(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->fmax(x0_) );
+}
+
+
+// ================== Normal method: "erf" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::erf"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___erf"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erf(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->erf()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erf(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___erf(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->erf() );
+}
+
+
+// ================== Normal method: "sinh" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::sinh"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___sinh"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sinh(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->sinh()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sinh(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sinh(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->sinh() );
+}
+
+
+// ================== Normal method: "cosh" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::cosh"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___cosh"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cosh(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->cosh()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cosh(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___cosh(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->cosh() );
+}
+
+
+// ================== Normal method: "tanh" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::tanh"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___tanh"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tanh(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->tanh()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tanh(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___tanh(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->tanh() );
+}
+
+
+// ================== Normal method: "arcsinh" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::arcsinh"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___arcsinh"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsinh(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->arcsinh()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsinh(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arcsinh(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->arcsinh() );
+}
+
+
+// ================== Normal method: "arccosh" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::arccosh"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___arccosh"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccosh(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->arccosh()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccosh(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arccosh(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->arccosh() );
+}
+
+
+// ================== Normal method: "arctanh" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::arctanh"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___arctanh"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctanh(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->arctanh()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctanh(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctanh(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->arctanh() );
+}
+
+
+// ================== Normal method: "arctan2" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::arctan2"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___arctan2"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan2(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->arctan2(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan2(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___arctan2(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->arctan2(x0_) );
+}
+
+
+// ================== Normal method: "log10" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::log10"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___log10"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log10(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->log10()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log10(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___log10(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->log10() );
+}
+
+
+// ================== Normal method: "printme" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::printme"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___printme"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___printme(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->printme(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___printme(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___printme(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->printme(x0_) );
+}
+
+
+// ================== Normal method: "logic_not" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::logic_not"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___logic_not"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_not(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->logic_not()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_not(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_not(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->logic_not() );
+}
+
+
+// ================== Normal method: "logic_and" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::logic_and"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___logic_and"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_and(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->logic_and(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_and(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_and(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->logic_and(x0_) );
+}
+
+
+// ================== Normal method: "logic_or" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::logic_or"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___logic_or"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_or(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->logic_or(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_or(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___logic_or(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->logic_or(x0_) );
+}
+
+
+// ================== Normal method: "if_else_zero" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::if_else_zero"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___if_else_zero"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___if_else_zero(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->if_else_zero(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___if_else_zero(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___if_else_zero(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->if_else_zero(x0_) );
+}
+
+
+// ================== Static method: "className" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::className"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___className"
+// protoArgs: "()"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__Matrix_CasADi__SX___className()"
+// call: "CasADi::Matrix< CasADi::SX >::className()"
+extern "C"
+    std::string* CasADi__Matrix_CasADi__SX___className();
+std::string* CasADi__Matrix_CasADi__SX___className(){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::Matrix< CasADi::SX >::className() );
+}
+
+
+// ================== Normal method: "printScalar'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::printScalar'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___printScalar_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___printScalar_TIC(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->printScalar()"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___printScalar_TIC(CasADi::Matrix< CasADi::SX >* obj);
+void CasADi__Matrix_CasADi__SX___printScalar_TIC(CasADi::Matrix< CasADi::SX >* obj){
+
+    obj->printScalar();
+}
+
+
+// ================== Normal method: "printVector'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::printVector'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___printVector_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___printVector_TIC(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->printVector()"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___printVector_TIC(CasADi::Matrix< CasADi::SX >* obj);
+void CasADi__Matrix_CasADi__SX___printVector_TIC(CasADi::Matrix< CasADi::SX >* obj){
+
+    obj->printVector();
+}
+
+
+// ================== Normal method: "printMatrix'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::printMatrix'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___printMatrix_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___printMatrix_TIC(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->printMatrix()"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___printMatrix_TIC(CasADi::Matrix< CasADi::SX >* obj);
+void CasADi__Matrix_CasADi__SX___printMatrix_TIC(CasADi::Matrix< CasADi::SX >* obj){
+
+    obj->printMatrix();
+}
+
+
+// ================== Normal method: "printSparse'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::printSparse'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___printSparse_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___printSparse_TIC(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->printSparse()"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___printSparse_TIC(CasADi::Matrix< CasADi::SX >* obj);
+void CasADi__Matrix_CasADi__SX___printSparse_TIC(CasADi::Matrix< CasADi::SX >* obj){
+
+    obj->printSparse();
+}
+
+
+// ================== Normal method: "printDense'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::printDense'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___printDense_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___printDense_TIC(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->printDense()"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___printDense_TIC(CasADi::Matrix< CasADi::SX >* obj);
+void CasADi__Matrix_CasADi__SX___printDense_TIC(CasADi::Matrix< CasADi::SX >* obj){
+
+    obj->printDense();
+}
+
+
+// ================== Normal method: "col" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::col"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___col"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_CasADi__SX___col(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// call: "obj->col(x0_)"
+extern "C"
+    int CasADi__Matrix_CasADi__SX___col(CasADi::Matrix< CasADi::SX >* obj, int x0);
+int CasADi__Matrix_CasADi__SX___col(CasADi::Matrix< CasADi::SX >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->col(x0_) );
+}
+
+
+// ================== Normal method: "rowind" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::rowind"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___rowind"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_CasADi__SX___rowind(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// call: "obj->rowind(x0_)"
+extern "C"
+    int CasADi__Matrix_CasADi__SX___rowind(CasADi::Matrix< CasADi::SX >* obj, int x0);
+int CasADi__Matrix_CasADi__SX___rowind(CasADi::Matrix< CasADi::SX >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->rowind(x0_) );
+}
+
+
+// ================== Normal method: "clear" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::clear"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___clear"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___clear(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->clear()"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___clear(CasADi::Matrix< CasADi::SX >* obj);
+void CasADi__Matrix_CasADi__SX___clear(CasADi::Matrix< CasADi::SX >* obj){
+
+    obj->clear();
+}
+
+
+// ================== Normal method: "resize" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::resize"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___resize"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___resize(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
+// call: "obj->resize(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___resize(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1);
+void CasADi__Matrix_CasADi__SX___resize(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->resize(x0_, x1_);
+}
+
+
+// ================== Normal method: "reserve" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::reserve"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___reserve"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___reserve(CasADi::Matrix< CasADi::SX >* obj, int x0)"
+// call: "obj->reserve(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___reserve(CasADi::Matrix< CasADi::SX >* obj, int x0);
+void CasADi__Matrix_CasADi__SX___reserve(CasADi::Matrix< CasADi::SX >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    obj->reserve(x0_);
+}
+
+
+// ================== Normal method: "reserve'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::reserve'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___reserve_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___reserve_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1)"
+// call: "obj->reserve(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___reserve_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1);
+void CasADi__Matrix_CasADi__SX___reserve_TIC(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->reserve(x0_, x1_);
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::erase"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___erase"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___erase(CasADi::Matrix< CasADi::SX >* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// call: "obj->erase(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___erase(CasADi::Matrix< CasADi::SX >* obj, std::vector< int >* x0, std::vector< int >* x1);
+void CasADi__Matrix_CasADi__SX___erase(CasADi::Matrix< CasADi::SX >* obj, std::vector< int >* x0, std::vector< int >* x1){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    obj->erase(x0_, x1_);
+}
+
+
+// ================== Normal method: "remove" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::remove"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___remove"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___remove(CasADi::Matrix< CasADi::SX >* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// call: "obj->remove(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___remove(CasADi::Matrix< CasADi::SX >* obj, std::vector< int >* x0, std::vector< int >* x1);
+void CasADi__Matrix_CasADi__SX___remove(CasADi::Matrix< CasADi::SX >* obj, std::vector< int >* x0, std::vector< int >* x1){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    obj->remove(x0_, x1_);
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::enlarge"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___enlarge"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___enlarge(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// call: "obj->enlarge(x0_, x1_, x2_, x3_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___enlarge(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
+void CasADi__Matrix_CasADi__SX___enlarge(CasADi::Matrix< CasADi::SX >* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+
+    obj->enlarge(x0_, x1_, x2_, x3_);
+}
+
+
+// ================== Normal method: "data" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::data"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___data"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: StdVec (CasadiClass SX)
+// cWrapperRetType: "std::vector< CasADi::SX* >*"
+// proto: "std::vector< CasADi::SX* >* CasADi__Matrix_CasADi__SX___data(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->data()"
+extern "C"
+    std::vector< CasADi::SX* >* CasADi__Matrix_CasADi__SX___data(CasADi::Matrix< CasADi::SX >* obj);
+std::vector< CasADi::SX* >* CasADi__Matrix_CasADi__SX___data(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< std::vector< CasADi::SX* >*, std::vector< CasADi::SX > >::wrapReturn( obj->data() );
+}
+
+
+// ================== Normal method: "sparsityRef" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::sparsityRef"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___sparsityRef"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__Matrix_CasADi__SX___sparsityRef(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->sparsityRef()"
+extern "C"
+    CasADi::CRSSparsity* CasADi__Matrix_CasADi__SX___sparsityRef(CasADi::Matrix< CasADi::SX >* obj);
+CasADi::CRSSparsity* CasADi__Matrix_CasADi__SX___sparsityRef(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->sparsityRef() );
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::set"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___set"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___set(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1)"
+// call: "obj->set(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___set(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1);
+void CasADi__Matrix_CasADi__SX___set(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1){
+    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->set(x0_, x1_);
+}
+
+
+// ================== Normal method: "set'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::set'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___set_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___set_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0)"
+// call: "obj->set(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___set_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0);
+void CasADi__Matrix_CasADi__SX___set_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0){
+    CasADi::SX x0_ = Marshaling<CasADi::SX,CasADi::SX*>::marshal(x0);
+
+    obj->set(x0_);
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::get"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___get"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___get(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1)"
+// call: "obj->get(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___get(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1);
+void CasADi__Matrix_CasADi__SX___get(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0, CasADi::Sparsity x1){
+    CasADi::SX& x0_ = Marshaling<CasADi::SX&,CasADi::SX*>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->get(x0_, x1_);
+}
+
+
+// ================== Normal method: "get'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::get'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___get_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___get_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0)"
+// call: "obj->get(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___get_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0);
+void CasADi__Matrix_CasADi__SX___get_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::SX* x0){
+    CasADi::SX& x0_ = Marshaling<CasADi::SX&,CasADi::SX*>::marshal(x0);
+
+    obj->get(x0_);
+}
+
+
+// ================== Normal method: "set''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::set''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___set_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___set_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0, CasADi::Sparsity x1)"
+// call: "obj->set(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___set_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0, CasADi::Sparsity x1);
+void CasADi__Matrix_CasADi__SX___set_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0, CasADi::Sparsity x1){
+    std::vector< CasADi::SX > x0_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->set(x0_, x1_);
+}
+
+
+// ================== Normal method: "set'''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::set'''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0)"
+// call: "obj->set(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0);
+void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0){
+    std::vector< CasADi::SX > x0_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x0);
+
+    obj->set(x0_);
+}
+
+
+// ================== Normal method: "get''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::get''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___get_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___get_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0, CasADi::Sparsity x1)"
+// call: "obj->get(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___get_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0, CasADi::Sparsity x1);
+void CasADi__Matrix_CasADi__SX___get_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0, CasADi::Sparsity x1){
+    std::vector< CasADi::SX > x0_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->get(x0_, x1_);
+}
+
+
+// ================== Normal method: "get'''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::get'''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0)"
+// call: "obj->get(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0);
+void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, std::vector< CasADi::SX* >* x0){
+    std::vector< CasADi::SX > x0_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x0);
+
+    obj->get(x0_);
+}
+
+
+// ================== Normal method: "set''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::set''''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1)"
+// call: "obj->set(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1);
+void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->set(x0_, x1_);
+}
+
+
+// ================== Normal method: "set'''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::set'''''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->set(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+void CasADi__Matrix_CasADi__SX___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    obj->set(x0_);
+}
+
+
+// ================== Normal method: "get''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::get''''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1)"
+// call: "obj->get(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1);
+void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0, CasADi::Sparsity x1){
+    CasADi::Matrix< CasADi::SX >& x0_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->get(x0_, x1_);
+}
+
+
+// ================== Normal method: "get'''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::get'''''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->get(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0);
+void CasADi__Matrix_CasADi__SX___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX >& x0_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    obj->get(x0_);
+}
+
+
+// ================== Static method: "sparse" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::sparse"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___sparse"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse(int x0, int x1)"
+// call: "CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse(int x0, int x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_) );
+}
+
+
+// ================== Static method: "sparse'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::sparse'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___sparse_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC(int x0)"
+// call: "CasADi::Matrix< CasADi::SX >::sparse(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC(int x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::sparse(x0_) );
+}
+
+
+// ================== Static method: "sparse''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::sparse''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___sparse_TIC_TIC"
+// protoArgs: "(std::vector< int >* x0, std::vector< int >* x1, std::vector< CasADi::SX* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< CasADi::SX* >* x2)"
+// call: "CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< CasADi::SX* >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< CasADi::SX* >* x2){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+    std::vector< CasADi::SX > x2_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "sparse'''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::sparse'''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___sparse_TIC_TIC_TIC"
+// protoArgs: "(std::vector< int >* x0, std::vector< int >* x1, std::vector< CasADi::SX* >* x2, int x3, int x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< CasADi::SX* >* x2, int x3, int x4)"
+// call: "CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< CasADi::SX* >* x2, int x3, int x4);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___sparse_TIC_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< CasADi::SX* >* x2, int x3, int x4){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+    std::vector< CasADi::SX > x2_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+    int x4_ = Marshaling<int,int>::marshal(x4);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::sparse(x0_, x1_, x2_, x3_, x4_) );
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::zeros"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___zeros"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros(CasADi::CRSSparsity* x0)"
+// call: "CasADi::Matrix< CasADi::SX >::zeros(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros(CasADi::CRSSparsity* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::zeros(x0_) );
+}
+
+
+// ================== Static method: "zeros'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::zeros'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___zeros_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC(int x0, int x1)"
+// call: "CasADi::Matrix< CasADi::SX >::zeros(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC(int x0, int x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::zeros(x0_, x1_) );
+}
+
+
+// ================== Static method: "zeros''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::zeros''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___zeros_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC_TIC(int x0)"
+// call: "CasADi::Matrix< CasADi::SX >::zeros(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC_TIC(int x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___zeros_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::zeros(x0_) );
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::ones"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___ones"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones(CasADi::CRSSparsity* x0)"
+// call: "CasADi::Matrix< CasADi::SX >::ones(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones(CasADi::CRSSparsity* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::ones(x0_) );
+}
+
+
+// ================== Static method: "ones'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::ones'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___ones_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC(int x0, int x1)"
+// call: "CasADi::Matrix< CasADi::SX >::ones(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC(int x0, int x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::ones(x0_, x1_) );
+}
+
+
+// ================== Static method: "ones''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::ones''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___ones_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC_TIC(int x0)"
+// call: "CasADi::Matrix< CasADi::SX >::ones(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC_TIC(int x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___ones_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::ones(x0_) );
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::inf"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___inf"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf(CasADi::CRSSparsity* x0)"
+// call: "CasADi::Matrix< CasADi::SX >::inf(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf(CasADi::CRSSparsity* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::inf(x0_) );
+}
+
+
+// ================== Static method: "inf'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::inf'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___inf_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC(int x0, int x1)"
+// call: "CasADi::Matrix< CasADi::SX >::inf(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC(int x0, int x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::inf(x0_, x1_) );
+}
+
+
+// ================== Static method: "inf''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::inf''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___inf_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC(int x0)"
+// call: "CasADi::Matrix< CasADi::SX >::inf(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC(int x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::inf(x0_) );
+}
+
+
+// ================== Static method: "inf'''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::inf'''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___inf_TIC_TIC_TIC"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC_TIC()"
+// call: "CasADi::Matrix< CasADi::SX >::inf()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC_TIC();
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___inf_TIC_TIC_TIC(){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::inf() );
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::nan"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___nan"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan(CasADi::CRSSparsity* x0)"
+// call: "CasADi::Matrix< CasADi::SX >::nan(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan(CasADi::CRSSparsity* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::nan(x0_) );
+}
+
+
+// ================== Static method: "nan'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::nan'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___nan_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC(int x0, int x1)"
+// call: "CasADi::Matrix< CasADi::SX >::nan(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC(int x0, int x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::nan(x0_, x1_) );
+}
+
+
+// ================== Static method: "nan''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::nan''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___nan_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC(int x0)"
+// call: "CasADi::Matrix< CasADi::SX >::nan(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC(int x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::nan(x0_) );
+}
+
+
+// ================== Static method: "nan'''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::nan'''"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___nan_TIC_TIC_TIC"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC_TIC()"
+// call: "CasADi::Matrix< CasADi::SX >::nan()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC_TIC();
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___nan_TIC_TIC_TIC(){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::nan() );
+}
+
+
+// ================== Static method: "repmat" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::repmat"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___repmat"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// call: "CasADi::Matrix< CasADi::SX >::repmat(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::repmat(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "repmat'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::repmat'"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___repmat_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// call: "CasADi::Matrix< CasADi::SX >::repmat(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___repmat_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::repmat(x0_, x1_) );
+}
+
+
+// ================== Static method: "eye" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::eye"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___eye"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___eye(int x0)"
+// call: "CasADi::Matrix< CasADi::SX >::eye(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___eye(int x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___eye(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >::eye(x0_) );
+}
+
+
+// ================== Normal method: "isNull" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::isNull"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___isNull"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_CasADi__SX___isNull(CasADi::Matrix< CasADi::SX >* obj)"
+// call: "obj->isNull()"
+extern "C"
+    int CasADi__Matrix_CasADi__SX___isNull(CasADi::Matrix< CasADi::SX >* obj);
+int CasADi__Matrix_CasADi__SX___isNull(CasADi::Matrix< CasADi::SX >* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isNull() );
+}
+
+
+// ================== Static method: "setPrecision" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::setPrecision"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___setPrecision"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___setPrecision(int x0)"
+// call: "CasADi::Matrix< CasADi::SX >::setPrecision(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___setPrecision(int x0);
+void CasADi__Matrix_CasADi__SX___setPrecision(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    CasADi::Matrix< CasADi::SX >::setPrecision(x0_);
+}
+
+
+// ================== Static method: "setWidth" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::setWidth"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___setWidth"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___setWidth(int x0)"
+// call: "CasADi::Matrix< CasADi::SX >::setWidth(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___setWidth(int x0);
+void CasADi__Matrix_CasADi__SX___setWidth(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    CasADi::Matrix< CasADi::SX >::setWidth(x0_);
+}
+
+
+// ================== Static method: "setScientific" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >::setScientific"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___setScientific"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_CasADi__SX___setScientific(int x0)"
+// call: "CasADi::Matrix< CasADi::SX >::setScientific(x0_)"
+extern "C"
+    void CasADi__Matrix_CasADi__SX___setScientific(int x0);
+void CasADi__Matrix_CasADi__SX___setScientific(int x0){
+    bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+    CasADi::Matrix< CasADi::SX >::setScientific(x0_);
+}
+
+
+// ================== Constructor method: "SXMatrix" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix()"
+// call: "CasADi::Matrix< CasADi::SX >()"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix();
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix(){
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >() );
+}
+
+
+// ================== Constructor method: "SXMatrix'" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_) );
+}
+
+
+// ================== Constructor method: "SXMatrix''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC(int x0, int x1)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC(int x0, int x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "SXMatrix'''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC"
+// protoArgs: "(int x0, int x1, CasADi::SX* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC(int x0, int x1, CasADi::SX* x2)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC(int x0, int x1, CasADi::SX* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC(int x0, int x1, CasADi::SX* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    CasADi::SX const & x2_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_) );
+}
+
+
+// ================== Constructor method: "SXMatrix''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC"
+// protoArgs: "(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< CasADi::SX* >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< CasADi::SX* >* x4)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< CasADi::SX* >* x4);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< CasADi::SX* >* x4){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+    std::vector< CasADi::SX > x4_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x4);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_, x3_, x4_) );
+}
+
+
+// ================== Constructor method: "SXMatrix'''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== Constructor method: "SXMatrix''''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< std::vector< CasADi::SX* >* >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< std::vector< CasADi::SX* >* >* x0)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< std::vector< CasADi::SX* >* >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< std::vector< CasADi::SX* >* >* x0){
+    std::vector< std::vector< CasADi::SX > > x0_ = Marshaling<std::vector< std::vector< CasADi::SX > >,std::vector< std::vector< CasADi::SX* >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_) );
+}
+
+
+// ================== Constructor method: "SXMatrix'''''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0, CasADi::SX* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::SX* x1)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::SX* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::SX* x1){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+    CasADi::SX const & x1_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "SXMatrix''''''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_) );
+}
+
+
+// ================== Constructor method: "SXMatrix'''''''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0, std::vector< CasADi::SX* >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector< CasADi::SX* >* x1)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector< CasADi::SX* >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector< CasADi::SX* >* x1){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+    std::vector< CasADi::SX > x1_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "SXMatrix''''''''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(double x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_) );
+}
+
+
+// ================== Constructor method: "SXMatrix'''''''''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::SX* >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::SX* >* x0)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::SX* >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::SX* >* x0){
+    std::vector< CasADi::SX > x0_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_) );
+}
+
+
+// ================== Constructor method: "SXMatrix''''''''''''" ===============
+// class: "CasADi::Matrix< CasADi::SX >"
+// cppName: "CasADi::Matrix< CasADi::SX >"
+// cWrapperName: "CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::SX* >* x0, int x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::SX* >* x0, int x1, int x2)"
+// call: "CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::SX* >* x0, int x1, int x2);
+CasADi::Matrix< CasADi::SX >* CasADi__Matrix_CasADi__SX___SXMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::SX* >* x0, int x1, int x2){
+    std::vector< CasADi::SX > x0_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::Matrix< CasADi::SX >(x0_, x1_, x2_) );
+}
+
+
+// ================== delete CasadiClass IOScheme===============
+// classType: CasadiClass IOScheme
+extern "C"
+    void delete_CasADi__IOScheme(CasADi::IOScheme* obj);
+void delete_CasADi__IOScheme(CasADi::IOScheme* obj){
+    delete obj;
+}
+
+// ================== Normal method: "checkNode" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::checkNode"
+// cWrapperName: "CasADi__IOScheme__checkNode"
+// protoArgs: "(CasADi::IOScheme* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__IOScheme__checkNode(CasADi::IOScheme* obj)"
+// call: "obj->checkNode()"
+extern "C"
+    int CasADi__IOScheme__checkNode(CasADi::IOScheme* obj);
+int CasADi__IOScheme__checkNode(CasADi::IOScheme* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->checkNode() );
+}
+
+
+// ================== Normal method: "name" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::name"
+// cWrapperName: "CasADi__IOScheme__name"
+// protoArgs: "(CasADi::IOScheme* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__IOScheme__name(CasADi::IOScheme* obj)"
+// call: "obj->name()"
+extern "C"
+    std::string* CasADi__IOScheme__name(CasADi::IOScheme* obj);
+std::string* CasADi__IOScheme__name(CasADi::IOScheme* obj){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->name() );
+}
+
+
+// ================== Normal method: "entryNames" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::entryNames"
+// cWrapperName: "CasADi__IOScheme__entryNames"
+// protoArgs: "(CasADi::IOScheme* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__IOScheme__entryNames(CasADi::IOScheme* obj)"
+// call: "obj->entryNames()"
+extern "C"
+    std::string* CasADi__IOScheme__entryNames(CasADi::IOScheme* obj);
+std::string* CasADi__IOScheme__entryNames(CasADi::IOScheme* obj){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->entryNames() );
+}
+
+
+// ================== Normal method: "index" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::index"
+// cWrapperName: "CasADi__IOScheme__index"
+// protoArgs: "(CasADi::IOScheme* obj, std::string* x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__IOScheme__index(CasADi::IOScheme* obj, std::string* x0)"
+// call: "obj->index(x0_)"
+extern "C"
+    int CasADi__IOScheme__index(CasADi::IOScheme* obj, std::string* x0);
+int CasADi__IOScheme__index(CasADi::IOScheme* obj, std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->index(x0_) );
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::size"
+// cWrapperName: "CasADi__IOScheme__size"
+// protoArgs: "(CasADi::IOScheme* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__IOScheme__size(CasADi::IOScheme* obj)"
+// call: "obj->size()"
+extern "C"
+    int CasADi__IOScheme__size(CasADi::IOScheme* obj);
+int CasADi__IOScheme__size(CasADi::IOScheme* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size() );
+}
+
+
+// ================== Normal method: "entry" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::entry"
+// cWrapperName: "CasADi__IOScheme__entry"
+// protoArgs: "(CasADi::IOScheme* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__IOScheme__entry(CasADi::IOScheme* obj, int x0)"
+// call: "obj->entry(x0_)"
+extern "C"
+    std::string* CasADi__IOScheme__entry(CasADi::IOScheme* obj, int x0);
+std::string* CasADi__IOScheme__entry(CasADi::IOScheme* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->entry(x0_) );
+}
+
+
+// ================== Normal method: "entryLabel" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::entryLabel"
+// cWrapperName: "CasADi__IOScheme__entryLabel"
+// protoArgs: "(CasADi::IOScheme* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__IOScheme__entryLabel(CasADi::IOScheme* obj, int x0)"
+// call: "obj->entryLabel(x0_)"
+extern "C"
+    std::string* CasADi__IOScheme__entryLabel(CasADi::IOScheme* obj, int x0);
+std::string* CasADi__IOScheme__entryLabel(CasADi::IOScheme* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->entryLabel(x0_) );
+}
+
+
+// ================== Normal method: "entryEnum" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::entryEnum"
+// cWrapperName: "CasADi__IOScheme__entryEnum"
+// protoArgs: "(CasADi::IOScheme* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__IOScheme__entryEnum(CasADi::IOScheme* obj, int x0)"
+// call: "obj->entryEnum(x0_)"
+extern "C"
+    std::string* CasADi__IOScheme__entryEnum(CasADi::IOScheme* obj, int x0);
+std::string* CasADi__IOScheme__entryEnum(CasADi::IOScheme* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->entryEnum(x0_) );
+}
+
+
+// ================== Normal method: "describeInput" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::describeInput"
+// cWrapperName: "CasADi__IOScheme__describeInput"
+// protoArgs: "(CasADi::IOScheme* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__IOScheme__describeInput(CasADi::IOScheme* obj, int x0)"
+// call: "obj->describeInput(x0_)"
+extern "C"
+    std::string* CasADi__IOScheme__describeInput(CasADi::IOScheme* obj, int x0);
+std::string* CasADi__IOScheme__describeInput(CasADi::IOScheme* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->describeInput(x0_) );
+}
+
+
+// ================== Normal method: "describeOutput" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::describeOutput"
+// cWrapperName: "CasADi__IOScheme__describeOutput"
+// protoArgs: "(CasADi::IOScheme* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__IOScheme__describeOutput(CasADi::IOScheme* obj, int x0)"
+// call: "obj->describeOutput(x0_)"
+extern "C"
+    std::string* CasADi__IOScheme__describeOutput(CasADi::IOScheme* obj, int x0);
+std::string* CasADi__IOScheme__describeOutput(CasADi::IOScheme* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->describeOutput(x0_) );
+}
+
+
+// ================== Normal method: "describe" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::describe"
+// cWrapperName: "CasADi__IOScheme__describe"
+// protoArgs: "(CasADi::IOScheme* obj, int x0)"
+// args: "(x0_)"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__IOScheme__describe(CasADi::IOScheme* obj, int x0)"
+// call: "obj->describe(x0_)"
+extern "C"
+    std::string* CasADi__IOScheme__describe(CasADi::IOScheme* obj, int x0);
+std::string* CasADi__IOScheme__describe(CasADi::IOScheme* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->describe(x0_) );
+}
+
+
+// ================== Normal method: "known" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::known"
+// cWrapperName: "CasADi__IOScheme__known"
+// protoArgs: "(CasADi::IOScheme* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__IOScheme__known(CasADi::IOScheme* obj)"
+// call: "obj->known()"
+extern "C"
+    int CasADi__IOScheme__known(CasADi::IOScheme* obj);
+int CasADi__IOScheme__known(CasADi::IOScheme* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->known() );
+}
+
+
+// ================== Normal method: "compatibleSize" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme::compatibleSize"
+// cWrapperName: "CasADi__IOScheme__compatibleSize"
+// protoArgs: "(CasADi::IOScheme* obj, int x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__IOScheme__compatibleSize(CasADi::IOScheme* obj, int x0)"
+// call: "obj->compatibleSize(x0_)"
+extern "C"
+    int CasADi__IOScheme__compatibleSize(CasADi::IOScheme* obj, int x0);
+int CasADi__IOScheme__compatibleSize(CasADi::IOScheme* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->compatibleSize(x0_) );
+}
+
+
+// ================== Constructor method: "IOScheme" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme"
+// cWrapperName: "CasADi__IOScheme__IOScheme"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass IOScheme
+// cWrapperRetType: "CasADi::IOScheme*"
+// proto: "CasADi::IOScheme* CasADi__IOScheme__IOScheme()"
+// call: "CasADi::IOScheme()"
+extern "C"
+    CasADi::IOScheme* CasADi__IOScheme__IOScheme();
+CasADi::IOScheme* CasADi__IOScheme__IOScheme(){
+
+    return WrapReturn< CasADi::IOScheme*, CasADi::IOScheme >::wrapReturn( CasADi::IOScheme() );
+}
+
+
+// ================== Constructor method: "IOScheme'" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme"
+// cWrapperName: "CasADi__IOScheme__IOScheme_TIC"
+// protoArgs: "(CasADi::InputOutputScheme x0)"
+// args: "(x0_)"
+// rettype: CasadiClass IOScheme
+// cWrapperRetType: "CasADi::IOScheme*"
+// proto: "CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC(CasADi::InputOutputScheme x0)"
+// call: "CasADi::IOScheme(x0_)"
+extern "C"
+    CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC(CasADi::InputOutputScheme x0);
+CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC(CasADi::InputOutputScheme x0){
+    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
+
+    return WrapReturn< CasADi::IOScheme*, CasADi::IOScheme >::wrapReturn( CasADi::IOScheme(x0_) );
+}
+
+
+// ================== Constructor method: "IOScheme''" ===============
+// class: "CasADi::IOScheme"
+// cppName: "CasADi::IOScheme"
+// cWrapperName: "CasADi__IOScheme__IOScheme_TIC_TIC"
+// protoArgs: "(std::vector< std::string* >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass IOScheme
+// cWrapperRetType: "CasADi::IOScheme*"
+// proto: "CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC_TIC(std::vector< std::string* >* x0)"
+// call: "CasADi::IOScheme(x0_)"
+extern "C"
+    CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC_TIC(std::vector< std::string* >* x0);
+CasADi::IOScheme* CasADi__IOScheme__IOScheme_TIC_TIC(std::vector< std::string* >* x0){
+    std::vector< std::string > x0_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::IOScheme*, CasADi::IOScheme >::wrapReturn( CasADi::IOScheme(x0_) );
+}
+
+
+// ================== delete CasadiClass DMatrix===============
+// classType: CasadiClass DMatrix
+extern "C"
+    void delete_CasADi__Matrix_double_(CasADi::Matrix< double >* obj);
+void delete_CasADi__Matrix_double_(CasADi::Matrix< double >* obj){
+    delete obj;
+}
+
+// ================== Normal method: "size1" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::size1"
+// cWrapperName: "CasADi__Matrix_double___size1"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_double___size1(CasADi::Matrix< double >* obj)"
+// call: "obj->size1()"
+extern "C"
+    int CasADi__Matrix_double___size1(CasADi::Matrix< double >* obj);
+int CasADi__Matrix_double___size1(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size1() );
+}
+
+
+// ================== Normal method: "size2" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::size2"
+// cWrapperName: "CasADi__Matrix_double___size2"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_double___size2(CasADi::Matrix< double >* obj)"
+// call: "obj->size2()"
+extern "C"
+    int CasADi__Matrix_double___size2(CasADi::Matrix< double >* obj);
+int CasADi__Matrix_double___size2(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size2() );
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::size"
+// cWrapperName: "CasADi__Matrix_double___size"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_double___size(CasADi::Matrix< double >* obj)"
+// call: "obj->size()"
+extern "C"
+    int CasADi__Matrix_double___size(CasADi::Matrix< double >* obj);
+int CasADi__Matrix_double___size(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size() );
+}
+
+
+// ================== Normal method: "numel" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::numel"
+// cWrapperName: "CasADi__Matrix_double___numel"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_double___numel(CasADi::Matrix< double >* obj)"
+// call: "obj->numel()"
+extern "C"
+    int CasADi__Matrix_double___numel(CasADi::Matrix< double >* obj);
+int CasADi__Matrix_double___numel(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->numel() );
+}
+
+
+// ================== Normal method: "sanityCheck" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::sanityCheck"
+// cWrapperName: "CasADi__Matrix_double___sanityCheck"
+// protoArgs: "(CasADi::Matrix< double >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___sanityCheck(CasADi::Matrix< double >* obj, int x0)"
+// call: "obj->sanityCheck(x0_)"
+extern "C"
+    void CasADi__Matrix_double___sanityCheck(CasADi::Matrix< double >* obj, int x0);
+void CasADi__Matrix_double___sanityCheck(CasADi::Matrix< double >* obj, int x0){
+    bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+    obj->sanityCheck(x0_);
+}
+
+
+// ================== Normal method: "sanityCheck'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::sanityCheck'"
+// cWrapperName: "CasADi__Matrix_double___sanityCheck_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___sanityCheck_TIC(CasADi::Matrix< double >* obj)"
+// call: "obj->sanityCheck()"
+extern "C"
+    void CasADi__Matrix_double___sanityCheck_TIC(CasADi::Matrix< double >* obj);
+void CasADi__Matrix_double___sanityCheck_TIC(CasADi::Matrix< double >* obj){
+
+    obj->sanityCheck();
+}
+
+
+// ================== Normal method: "vector" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::vector"
+// cWrapperName: "CasADi__Matrix_double___vector"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_double___vector(CasADi::Matrix< double >* obj)"
+// call: "obj->vector()"
+extern "C"
+    int CasADi__Matrix_double___vector(CasADi::Matrix< double >* obj);
+int CasADi__Matrix_double___vector(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->vector() );
+}
+
+
+// ================== Normal method: "at" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::at"
+// cWrapperName: "CasADi__Matrix_double___at"
+// protoArgs: "(CasADi::Matrix< double >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double CasADi__Matrix_double___at(CasADi::Matrix< double >* obj, int x0)"
+// call: "obj->at(x0_)"
+extern "C"
+    double CasADi__Matrix_double___at(CasADi::Matrix< double >* obj, int x0);
+double CasADi__Matrix_double___at(CasADi::Matrix< double >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< double, double >::wrapReturn( obj->at(x0_) );
+}
+
+
+// ================== Normal method: "elem" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::elem"
+// cWrapperName: "CasADi__Matrix_double___elem"
+// protoArgs: "(CasADi::Matrix< double >* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double CasADi__Matrix_double___elem(CasADi::Matrix< double >* obj, int x0, int x1)"
+// call: "obj->elem(x0_, x1_)"
+extern "C"
+    double CasADi__Matrix_double___elem(CasADi::Matrix< double >* obj, int x0, int x1);
+double CasADi__Matrix_double___elem(CasADi::Matrix< double >* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< double, double >::wrapReturn( obj->elem(x0_, x1_) );
+}
+
+
+// ================== Normal method: "elem'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::elem'"
+// cWrapperName: "CasADi__Matrix_double___elem_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double CasADi__Matrix_double___elem_TIC(CasADi::Matrix< double >* obj, int x0)"
+// call: "obj->elem(x0_)"
+extern "C"
+    double CasADi__Matrix_double___elem_TIC(CasADi::Matrix< double >* obj, int x0);
+double CasADi__Matrix_double___elem_TIC(CasADi::Matrix< double >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< double, double >::wrapReturn( obj->elem(x0_) );
+}
+
+
+// ================== Normal method: "hasNZ" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::hasNZ"
+// cWrapperName: "CasADi__Matrix_double___hasNZ"
+// protoArgs: "(CasADi::Matrix< double >* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_double___hasNZ(CasADi::Matrix< double >* obj, int x0, int x1)"
+// call: "obj->hasNZ(x0_, x1_)"
+extern "C"
+    int CasADi__Matrix_double___hasNZ(CasADi::Matrix< double >* obj, int x0, int x1);
+int CasADi__Matrix_double___hasNZ(CasADi::Matrix< double >* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->hasNZ(x0_, x1_) );
+}
+
+
+// ================== Normal method: "__nonzero__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__nonzero__"
+// cWrapperName: "CasADi__Matrix_double_____nonzero__"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_double_____nonzero__(CasADi::Matrix< double >* obj)"
+// call: "obj->__nonzero__()"
+extern "C"
+    int CasADi__Matrix_double_____nonzero__(CasADi::Matrix< double >* obj);
+int CasADi__Matrix_double_____nonzero__(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->__nonzero__() );
+}
+
+
+// ================== Normal method: "append" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::append"
+// cWrapperName: "CasADi__Matrix_double___append"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___append(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->append(x0_)"
+extern "C"
+    void CasADi__Matrix_double___append(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+void CasADi__Matrix_double___append(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    obj->append(x0_);
+}
+
+
+// ================== Normal method: "operator +" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::operator +"
+// cWrapperName: "CasADi__Matrix_double___operator_plus"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___operator_plus(CasADi::Matrix< double >* obj)"
+// call: "obj->operator +()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___operator_plus(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___operator_plus(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->operator +() );
+}
+
+
+// ================== Normal method: "operator -" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::operator -"
+// cWrapperName: "CasADi__Matrix_double___operator_minus"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___operator_minus(CasADi::Matrix< double >* obj)"
+// call: "obj->operator -()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___operator_minus(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___operator_minus(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->operator -() );
+}
+
+
+// ================== Static method: "binary" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::binary"
+// cWrapperName: "CasADi__Matrix_double___binary"
+// protoArgs: "(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___binary(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// call: "CasADi::Matrix< double >::binary(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___binary(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
+CasADi::Matrix< double >* CasADi__Matrix_double___binary(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+    CasADi::Matrix< double > const & x2_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::binary(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "unary" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::unary"
+// cWrapperName: "CasADi__Matrix_double___unary"
+// protoArgs: "(int x0, CasADi::Matrix< double >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___unary(int x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::Matrix< double >::unary(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___unary(int x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___unary(int x0, CasADi::Matrix< double >* x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::unary(x0_, x1_) );
+}
+
+
+// ================== Static method: "scalar_matrix" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::scalar_matrix"
+// cWrapperName: "CasADi__Matrix_double___scalar_matrix"
+// protoArgs: "(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___scalar_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// call: "CasADi::Matrix< double >::scalar_matrix(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___scalar_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
+CasADi::Matrix< double >* CasADi__Matrix_double___scalar_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+    CasADi::Matrix< double > const & x2_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::scalar_matrix(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "matrix_scalar" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::matrix_scalar"
+// cWrapperName: "CasADi__Matrix_double___matrix_scalar"
+// protoArgs: "(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___matrix_scalar(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// call: "CasADi::Matrix< double >::matrix_scalar(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___matrix_scalar(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
+CasADi::Matrix< double >* CasADi__Matrix_double___matrix_scalar(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+    CasADi::Matrix< double > const & x2_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::matrix_scalar(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "matrix_matrix" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::matrix_matrix"
+// cWrapperName: "CasADi__Matrix_double___matrix_matrix"
+// protoArgs: "(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___matrix_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// call: "CasADi::Matrix< double >::matrix_matrix(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___matrix_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
+CasADi::Matrix< double >* CasADi__Matrix_double___matrix_matrix(int x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+    CasADi::Matrix< double > const & x2_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::matrix_matrix(x0_, x1_, x2_) );
+}
+
+
+// ================== Normal method: "__add__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__add__"
+// cWrapperName: "CasADi__Matrix_double_____add__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____add__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__add__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____add__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____add__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__add__(x0_) );
+}
+
+
+// ================== Normal method: "__sub__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__sub__"
+// cWrapperName: "CasADi__Matrix_double_____sub__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____sub__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__sub__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____sub__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____sub__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__sub__(x0_) );
+}
+
+
+// ================== Normal method: "__mul__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__mul__"
+// cWrapperName: "CasADi__Matrix_double_____mul__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____mul__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__mul__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____mul__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____mul__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__mul__(x0_) );
+}
+
+
+// ================== Normal method: "__div__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__div__"
+// cWrapperName: "CasADi__Matrix_double_____div__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____div__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__div__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____div__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____div__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__div__(x0_) );
+}
+
+
+// ================== Normal method: "__lt__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__lt__"
+// cWrapperName: "CasADi__Matrix_double_____lt__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____lt__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__lt__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____lt__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____lt__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__lt__(x0_) );
+}
+
+
+// ================== Normal method: "__le__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__le__"
+// cWrapperName: "CasADi__Matrix_double_____le__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____le__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__le__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____le__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____le__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__le__(x0_) );
+}
+
+
+// ================== Normal method: "__eq__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__eq__"
+// cWrapperName: "CasADi__Matrix_double_____eq__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____eq__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__eq__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____eq__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____eq__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__eq__(x0_) );
+}
+
+
+// ================== Normal method: "__ne__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__ne__"
+// cWrapperName: "CasADi__Matrix_double_____ne__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____ne__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__ne__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____ne__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____ne__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__ne__(x0_) );
+}
+
+
+// ================== Normal method: "__truediv__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__truediv__"
+// cWrapperName: "CasADi__Matrix_double_____truediv__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____truediv__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__truediv__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____truediv__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____truediv__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__truediv__(x0_) );
+}
+
+
+// ================== Normal method: "__pow__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__pow__"
+// cWrapperName: "CasADi__Matrix_double_____pow__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____pow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__pow__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____pow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____pow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__pow__(x0_) );
+}
+
+
+// ================== Normal method: "__constpow__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__constpow__"
+// cWrapperName: "CasADi__Matrix_double_____constpow__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____constpow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__constpow__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____constpow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____constpow__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__constpow__(x0_) );
+}
+
+
+// ================== Normal method: "__mpower__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__mpower__"
+// cWrapperName: "CasADi__Matrix_double_____mpower__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____mpower__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__mpower__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____mpower__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____mpower__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__mpower__(x0_) );
+}
+
+
+// ================== Normal method: "__mrdivide__" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::__mrdivide__"
+// cWrapperName: "CasADi__Matrix_double_____mrdivide__"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double_____mrdivide__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->__mrdivide__(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double_____mrdivide__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double_____mrdivide__(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->__mrdivide__(x0_) );
+}
+
+
+// ================== Normal method: "mul_full" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::mul_full"
+// cWrapperName: "CasADi__Matrix_double___mul_full"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___mul_full(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
+// call: "obj->mul_full(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___mul_full(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___mul_full(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->mul_full(x0_, x1_) );
+}
+
+
+// ================== Normal method: "mul_full'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::mul_full'"
+// cWrapperName: "CasADi__Matrix_double___mul_full_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___mul_full_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->mul_full(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___mul_full_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___mul_full_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->mul_full(x0_) );
+}
+
+
+// ================== Normal method: "mul" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::mul"
+// cWrapperName: "CasADi__Matrix_double___mul"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___mul(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
+// call: "obj->mul(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___mul(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___mul(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->mul(x0_, x1_) );
+}
+
+
+// ================== Normal method: "mul'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::mul'"
+// cWrapperName: "CasADi__Matrix_double___mul_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___mul_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->mul(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___mul_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___mul_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->mul(x0_) );
+}
+
+
+// ================== Static method: "mul_no_alloc_nn" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::mul_no_alloc_nn"
+// cWrapperName: "CasADi__Matrix_double___mul_no_alloc_nn"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___mul_no_alloc_nn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// call: "CasADi::Matrix< double >::mul_no_alloc_nn(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__Matrix_double___mul_no_alloc_nn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
+void CasADi__Matrix_double___mul_no_alloc_nn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+    CasADi::Matrix< double >& x2_ = Marshaling<CasADi::Matrix< double >&,CasADi::Matrix< double >*>::marshal(x2);
+
+    CasADi::Matrix< double >::mul_no_alloc_nn(x0_, x1_, x2_);
+}
+
+
+// ================== Static method: "mul_no_alloc_nt" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::mul_no_alloc_nt"
+// cWrapperName: "CasADi__Matrix_double___mul_no_alloc_nt"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___mul_no_alloc_nt(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// call: "CasADi::Matrix< double >::mul_no_alloc_nt(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__Matrix_double___mul_no_alloc_nt(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
+void CasADi__Matrix_double___mul_no_alloc_nt(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+    CasADi::Matrix< double >& x2_ = Marshaling<CasADi::Matrix< double >&,CasADi::Matrix< double >*>::marshal(x2);
+
+    CasADi::Matrix< double >::mul_no_alloc_nt(x0_, x1_, x2_);
+}
+
+
+// ================== Static method: "mul_no_alloc_tn" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::mul_no_alloc_tn"
+// cWrapperName: "CasADi__Matrix_double___mul_no_alloc_tn"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___mul_no_alloc_tn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// call: "CasADi::Matrix< double >::mul_no_alloc_tn(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__Matrix_double___mul_no_alloc_tn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
+void CasADi__Matrix_double___mul_no_alloc_tn(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+    CasADi::Matrix< double >& x2_ = Marshaling<CasADi::Matrix< double >&,CasADi::Matrix< double >*>::marshal(x2);
+
+    CasADi::Matrix< double >::mul_no_alloc_tn(x0_, x1_, x2_);
+}
+
+
+// ================== Static method: "mul_no_alloc_nn'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::mul_no_alloc_nn'"
+// cWrapperName: "CasADi__Matrix_double___mul_no_alloc_nn_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___mul_no_alloc_nn_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2)"
+// call: "CasADi::Matrix< double >::mul_no_alloc_nn(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__Matrix_double___mul_no_alloc_nn_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2);
+void CasADi__Matrix_double___mul_no_alloc_nn_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+    std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+
+    CasADi::Matrix< double >::mul_no_alloc_nn(x0_, x1_, x2_);
+}
+
+
+// ================== Static method: "mul_no_alloc_tn'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::mul_no_alloc_tn'"
+// cWrapperName: "CasADi__Matrix_double___mul_no_alloc_tn_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___mul_no_alloc_tn_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2)"
+// call: "CasADi::Matrix< double >::mul_no_alloc_tn(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__Matrix_double___mul_no_alloc_tn_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2);
+void CasADi__Matrix_double___mul_no_alloc_tn_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+    std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+
+    CasADi::Matrix< double >::mul_no_alloc_tn(x0_, x1_, x2_);
+}
+
+
+// ================== Static method: "quad_form" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::quad_form"
+// cWrapperName: "CasADi__Matrix_double___quad_form"
+// protoArgs: "(CasADi::Matrix< double >* x0, std::vector< double >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double CasADi__Matrix_double___quad_form(CasADi::Matrix< double >* x0, std::vector< double >* x1)"
+// call: "CasADi::Matrix< double >::quad_form(x0_, x1_)"
+extern "C"
+    double CasADi__Matrix_double___quad_form(CasADi::Matrix< double >* x0, std::vector< double >* x1);
+double CasADi__Matrix_double___quad_form(CasADi::Matrix< double >* x0, std::vector< double >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+
+    return WrapReturn< double, double >::wrapReturn( CasADi::Matrix< double >::quad_form(x0_, x1_) );
+}
+
+
+// ================== Normal method: "trans" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::trans"
+// cWrapperName: "CasADi__Matrix_double___trans"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___trans(CasADi::Matrix< double >* obj)"
+// call: "obj->trans()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___trans(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___trans(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->trans() );
+}
+
+
+// ================== Normal method: "sin" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::sin"
+// cWrapperName: "CasADi__Matrix_double___sin"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sin(CasADi::Matrix< double >* obj)"
+// call: "obj->sin()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___sin(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___sin(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->sin() );
+}
+
+
+// ================== Normal method: "cos" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::cos"
+// cWrapperName: "CasADi__Matrix_double___cos"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___cos(CasADi::Matrix< double >* obj)"
+// call: "obj->cos()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___cos(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___cos(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->cos() );
+}
+
+
+// ================== Normal method: "tan" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::tan"
+// cWrapperName: "CasADi__Matrix_double___tan"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___tan(CasADi::Matrix< double >* obj)"
+// call: "obj->tan()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___tan(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___tan(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->tan() );
+}
+
+
+// ================== Normal method: "arcsin" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::arcsin"
+// cWrapperName: "CasADi__Matrix_double___arcsin"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arcsin(CasADi::Matrix< double >* obj)"
+// call: "obj->arcsin()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___arcsin(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___arcsin(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->arcsin() );
+}
+
+
+// ================== Normal method: "arccos" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::arccos"
+// cWrapperName: "CasADi__Matrix_double___arccos"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arccos(CasADi::Matrix< double >* obj)"
+// call: "obj->arccos()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___arccos(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___arccos(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->arccos() );
+}
+
+
+// ================== Normal method: "arctan" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::arctan"
+// cWrapperName: "CasADi__Matrix_double___arctan"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arctan(CasADi::Matrix< double >* obj)"
+// call: "obj->arctan()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___arctan(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___arctan(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->arctan() );
+}
+
+
+// ================== Normal method: "exp" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::exp"
+// cWrapperName: "CasADi__Matrix_double___exp"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___exp(CasADi::Matrix< double >* obj)"
+// call: "obj->exp()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___exp(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___exp(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->exp() );
+}
+
+
+// ================== Normal method: "log" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::log"
+// cWrapperName: "CasADi__Matrix_double___log"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___log(CasADi::Matrix< double >* obj)"
+// call: "obj->log()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___log(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___log(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->log() );
+}
+
+
+// ================== Normal method: "sqrt" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::sqrt"
+// cWrapperName: "CasADi__Matrix_double___sqrt"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sqrt(CasADi::Matrix< double >* obj)"
+// call: "obj->sqrt()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___sqrt(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___sqrt(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->sqrt() );
+}
+
+
+// ================== Normal method: "floor" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::floor"
+// cWrapperName: "CasADi__Matrix_double___floor"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___floor(CasADi::Matrix< double >* obj)"
+// call: "obj->floor()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___floor(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___floor(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->floor() );
+}
+
+
+// ================== Normal method: "ceil" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::ceil"
+// cWrapperName: "CasADi__Matrix_double___ceil"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___ceil(CasADi::Matrix< double >* obj)"
+// call: "obj->ceil()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___ceil(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___ceil(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->ceil() );
+}
+
+
+// ================== Normal method: "fabs" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::fabs"
+// cWrapperName: "CasADi__Matrix_double___fabs"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___fabs(CasADi::Matrix< double >* obj)"
+// call: "obj->fabs()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___fabs(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___fabs(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->fabs() );
+}
+
+
+// ================== Normal method: "sign" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::sign"
+// cWrapperName: "CasADi__Matrix_double___sign"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sign(CasADi::Matrix< double >* obj)"
+// call: "obj->sign()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___sign(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___sign(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->sign() );
+}
+
+
+// ================== Normal method: "erfinv" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::erfinv"
+// cWrapperName: "CasADi__Matrix_double___erfinv"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___erfinv(CasADi::Matrix< double >* obj)"
+// call: "obj->erfinv()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___erfinv(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___erfinv(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->erfinv() );
+}
+
+
+// ================== Normal method: "fmin" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::fmin"
+// cWrapperName: "CasADi__Matrix_double___fmin"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___fmin(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->fmin(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___fmin(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___fmin(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->fmin(x0_) );
+}
+
+
+// ================== Normal method: "fmax" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::fmax"
+// cWrapperName: "CasADi__Matrix_double___fmax"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___fmax(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->fmax(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___fmax(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___fmax(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->fmax(x0_) );
+}
+
+
+// ================== Normal method: "erf" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::erf"
+// cWrapperName: "CasADi__Matrix_double___erf"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___erf(CasADi::Matrix< double >* obj)"
+// call: "obj->erf()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___erf(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___erf(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->erf() );
+}
+
+
+// ================== Normal method: "sinh" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::sinh"
+// cWrapperName: "CasADi__Matrix_double___sinh"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sinh(CasADi::Matrix< double >* obj)"
+// call: "obj->sinh()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___sinh(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___sinh(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->sinh() );
+}
+
+
+// ================== Normal method: "cosh" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::cosh"
+// cWrapperName: "CasADi__Matrix_double___cosh"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___cosh(CasADi::Matrix< double >* obj)"
+// call: "obj->cosh()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___cosh(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___cosh(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->cosh() );
+}
+
+
+// ================== Normal method: "tanh" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::tanh"
+// cWrapperName: "CasADi__Matrix_double___tanh"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___tanh(CasADi::Matrix< double >* obj)"
+// call: "obj->tanh()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___tanh(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___tanh(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->tanh() );
+}
+
+
+// ================== Normal method: "arcsinh" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::arcsinh"
+// cWrapperName: "CasADi__Matrix_double___arcsinh"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arcsinh(CasADi::Matrix< double >* obj)"
+// call: "obj->arcsinh()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___arcsinh(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___arcsinh(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->arcsinh() );
+}
+
+
+// ================== Normal method: "arccosh" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::arccosh"
+// cWrapperName: "CasADi__Matrix_double___arccosh"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arccosh(CasADi::Matrix< double >* obj)"
+// call: "obj->arccosh()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___arccosh(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___arccosh(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->arccosh() );
+}
+
+
+// ================== Normal method: "arctanh" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::arctanh"
+// cWrapperName: "CasADi__Matrix_double___arctanh"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arctanh(CasADi::Matrix< double >* obj)"
+// call: "obj->arctanh()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___arctanh(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___arctanh(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->arctanh() );
+}
+
+
+// ================== Normal method: "arctan2" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::arctan2"
+// cWrapperName: "CasADi__Matrix_double___arctan2"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___arctan2(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->arctan2(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___arctan2(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___arctan2(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->arctan2(x0_) );
+}
+
+
+// ================== Normal method: "log10" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::log10"
+// cWrapperName: "CasADi__Matrix_double___log10"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___log10(CasADi::Matrix< double >* obj)"
+// call: "obj->log10()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___log10(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___log10(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->log10() );
+}
+
+
+// ================== Normal method: "printme" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::printme"
+// cWrapperName: "CasADi__Matrix_double___printme"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___printme(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->printme(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___printme(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___printme(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->printme(x0_) );
+}
+
+
+// ================== Normal method: "logic_not" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::logic_not"
+// cWrapperName: "CasADi__Matrix_double___logic_not"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___logic_not(CasADi::Matrix< double >* obj)"
+// call: "obj->logic_not()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___logic_not(CasADi::Matrix< double >* obj);
+CasADi::Matrix< double >* CasADi__Matrix_double___logic_not(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->logic_not() );
+}
+
+
+// ================== Normal method: "logic_and" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::logic_and"
+// cWrapperName: "CasADi__Matrix_double___logic_and"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___logic_and(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->logic_and(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___logic_and(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___logic_and(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->logic_and(x0_) );
+}
+
+
+// ================== Normal method: "logic_or" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::logic_or"
+// cWrapperName: "CasADi__Matrix_double___logic_or"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___logic_or(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->logic_or(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___logic_or(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___logic_or(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->logic_or(x0_) );
+}
+
+
+// ================== Normal method: "if_else_zero" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::if_else_zero"
+// cWrapperName: "CasADi__Matrix_double___if_else_zero"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___if_else_zero(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->if_else_zero(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___if_else_zero(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___if_else_zero(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->if_else_zero(x0_) );
+}
+
+
+// ================== Static method: "className" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::className"
+// cWrapperName: "CasADi__Matrix_double___className"
+// protoArgs: "()"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__Matrix_double___className()"
+// call: "CasADi::Matrix< double >::className()"
+extern "C"
+    std::string* CasADi__Matrix_double___className();
+std::string* CasADi__Matrix_double___className(){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::Matrix< double >::className() );
+}
+
+
+// ================== Normal method: "printScalar'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::printScalar'"
+// cWrapperName: "CasADi__Matrix_double___printScalar_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___printScalar_TIC(CasADi::Matrix< double >* obj)"
+// call: "obj->printScalar()"
+extern "C"
+    void CasADi__Matrix_double___printScalar_TIC(CasADi::Matrix< double >* obj);
+void CasADi__Matrix_double___printScalar_TIC(CasADi::Matrix< double >* obj){
+
+    obj->printScalar();
+}
+
+
+// ================== Normal method: "printVector'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::printVector'"
+// cWrapperName: "CasADi__Matrix_double___printVector_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___printVector_TIC(CasADi::Matrix< double >* obj)"
+// call: "obj->printVector()"
+extern "C"
+    void CasADi__Matrix_double___printVector_TIC(CasADi::Matrix< double >* obj);
+void CasADi__Matrix_double___printVector_TIC(CasADi::Matrix< double >* obj){
+
+    obj->printVector();
+}
+
+
+// ================== Normal method: "printMatrix'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::printMatrix'"
+// cWrapperName: "CasADi__Matrix_double___printMatrix_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___printMatrix_TIC(CasADi::Matrix< double >* obj)"
+// call: "obj->printMatrix()"
+extern "C"
+    void CasADi__Matrix_double___printMatrix_TIC(CasADi::Matrix< double >* obj);
+void CasADi__Matrix_double___printMatrix_TIC(CasADi::Matrix< double >* obj){
+
+    obj->printMatrix();
+}
+
+
+// ================== Normal method: "printSparse'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::printSparse'"
+// cWrapperName: "CasADi__Matrix_double___printSparse_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___printSparse_TIC(CasADi::Matrix< double >* obj)"
+// call: "obj->printSparse()"
+extern "C"
+    void CasADi__Matrix_double___printSparse_TIC(CasADi::Matrix< double >* obj);
+void CasADi__Matrix_double___printSparse_TIC(CasADi::Matrix< double >* obj){
+
+    obj->printSparse();
+}
+
+
+// ================== Normal method: "printDense'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::printDense'"
+// cWrapperName: "CasADi__Matrix_double___printDense_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___printDense_TIC(CasADi::Matrix< double >* obj)"
+// call: "obj->printDense()"
+extern "C"
+    void CasADi__Matrix_double___printDense_TIC(CasADi::Matrix< double >* obj);
+void CasADi__Matrix_double___printDense_TIC(CasADi::Matrix< double >* obj){
+
+    obj->printDense();
+}
+
+
+// ================== Normal method: "col" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::col"
+// cWrapperName: "CasADi__Matrix_double___col"
+// protoArgs: "(CasADi::Matrix< double >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_double___col(CasADi::Matrix< double >* obj, int x0)"
+// call: "obj->col(x0_)"
+extern "C"
+    int CasADi__Matrix_double___col(CasADi::Matrix< double >* obj, int x0);
+int CasADi__Matrix_double___col(CasADi::Matrix< double >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->col(x0_) );
+}
+
+
+// ================== Normal method: "rowind" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::rowind"
+// cWrapperName: "CasADi__Matrix_double___rowind"
+// protoArgs: "(CasADi::Matrix< double >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_double___rowind(CasADi::Matrix< double >* obj, int x0)"
+// call: "obj->rowind(x0_)"
+extern "C"
+    int CasADi__Matrix_double___rowind(CasADi::Matrix< double >* obj, int x0);
+int CasADi__Matrix_double___rowind(CasADi::Matrix< double >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( obj->rowind(x0_) );
+}
+
+
+// ================== Normal method: "clear" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::clear"
+// cWrapperName: "CasADi__Matrix_double___clear"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___clear(CasADi::Matrix< double >* obj)"
+// call: "obj->clear()"
+extern "C"
+    void CasADi__Matrix_double___clear(CasADi::Matrix< double >* obj);
+void CasADi__Matrix_double___clear(CasADi::Matrix< double >* obj){
+
+    obj->clear();
+}
+
+
+// ================== Normal method: "resize" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::resize"
+// cWrapperName: "CasADi__Matrix_double___resize"
+// protoArgs: "(CasADi::Matrix< double >* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___resize(CasADi::Matrix< double >* obj, int x0, int x1)"
+// call: "obj->resize(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_double___resize(CasADi::Matrix< double >* obj, int x0, int x1);
+void CasADi__Matrix_double___resize(CasADi::Matrix< double >* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->resize(x0_, x1_);
+}
+
+
+// ================== Normal method: "reserve" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::reserve"
+// cWrapperName: "CasADi__Matrix_double___reserve"
+// protoArgs: "(CasADi::Matrix< double >* obj, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___reserve(CasADi::Matrix< double >* obj, int x0)"
+// call: "obj->reserve(x0_)"
+extern "C"
+    void CasADi__Matrix_double___reserve(CasADi::Matrix< double >* obj, int x0);
+void CasADi__Matrix_double___reserve(CasADi::Matrix< double >* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    obj->reserve(x0_);
+}
+
+
+// ================== Normal method: "reserve'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::reserve'"
+// cWrapperName: "CasADi__Matrix_double___reserve_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___reserve_TIC(CasADi::Matrix< double >* obj, int x0, int x1)"
+// call: "obj->reserve(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_double___reserve_TIC(CasADi::Matrix< double >* obj, int x0, int x1);
+void CasADi__Matrix_double___reserve_TIC(CasADi::Matrix< double >* obj, int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->reserve(x0_, x1_);
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::erase"
+// cWrapperName: "CasADi__Matrix_double___erase"
+// protoArgs: "(CasADi::Matrix< double >* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___erase(CasADi::Matrix< double >* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// call: "obj->erase(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_double___erase(CasADi::Matrix< double >* obj, std::vector< int >* x0, std::vector< int >* x1);
+void CasADi__Matrix_double___erase(CasADi::Matrix< double >* obj, std::vector< int >* x0, std::vector< int >* x1){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    obj->erase(x0_, x1_);
+}
+
+
+// ================== Normal method: "remove" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::remove"
+// cWrapperName: "CasADi__Matrix_double___remove"
+// protoArgs: "(CasADi::Matrix< double >* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___remove(CasADi::Matrix< double >* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// call: "obj->remove(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_double___remove(CasADi::Matrix< double >* obj, std::vector< int >* x0, std::vector< int >* x1);
+void CasADi__Matrix_double___remove(CasADi::Matrix< double >* obj, std::vector< int >* x0, std::vector< int >* x1){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    obj->remove(x0_, x1_);
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::enlarge"
+// cWrapperName: "CasADi__Matrix_double___enlarge"
+// protoArgs: "(CasADi::Matrix< double >* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___enlarge(CasADi::Matrix< double >* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// call: "obj->enlarge(x0_, x1_, x2_, x3_)"
+extern "C"
+    void CasADi__Matrix_double___enlarge(CasADi::Matrix< double >* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
+void CasADi__Matrix_double___enlarge(CasADi::Matrix< double >* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+
+    obj->enlarge(x0_, x1_, x2_, x3_);
+}
+
+
+// ================== Normal method: "data" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::data"
+// cWrapperName: "CasADi__Matrix_double___data"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: StdVec CDouble
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >* CasADi__Matrix_double___data(CasADi::Matrix< double >* obj)"
+// call: "obj->data()"
+extern "C"
+    std::vector< double >* CasADi__Matrix_double___data(CasADi::Matrix< double >* obj);
+std::vector< double >* CasADi__Matrix_double___data(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( obj->data() );
+}
+
+
+// ================== Normal method: "sparsityRef" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::sparsityRef"
+// cWrapperName: "CasADi__Matrix_double___sparsityRef"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__Matrix_double___sparsityRef(CasADi::Matrix< double >* obj)"
+// call: "obj->sparsityRef()"
+extern "C"
+    CasADi::CRSSparsity* CasADi__Matrix_double___sparsityRef(CasADi::Matrix< double >* obj);
+CasADi::CRSSparsity* CasADi__Matrix_double___sparsityRef(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->sparsityRef() );
+}
+
+
+// ================== Normal method: "set" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::set"
+// cWrapperName: "CasADi__Matrix_double___set"
+// protoArgs: "(CasADi::Matrix< double >* obj, double x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___set(CasADi::Matrix< double >* obj, double x0, CasADi::Sparsity x1)"
+// call: "obj->set(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_double___set(CasADi::Matrix< double >* obj, double x0, CasADi::Sparsity x1);
+void CasADi__Matrix_double___set(CasADi::Matrix< double >* obj, double x0, CasADi::Sparsity x1){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->set(x0_, x1_);
+}
+
+
+// ================== Normal method: "set'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::set'"
+// cWrapperName: "CasADi__Matrix_double___set_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, double x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___set_TIC(CasADi::Matrix< double >* obj, double x0)"
+// call: "obj->set(x0_)"
+extern "C"
+    void CasADi__Matrix_double___set_TIC(CasADi::Matrix< double >* obj, double x0);
+void CasADi__Matrix_double___set_TIC(CasADi::Matrix< double >* obj, double x0){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+
+    obj->set(x0_);
+}
+
+
+// ================== Normal method: "get" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::get"
+// cWrapperName: "CasADi__Matrix_double___get"
+// protoArgs: "(CasADi::Matrix< double >* obj, double* x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___get(CasADi::Matrix< double >* obj, double* x0, CasADi::Sparsity x1)"
+// call: "obj->get(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_double___get(CasADi::Matrix< double >* obj, double* x0, CasADi::Sparsity x1);
+void CasADi__Matrix_double___get(CasADi::Matrix< double >* obj, double* x0, CasADi::Sparsity x1){
+    double& x0_ = Marshaling<double&,double*>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->get(x0_, x1_);
+}
+
+
+// ================== Normal method: "get'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::get'"
+// cWrapperName: "CasADi__Matrix_double___get_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, double* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___get_TIC(CasADi::Matrix< double >* obj, double* x0)"
+// call: "obj->get(x0_)"
+extern "C"
+    void CasADi__Matrix_double___get_TIC(CasADi::Matrix< double >* obj, double* x0);
+void CasADi__Matrix_double___get_TIC(CasADi::Matrix< double >* obj, double* x0){
+    double& x0_ = Marshaling<double&,double*>::marshal(x0);
+
+    obj->get(x0_);
+}
+
+
+// ================== Normal method: "set''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::set''"
+// cWrapperName: "CasADi__Matrix_double___set_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, std::vector< double >* x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___set_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0, CasADi::Sparsity x1)"
+// call: "obj->set(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_double___set_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0, CasADi::Sparsity x1);
+void CasADi__Matrix_double___set_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0, CasADi::Sparsity x1){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->set(x0_, x1_);
+}
+
+
+// ================== Normal method: "set'''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::set'''"
+// cWrapperName: "CasADi__Matrix_double___set_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, std::vector< double >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___set_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0)"
+// call: "obj->set(x0_)"
+extern "C"
+    void CasADi__Matrix_double___set_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0);
+void CasADi__Matrix_double___set_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    obj->set(x0_);
+}
+
+
+// ================== Normal method: "get''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::get''"
+// cWrapperName: "CasADi__Matrix_double___get_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, std::vector< double >* x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___get_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0, CasADi::Sparsity x1)"
+// call: "obj->get(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_double___get_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0, CasADi::Sparsity x1);
+void CasADi__Matrix_double___get_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0, CasADi::Sparsity x1){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->get(x0_, x1_);
+}
+
+
+// ================== Normal method: "get'''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::get'''"
+// cWrapperName: "CasADi__Matrix_double___get_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, std::vector< double >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___get_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0)"
+// call: "obj->get(x0_)"
+extern "C"
+    void CasADi__Matrix_double___get_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0);
+void CasADi__Matrix_double___get_TIC_TIC_TIC(CasADi::Matrix< double >* obj, std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    obj->get(x0_);
+}
+
+
+// ================== Normal method: "set''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::set''''"
+// cWrapperName: "CasADi__Matrix_double___set_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1)"
+// call: "obj->set(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1);
+void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->set(x0_, x1_);
+}
+
+
+// ================== Normal method: "set'''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::set'''''"
+// cWrapperName: "CasADi__Matrix_double___set_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->set(x0_)"
+extern "C"
+    void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+void CasADi__Matrix_double___set_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    obj->set(x0_);
+}
+
+
+// ================== Normal method: "get''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::get''''"
+// cWrapperName: "CasADi__Matrix_double___get_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1)"
+// call: "obj->get(x0_, x1_)"
+extern "C"
+    void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1);
+void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0, CasADi::Sparsity x1){
+    CasADi::Matrix< double >& x0_ = Marshaling<CasADi::Matrix< double >&,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Sparsity x1_ = Marshaling<CasADi::Sparsity,CasADi::Sparsity>::marshal(x1);
+
+    obj->get(x0_, x1_);
+}
+
+
+// ================== Normal method: "get'''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::get'''''"
+// cWrapperName: "CasADi__Matrix_double___get_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0)"
+// call: "obj->get(x0_)"
+extern "C"
+    void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0);
+void CasADi__Matrix_double___get_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* obj, CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double >& x0_ = Marshaling<CasADi::Matrix< double >&,CasADi::Matrix< double >*>::marshal(x0);
+
+    obj->get(x0_);
+}
+
+
+// ================== Static method: "sparse" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::sparse"
+// cWrapperName: "CasADi__Matrix_double___sparse"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sparse(int x0, int x1)"
+// call: "CasADi::Matrix< double >::sparse(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___sparse(int x0, int x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___sparse(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::sparse(x0_, x1_) );
+}
+
+
+// ================== Static method: "sparse'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::sparse'"
+// cWrapperName: "CasADi__Matrix_double___sparse_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC(int x0)"
+// call: "CasADi::Matrix< double >::sparse(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC(int x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::sparse(x0_) );
+}
+
+
+// ================== Static method: "sparse''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::sparse''"
+// cWrapperName: "CasADi__Matrix_double___sparse_TIC_TIC"
+// protoArgs: "(std::vector< int >* x0, std::vector< int >* x1, std::vector< double >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< double >* x2)"
+// call: "CasADi::Matrix< double >::sparse(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< double >* x2);
+CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< double >* x2){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+    std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::sparse(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "sparse'''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::sparse'''"
+// cWrapperName: "CasADi__Matrix_double___sparse_TIC_TIC_TIC"
+// protoArgs: "(std::vector< int >* x0, std::vector< int >* x1, std::vector< double >* x2, int x3, int x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< double >* x2, int x3, int x4)"
+// call: "CasADi::Matrix< double >::sparse(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< double >* x2, int x3, int x4);
+CasADi::Matrix< double >* CasADi__Matrix_double___sparse_TIC_TIC_TIC(std::vector< int >* x0, std::vector< int >* x1, std::vector< double >* x2, int x3, int x4){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+    std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+    int x4_ = Marshaling<int,int>::marshal(x4);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::sparse(x0_, x1_, x2_, x3_, x4_) );
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::zeros"
+// cWrapperName: "CasADi__Matrix_double___zeros"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___zeros(CasADi::CRSSparsity* x0)"
+// call: "CasADi::Matrix< double >::zeros(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___zeros(CasADi::CRSSparsity* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___zeros(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::zeros(x0_) );
+}
+
+
+// ================== Static method: "zeros'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::zeros'"
+// cWrapperName: "CasADi__Matrix_double___zeros_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC(int x0, int x1)"
+// call: "CasADi::Matrix< double >::zeros(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC(int x0, int x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::zeros(x0_, x1_) );
+}
+
+
+// ================== Static method: "zeros''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::zeros''"
+// cWrapperName: "CasADi__Matrix_double___zeros_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC_TIC(int x0)"
+// call: "CasADi::Matrix< double >::zeros(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC_TIC(int x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___zeros_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::zeros(x0_) );
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::ones"
+// cWrapperName: "CasADi__Matrix_double___ones"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___ones(CasADi::CRSSparsity* x0)"
+// call: "CasADi::Matrix< double >::ones(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___ones(CasADi::CRSSparsity* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___ones(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::ones(x0_) );
+}
+
+
+// ================== Static method: "ones'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::ones'"
+// cWrapperName: "CasADi__Matrix_double___ones_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC(int x0, int x1)"
+// call: "CasADi::Matrix< double >::ones(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC(int x0, int x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::ones(x0_, x1_) );
+}
+
+
+// ================== Static method: "ones''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::ones''"
+// cWrapperName: "CasADi__Matrix_double___ones_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC_TIC(int x0)"
+// call: "CasADi::Matrix< double >::ones(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC_TIC(int x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___ones_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::ones(x0_) );
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::inf"
+// cWrapperName: "CasADi__Matrix_double___inf"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___inf(CasADi::CRSSparsity* x0)"
+// call: "CasADi::Matrix< double >::inf(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___inf(CasADi::CRSSparsity* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___inf(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::inf(x0_) );
+}
+
+
+// ================== Static method: "inf'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::inf'"
+// cWrapperName: "CasADi__Matrix_double___inf_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC(int x0, int x1)"
+// call: "CasADi::Matrix< double >::inf(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC(int x0, int x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::inf(x0_, x1_) );
+}
+
+
+// ================== Static method: "inf''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::inf''"
+// cWrapperName: "CasADi__Matrix_double___inf_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC(int x0)"
+// call: "CasADi::Matrix< double >::inf(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC(int x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::inf(x0_) );
+}
+
+
+// ================== Static method: "inf'''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::inf'''"
+// cWrapperName: "CasADi__Matrix_double___inf_TIC_TIC_TIC"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC_TIC()"
+// call: "CasADi::Matrix< double >::inf()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC_TIC();
+CasADi::Matrix< double >* CasADi__Matrix_double___inf_TIC_TIC_TIC(){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::inf() );
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::nan"
+// cWrapperName: "CasADi__Matrix_double___nan"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___nan(CasADi::CRSSparsity* x0)"
+// call: "CasADi::Matrix< double >::nan(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___nan(CasADi::CRSSparsity* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___nan(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::nan(x0_) );
+}
+
+
+// ================== Static method: "nan'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::nan'"
+// cWrapperName: "CasADi__Matrix_double___nan_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC(int x0, int x1)"
+// call: "CasADi::Matrix< double >::nan(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC(int x0, int x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::nan(x0_, x1_) );
+}
+
+
+// ================== Static method: "nan''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::nan''"
+// cWrapperName: "CasADi__Matrix_double___nan_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC(int x0)"
+// call: "CasADi::Matrix< double >::nan(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC(int x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::nan(x0_) );
+}
+
+
+// ================== Static method: "nan'''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::nan'''"
+// cWrapperName: "CasADi__Matrix_double___nan_TIC_TIC_TIC"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC_TIC()"
+// call: "CasADi::Matrix< double >::nan()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC_TIC();
+CasADi::Matrix< double >* CasADi__Matrix_double___nan_TIC_TIC_TIC(){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::nan() );
+}
+
+
+// ================== Static method: "repmat" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::repmat"
+// cWrapperName: "CasADi__Matrix_double___repmat"
+// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___repmat(CasADi::Matrix< double >* x0, int x1, int x2)"
+// call: "CasADi::Matrix< double >::repmat(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___repmat(CasADi::Matrix< double >* x0, int x1, int x2);
+CasADi::Matrix< double >* CasADi__Matrix_double___repmat(CasADi::Matrix< double >* x0, int x1, int x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::repmat(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "repmat'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::repmat'"
+// cWrapperName: "CasADi__Matrix_double___repmat_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___repmat_TIC(CasADi::Matrix< double >* x0, int x1)"
+// call: "CasADi::Matrix< double >::repmat(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___repmat_TIC(CasADi::Matrix< double >* x0, int x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___repmat_TIC(CasADi::Matrix< double >* x0, int x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::repmat(x0_, x1_) );
+}
+
+
+// ================== Static method: "eye" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::eye"
+// cWrapperName: "CasADi__Matrix_double___eye"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___eye(int x0)"
+// call: "CasADi::Matrix< double >::eye(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___eye(int x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___eye(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >::eye(x0_) );
+}
+
+
+// ================== Normal method: "isNull" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::isNull"
+// cWrapperName: "CasADi__Matrix_double___isNull"
+// protoArgs: "(CasADi::Matrix< double >* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__Matrix_double___isNull(CasADi::Matrix< double >* obj)"
+// call: "obj->isNull()"
+extern "C"
+    int CasADi__Matrix_double___isNull(CasADi::Matrix< double >* obj);
+int CasADi__Matrix_double___isNull(CasADi::Matrix< double >* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isNull() );
+}
+
+
+// ================== Static method: "setPrecision" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::setPrecision"
+// cWrapperName: "CasADi__Matrix_double___setPrecision"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___setPrecision(int x0)"
+// call: "CasADi::Matrix< double >::setPrecision(x0_)"
+extern "C"
+    void CasADi__Matrix_double___setPrecision(int x0);
+void CasADi__Matrix_double___setPrecision(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    CasADi::Matrix< double >::setPrecision(x0_);
+}
+
+
+// ================== Static method: "setWidth" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::setWidth"
+// cWrapperName: "CasADi__Matrix_double___setWidth"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___setWidth(int x0)"
+// call: "CasADi::Matrix< double >::setWidth(x0_)"
+extern "C"
+    void CasADi__Matrix_double___setWidth(int x0);
+void CasADi__Matrix_double___setWidth(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    CasADi::Matrix< double >::setWidth(x0_);
+}
+
+
+// ================== Static method: "setScientific" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >::setScientific"
+// cWrapperName: "CasADi__Matrix_double___setScientific"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__Matrix_double___setScientific(int x0)"
+// call: "CasADi::Matrix< double >::setScientific(x0_)"
+extern "C"
+    void CasADi__Matrix_double___setScientific(int x0);
+void CasADi__Matrix_double___setScientific(int x0){
+    bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+    CasADi::Matrix< double >::setScientific(x0_);
+}
+
+
+// ================== Constructor method: "DMatrix" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix()"
+// call: "CasADi::Matrix< double >()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix();
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix(){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >() );
+}
+
+
+// ================== Constructor method: "DMatrix'" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::Matrix< double >(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_) );
+}
+
+
+// ================== Constructor method: "DMatrix''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC(int x0, int x1)"
+// call: "CasADi::Matrix< double >(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC(int x0, int x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "DMatrix'''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC"
+// protoArgs: "(int x0, int x1, double const * x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC(int x0, int x1, double const * x2)"
+// call: "CasADi::Matrix< double >(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC(int x0, int x1, double const * x2);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC(int x0, int x1, double const * x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    double const & x2_ = Marshaling<double const &,double const *>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_, x1_, x2_) );
+}
+
+
+// ================== Constructor method: "DMatrix''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC"
+// protoArgs: "(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< double >* x4)"
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< double >* x4)"
+// call: "CasADi::Matrix< double >(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< double >* x4);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< double >* x4){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+    std::vector< double > x4_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x4);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_, x1_, x2_, x3_, x4_) );
+}
+
+
+// ================== Constructor method: "DMatrix'''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// call: "CasADi::Matrix< double >(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== Constructor method: "DMatrix''''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< std::vector< double >* >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< std::vector< double >* >* x0)"
+// call: "CasADi::Matrix< double >(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< std::vector< double >* >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< std::vector< double >* >* x0){
+    std::vector< std::vector< double > > x0_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_) );
+}
+
+
+// ================== Constructor method: "DMatrix'''''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0, double const * x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, double const * x1)"
+// call: "CasADi::Matrix< double >(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, double const * x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, double const * x1){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+    double const & x1_ = Marshaling<double const &,double const *>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "DMatrix''''''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0)"
+// call: "CasADi::Matrix< double >(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_) );
+}
+
+
+// ================== Constructor method: "DMatrix'''''''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0, std::vector< double >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector< double >* x1)"
+// call: "CasADi::Matrix< double >(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector< double >* x1);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, std::vector< double >* x1){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+    std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "DMatrix''''''''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(double x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0)"
+// call: "CasADi::Matrix< double >(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_) );
+}
+
+
+// ================== Constructor method: "DMatrix'''''''''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< double >* x0)"
+// call: "CasADi::Matrix< double >(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< double >* x0);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_) );
+}
+
+
+// ================== Constructor method: "DMatrix''''''''''''" ===============
+// class: "CasADi::Matrix< double >"
+// cppName: "CasADi::Matrix< double >"
+// cWrapperName: "CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< double >* x0, int x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< double >* x0, int x1, int x2)"
+// call: "CasADi::Matrix< double >(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< double >* x0, int x1, int x2);
+CasADi::Matrix< double >* CasADi__Matrix_double___DMatrix_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< double >* x0, int x1, int x2){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::Matrix< double >(x0_, x1_, x2_) );
+}
+
+
+// ================== delete CasadiClass MX===============
+// classType: CasadiClass MX
+extern "C"
+    void delete_CasADi__MX(CasADi::MX* obj);
+void delete_CasADi__MX(CasADi::MX* obj){
+    delete obj;
+}
+
+// ================== Normal method: "size1" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::size1"
+// cWrapperName: "CasADi__MX__size1"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__size1(CasADi::MX* obj)"
+// call: "obj->size1()"
+extern "C"
+    int CasADi__MX__size1(CasADi::MX* obj);
+int CasADi__MX__size1(CasADi::MX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size1() );
+}
+
+
+// ================== Normal method: "size2" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::size2"
+// cWrapperName: "CasADi__MX__size2"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__size2(CasADi::MX* obj)"
+// call: "obj->size2()"
+extern "C"
+    int CasADi__MX__size2(CasADi::MX* obj);
+int CasADi__MX__size2(CasADi::MX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size2() );
+}
+
+
+// ================== Normal method: "size" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::size"
+// cWrapperName: "CasADi__MX__size"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__size(CasADi::MX* obj)"
+// call: "obj->size()"
+extern "C"
+    int CasADi__MX__size(CasADi::MX* obj);
+int CasADi__MX__size(CasADi::MX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->size() );
+}
+
+
+// ================== Normal method: "numel" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::numel"
+// cWrapperName: "CasADi__MX__numel"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__numel(CasADi::MX* obj)"
+// call: "obj->numel()"
+extern "C"
+    int CasADi__MX__numel(CasADi::MX* obj);
+int CasADi__MX__numel(CasADi::MX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->numel() );
+}
+
+
+// ================== Normal method: "__nonzero__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__nonzero__"
+// cWrapperName: "CasADi__MX____nonzero__"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX____nonzero__(CasADi::MX* obj)"
+// call: "obj->__nonzero__()"
+extern "C"
+    int CasADi__MX____nonzero__(CasADi::MX* obj);
+int CasADi__MX____nonzero__(CasADi::MX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->__nonzero__() );
+}
+
+
+// ================== Normal method: "sparsityRef" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::sparsityRef"
+// cWrapperName: "CasADi__MX__sparsityRef"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass CRSSparsity
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__MX__sparsityRef(CasADi::MX* obj)"
+// call: "obj->sparsityRef()"
+extern "C"
+    CasADi::CRSSparsity* CasADi__MX__sparsityRef(CasADi::MX* obj);
+CasADi::CRSSparsity* CasADi__MX__sparsityRef(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( obj->sparsityRef() );
+}
+
+
+// ================== Normal method: "erase" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::erase"
+// cWrapperName: "CasADi__MX__erase"
+// protoArgs: "(CasADi::MX* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__MX__erase(CasADi::MX* obj, std::vector< int >* x0, std::vector< int >* x1)"
+// call: "obj->erase(x0_, x1_)"
+extern "C"
+    void CasADi__MX__erase(CasADi::MX* obj, std::vector< int >* x0, std::vector< int >* x1);
+void CasADi__MX__erase(CasADi::MX* obj, std::vector< int >* x0, std::vector< int >* x1){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    obj->erase(x0_, x1_);
+}
+
+
+// ================== Normal method: "enlarge" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::enlarge"
+// cWrapperName: "CasADi__MX__enlarge"
+// protoArgs: "(CasADi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// args: "(x0_, x1_, x2_, x3_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__MX__enlarge(CasADi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// call: "obj->enlarge(x0_, x1_, x2_, x3_)"
+extern "C"
+    void CasADi__MX__enlarge(CasADi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
+void CasADi__MX__enlarge(CasADi::MX* obj, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+
+    obj->enlarge(x0_, x1_, x2_, x3_);
+}
+
+
+// ================== Normal method: "operator -" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::operator -"
+// cWrapperName: "CasADi__MX__operator_minus"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__operator_minus(CasADi::MX* obj)"
+// call: "obj->operator -()"
+extern "C"
+    CasADi::MX* CasADi__MX__operator_minus(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__operator_minus(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->operator -() );
+}
+
+
+// ================== Normal method: "getDep" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getDep"
+// cWrapperName: "CasADi__MX__getDep"
+// protoArgs: "(CasADi::MX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__getDep(CasADi::MX* obj, int x0)"
+// call: "obj->getDep(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__getDep(CasADi::MX* obj, int x0);
+CasADi::MX* CasADi__MX__getDep(CasADi::MX* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->getDep(x0_) );
+}
+
+
+// ================== Normal method: "getDep'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getDep'"
+// cWrapperName: "CasADi__MX__getDep_TIC"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__getDep_TIC(CasADi::MX* obj)"
+// call: "obj->getDep()"
+extern "C"
+    CasADi::MX* CasADi__MX__getDep_TIC(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__getDep_TIC(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->getDep() );
+}
+
+
+// ================== Normal method: "getNumOutputs" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getNumOutputs"
+// cWrapperName: "CasADi__MX__getNumOutputs"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__getNumOutputs(CasADi::MX* obj)"
+// call: "obj->getNumOutputs()"
+extern "C"
+    int CasADi__MX__getNumOutputs(CasADi::MX* obj);
+int CasADi__MX__getNumOutputs(CasADi::MX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getNumOutputs() );
+}
+
+
+// ================== Normal method: "getOutput" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getOutput"
+// cWrapperName: "CasADi__MX__getOutput"
+// protoArgs: "(CasADi::MX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__getOutput(CasADi::MX* obj, int x0)"
+// call: "obj->getOutput(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__getOutput(CasADi::MX* obj, int x0);
+CasADi::MX* CasADi__MX__getOutput(CasADi::MX* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->getOutput(x0_) );
+}
+
+
+// ================== Normal method: "getOutput'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getOutput'"
+// cWrapperName: "CasADi__MX__getOutput_TIC"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__getOutput_TIC(CasADi::MX* obj)"
+// call: "obj->getOutput()"
+extern "C"
+    CasADi::MX* CasADi__MX__getOutput_TIC(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__getOutput_TIC(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->getOutput() );
+}
+
+
+// ================== Normal method: "getNdeps" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getNdeps"
+// cWrapperName: "CasADi__MX__getNdeps"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__getNdeps(CasADi::MX* obj)"
+// call: "obj->getNdeps()"
+extern "C"
+    int CasADi__MX__getNdeps(CasADi::MX* obj);
+int CasADi__MX__getNdeps(CasADi::MX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getNdeps() );
+}
+
+
+// ================== Normal method: "getName" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getName"
+// cWrapperName: "CasADi__MX__getName"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__MX__getName(CasADi::MX* obj)"
+// call: "obj->getName()"
+extern "C"
+    std::string* CasADi__MX__getName(CasADi::MX* obj);
+std::string* CasADi__MX__getName(CasADi::MX* obj){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( obj->getName() );
+}
+
+
+// ================== Normal method: "getValue" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getValue"
+// cWrapperName: "CasADi__MX__getValue"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double CasADi__MX__getValue(CasADi::MX* obj)"
+// call: "obj->getValue()"
+extern "C"
+    double CasADi__MX__getValue(CasADi::MX* obj);
+double CasADi__MX__getValue(CasADi::MX* obj){
+
+    return WrapReturn< double, double >::wrapReturn( obj->getValue() );
+}
+
+
+// ================== Normal method: "getMatrixValue" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getMatrixValue"
+// cWrapperName: "CasADi__MX__getMatrixValue"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass DMatrix
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__MX__getMatrixValue(CasADi::MX* obj)"
+// call: "obj->getMatrixValue()"
+extern "C"
+    CasADi::Matrix< double >* CasADi__MX__getMatrixValue(CasADi::MX* obj);
+CasADi::Matrix< double >* CasADi__MX__getMatrixValue(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( obj->getMatrixValue() );
+}
+
+
+// ================== Normal method: "isSymbolic" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isSymbolic"
+// cWrapperName: "CasADi__MX__isSymbolic"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isSymbolic(CasADi::MX* obj)"
+// call: "obj->isSymbolic()"
+extern "C"
+    int CasADi__MX__isSymbolic(CasADi::MX* obj);
+int CasADi__MX__isSymbolic(CasADi::MX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isSymbolic() );
+}
+
+
+// ================== Normal method: "isConstant" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isConstant"
+// cWrapperName: "CasADi__MX__isConstant"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isConstant(CasADi::MX* obj)"
+// call: "obj->isConstant()"
+extern "C"
+    int CasADi__MX__isConstant(CasADi::MX* obj);
+int CasADi__MX__isConstant(CasADi::MX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isConstant() );
+}
+
+
+// ================== Normal method: "isEvaluation" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isEvaluation"
+// cWrapperName: "CasADi__MX__isEvaluation"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isEvaluation(CasADi::MX* obj)"
+// call: "obj->isEvaluation()"
+extern "C"
+    int CasADi__MX__isEvaluation(CasADi::MX* obj);
+int CasADi__MX__isEvaluation(CasADi::MX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isEvaluation() );
+}
+
+
+// ================== Normal method: "isEvaluationOutput" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isEvaluationOutput"
+// cWrapperName: "CasADi__MX__isEvaluationOutput"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isEvaluationOutput(CasADi::MX* obj)"
+// call: "obj->isEvaluationOutput()"
+extern "C"
+    int CasADi__MX__isEvaluationOutput(CasADi::MX* obj);
+int CasADi__MX__isEvaluationOutput(CasADi::MX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isEvaluationOutput() );
+}
+
+
+// ================== Normal method: "getEvaluationOutput" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getEvaluationOutput"
+// cWrapperName: "CasADi__MX__getEvaluationOutput"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__getEvaluationOutput(CasADi::MX* obj)"
+// call: "obj->getEvaluationOutput()"
+extern "C"
+    int CasADi__MX__getEvaluationOutput(CasADi::MX* obj);
+int CasADi__MX__getEvaluationOutput(CasADi::MX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getEvaluationOutput() );
+}
+
+
+// ================== Normal method: "isOperation" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isOperation"
+// cWrapperName: "CasADi__MX__isOperation"
+// protoArgs: "(CasADi::MX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isOperation(CasADi::MX* obj, int x0)"
+// call: "obj->isOperation(x0_)"
+extern "C"
+    int CasADi__MX__isOperation(CasADi::MX* obj, int x0);
+int CasADi__MX__isOperation(CasADi::MX* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isOperation(x0_) );
+}
+
+
+// ================== Normal method: "isMultiplication" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isMultiplication"
+// cWrapperName: "CasADi__MX__isMultiplication"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isMultiplication(CasADi::MX* obj)"
+// call: "obj->isMultiplication()"
+extern "C"
+    int CasADi__MX__isMultiplication(CasADi::MX* obj);
+int CasADi__MX__isMultiplication(CasADi::MX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isMultiplication() );
+}
+
+
+// ================== Normal method: "isCommutative" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isCommutative"
+// cWrapperName: "CasADi__MX__isCommutative"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isCommutative(CasADi::MX* obj)"
+// call: "obj->isCommutative()"
+extern "C"
+    int CasADi__MX__isCommutative(CasADi::MX* obj);
+int CasADi__MX__isCommutative(CasADi::MX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isCommutative() );
+}
+
+
+// ================== Normal method: "isNorm" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isNorm"
+// cWrapperName: "CasADi__MX__isNorm"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isNorm(CasADi::MX* obj)"
+// call: "obj->isNorm()"
+extern "C"
+    int CasADi__MX__isNorm(CasADi::MX* obj);
+int CasADi__MX__isNorm(CasADi::MX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isNorm() );
+}
+
+
+// ================== Normal method: "getFunction" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getFunction"
+// cWrapperName: "CasADi__MX__getFunction"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass FX
+// cWrapperRetType: "CasADi::FX*"
+// proto: "CasADi::FX* CasADi__MX__getFunction(CasADi::MX* obj)"
+// call: "obj->getFunction()"
+extern "C"
+    CasADi::FX* CasADi__MX__getFunction(CasADi::MX* obj);
+CasADi::FX* CasADi__MX__getFunction(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::FX*, CasADi::FX >::wrapReturn( obj->getFunction() );
+}
+
+
+// ================== Normal method: "isBinary" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isBinary"
+// cWrapperName: "CasADi__MX__isBinary"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isBinary(CasADi::MX* obj)"
+// call: "obj->isBinary()"
+extern "C"
+    int CasADi__MX__isBinary(CasADi::MX* obj);
+int CasADi__MX__isBinary(CasADi::MX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isBinary() );
+}
+
+
+// ================== Normal method: "isUnary" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isUnary"
+// cWrapperName: "CasADi__MX__isUnary"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isUnary(CasADi::MX* obj)"
+// call: "obj->isUnary()"
+extern "C"
+    int CasADi__MX__isUnary(CasADi::MX* obj);
+int CasADi__MX__isUnary(CasADi::MX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isUnary() );
+}
+
+
+// ================== Normal method: "getOp" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getOp"
+// cWrapperName: "CasADi__MX__getOp"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__getOp(CasADi::MX* obj)"
+// call: "obj->getOp()"
+extern "C"
+    int CasADi__MX__getOp(CasADi::MX* obj);
+int CasADi__MX__getOp(CasADi::MX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getOp() );
+}
+
+
+// ================== Normal method: "isEqual" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isEqual"
+// cWrapperName: "CasADi__MX__isEqual"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isEqual(CasADi::MX* obj, CasADi::MX* x0, int x1)"
+// call: "obj->isEqual(x0_, x1_)"
+extern "C"
+    int CasADi__MX__isEqual(CasADi::MX* obj, CasADi::MX* x0, int x1);
+int CasADi__MX__isEqual(CasADi::MX* obj, CasADi::MX* x0, int x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isEqual(x0_, x1_) );
+}
+
+
+// ================== Normal method: "isEqual'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::isEqual'"
+// cWrapperName: "CasADi__MX__isEqual_TIC"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__isEqual_TIC(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->isEqual(x0_)"
+extern "C"
+    int CasADi__MX__isEqual_TIC(CasADi::MX* obj, CasADi::MX* x0);
+int CasADi__MX__isEqual_TIC(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isEqual(x0_) );
+}
+
+
+// ================== Normal method: "__hash__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__hash__"
+// cWrapperName: "CasADi__MX____hash__"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CLong
+// cWrapperRetType: "long"
+// proto: "long CasADi__MX____hash__(CasADi::MX* obj)"
+// call: "obj->__hash__()"
+extern "C"
+    long CasADi__MX____hash__(CasADi::MX* obj);
+long CasADi__MX____hash__(CasADi::MX* obj){
+
+    return WrapReturn< long, long >::wrapReturn( obj->__hash__() );
+}
+
+
+// ================== Normal method: "getTemp" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getTemp"
+// cWrapperName: "CasADi__MX__getTemp"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__getTemp(CasADi::MX* obj)"
+// call: "obj->getTemp()"
+extern "C"
+    int CasADi__MX__getTemp(CasADi::MX* obj);
+int CasADi__MX__getTemp(CasADi::MX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getTemp() );
+}
+
+
+// ================== Normal method: "setTemp" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::setTemp"
+// cWrapperName: "CasADi__MX__setTemp"
+// protoArgs: "(CasADi::MX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__MX__setTemp(CasADi::MX* obj, int x0)"
+// call: "obj->setTemp(x0_)"
+extern "C"
+    void CasADi__MX__setTemp(CasADi::MX* obj, int x0);
+void CasADi__MX__setTemp(CasADi::MX* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    obj->setTemp(x0_);
+}
+
+
+// ================== Static method: "binary" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::binary"
+// cWrapperName: "CasADi__MX__binary"
+// protoArgs: "(int x0, CasADi::MX* x1, CasADi::MX* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__binary(int x0, CasADi::MX* x1, CasADi::MX* x2)"
+// call: "CasADi::MX::binary(x0_, x1_, x2_)"
+extern "C"
+    CasADi::MX* CasADi__MX__binary(int x0, CasADi::MX* x1, CasADi::MX* x2);
+CasADi::MX* CasADi__MX__binary(int x0, CasADi::MX* x1, CasADi::MX* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+    CasADi::MX const & x2_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x2);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::binary(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "unary" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::unary"
+// cWrapperName: "CasADi__MX__unary"
+// protoArgs: "(int x0, CasADi::MX* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__unary(int x0, CasADi::MX* x1)"
+// call: "CasADi::MX::unary(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__unary(int x0, CasADi::MX* x1);
+CasADi::MX* CasADi__MX__unary(int x0, CasADi::MX* x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::unary(x0_, x1_) );
+}
+
+
+// ================== Static method: "sparse" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::sparse"
+// cWrapperName: "CasADi__MX__sparse"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__sparse(int x0, int x1)"
+// call: "CasADi::MX::sparse(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__sparse(int x0, int x1);
+CasADi::MX* CasADi__MX__sparse(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::sparse(x0_, x1_) );
+}
+
+
+// ================== Static method: "sparse'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::sparse'"
+// cWrapperName: "CasADi__MX__sparse_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__sparse_TIC(int x0)"
+// call: "CasADi::MX::sparse(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__sparse_TIC(int x0);
+CasADi::MX* CasADi__MX__sparse_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::sparse(x0_) );
+}
+
+
+// ================== Static method: "zeros" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::zeros"
+// cWrapperName: "CasADi__MX__zeros"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__zeros(CasADi::CRSSparsity* x0)"
+// call: "CasADi::MX::zeros(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__zeros(CasADi::CRSSparsity* x0);
+CasADi::MX* CasADi__MX__zeros(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::zeros(x0_) );
+}
+
+
+// ================== Static method: "zeros'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::zeros'"
+// cWrapperName: "CasADi__MX__zeros_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__zeros_TIC(int x0, int x1)"
+// call: "CasADi::MX::zeros(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__zeros_TIC(int x0, int x1);
+CasADi::MX* CasADi__MX__zeros_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::zeros(x0_, x1_) );
+}
+
+
+// ================== Static method: "zeros''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::zeros''"
+// cWrapperName: "CasADi__MX__zeros_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__zeros_TIC_TIC(int x0)"
+// call: "CasADi::MX::zeros(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__zeros_TIC_TIC(int x0);
+CasADi::MX* CasADi__MX__zeros_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::zeros(x0_) );
+}
+
+
+// ================== Static method: "ones" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::ones"
+// cWrapperName: "CasADi__MX__ones"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__ones(CasADi::CRSSparsity* x0)"
+// call: "CasADi::MX::ones(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__ones(CasADi::CRSSparsity* x0);
+CasADi::MX* CasADi__MX__ones(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::ones(x0_) );
+}
+
+
+// ================== Static method: "ones'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::ones'"
+// cWrapperName: "CasADi__MX__ones_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__ones_TIC(int x0, int x1)"
+// call: "CasADi::MX::ones(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__ones_TIC(int x0, int x1);
+CasADi::MX* CasADi__MX__ones_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::ones(x0_, x1_) );
+}
+
+
+// ================== Static method: "ones''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::ones''"
+// cWrapperName: "CasADi__MX__ones_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__ones_TIC_TIC(int x0)"
+// call: "CasADi::MX::ones(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__ones_TIC_TIC(int x0);
+CasADi::MX* CasADi__MX__ones_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::ones(x0_) );
+}
+
+
+// ================== Static method: "inf" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::inf"
+// cWrapperName: "CasADi__MX__inf"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__inf(CasADi::CRSSparsity* x0)"
+// call: "CasADi::MX::inf(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__inf(CasADi::CRSSparsity* x0);
+CasADi::MX* CasADi__MX__inf(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::inf(x0_) );
+}
+
+
+// ================== Static method: "inf'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::inf'"
+// cWrapperName: "CasADi__MX__inf_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__inf_TIC(int x0, int x1)"
+// call: "CasADi::MX::inf(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__inf_TIC(int x0, int x1);
+CasADi::MX* CasADi__MX__inf_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::inf(x0_, x1_) );
+}
+
+
+// ================== Static method: "inf''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::inf''"
+// cWrapperName: "CasADi__MX__inf_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__inf_TIC_TIC(int x0)"
+// call: "CasADi::MX::inf(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__inf_TIC_TIC(int x0);
+CasADi::MX* CasADi__MX__inf_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::inf(x0_) );
+}
+
+
+// ================== Static method: "inf'''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::inf'''"
+// cWrapperName: "CasADi__MX__inf_TIC_TIC_TIC"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__inf_TIC_TIC_TIC()"
+// call: "CasADi::MX::inf()"
+extern "C"
+    CasADi::MX* CasADi__MX__inf_TIC_TIC_TIC();
+CasADi::MX* CasADi__MX__inf_TIC_TIC_TIC(){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::inf() );
+}
+
+
+// ================== Static method: "nan" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::nan"
+// cWrapperName: "CasADi__MX__nan"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__nan(CasADi::CRSSparsity* x0)"
+// call: "CasADi::MX::nan(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__nan(CasADi::CRSSparsity* x0);
+CasADi::MX* CasADi__MX__nan(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::nan(x0_) );
+}
+
+
+// ================== Static method: "nan'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::nan'"
+// cWrapperName: "CasADi__MX__nan_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__nan_TIC(int x0, int x1)"
+// call: "CasADi::MX::nan(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__nan_TIC(int x0, int x1);
+CasADi::MX* CasADi__MX__nan_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::nan(x0_, x1_) );
+}
+
+
+// ================== Static method: "nan''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::nan''"
+// cWrapperName: "CasADi__MX__nan_TIC_TIC"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__nan_TIC_TIC(int x0)"
+// call: "CasADi::MX::nan(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__nan_TIC_TIC(int x0);
+CasADi::MX* CasADi__MX__nan_TIC_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::nan(x0_) );
+}
+
+
+// ================== Static method: "nan'''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::nan'''"
+// cWrapperName: "CasADi__MX__nan_TIC_TIC_TIC"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__nan_TIC_TIC_TIC()"
+// call: "CasADi::MX::nan()"
+extern "C"
+    CasADi::MX* CasADi__MX__nan_TIC_TIC_TIC();
+CasADi::MX* CasADi__MX__nan_TIC_TIC_TIC(){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::nan() );
+}
+
+
+// ================== Static method: "repmat" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::repmat"
+// cWrapperName: "CasADi__MX__repmat"
+// protoArgs: "(CasADi::MX* x0, int x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__repmat(CasADi::MX* x0, int x1, int x2)"
+// call: "CasADi::MX::repmat(x0_, x1_, x2_)"
+extern "C"
+    CasADi::MX* CasADi__MX__repmat(CasADi::MX* x0, int x1, int x2);
+CasADi::MX* CasADi__MX__repmat(CasADi::MX* x0, int x1, int x2){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::repmat(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "repmat'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::repmat'"
+// cWrapperName: "CasADi__MX__repmat_TIC"
+// protoArgs: "(CasADi::MX* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__repmat_TIC(CasADi::MX* x0, int x1)"
+// call: "CasADi::MX::repmat(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__repmat_TIC(CasADi::MX* x0, int x1);
+CasADi::MX* CasADi__MX__repmat_TIC(CasADi::MX* x0, int x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::repmat(x0_, x1_) );
+}
+
+
+// ================== Static method: "eye" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::eye"
+// cWrapperName: "CasADi__MX__eye"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__eye(int x0)"
+// call: "CasADi::MX::eye(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__eye(int x0);
+CasADi::MX* CasADi__MX__eye(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX::eye(x0_) );
+}
+
+
+// ================== Normal method: "getNZ" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getNZ"
+// cWrapperName: "CasADi__MX__getNZ"
+// protoArgs: "(CasADi::MX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__getNZ(CasADi::MX* obj, int x0)"
+// call: "obj->getNZ(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__getNZ(CasADi::MX* obj, int x0);
+CasADi::MX* CasADi__MX__getNZ(CasADi::MX* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->getNZ(x0_) );
+}
+
+
+// ================== Normal method: "getNZ'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getNZ'"
+// cWrapperName: "CasADi__MX__getNZ_TIC"
+// protoArgs: "(CasADi::MX* obj, std::vector< int >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__getNZ_TIC(CasADi::MX* obj, std::vector< int >* x0)"
+// call: "obj->getNZ(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__getNZ_TIC(CasADi::MX* obj, std::vector< int >* x0);
+CasADi::MX* CasADi__MX__getNZ_TIC(CasADi::MX* obj, std::vector< int >* x0){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->getNZ(x0_) );
+}
+
+
+// ================== Normal method: "append" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::append"
+// cWrapperName: "CasADi__MX__append"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__MX__append(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->append(x0_)"
+extern "C"
+    void CasADi__MX__append(CasADi::MX* obj, CasADi::MX* x0);
+void CasADi__MX__append(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    obj->append(x0_);
+}
+
+
+// ================== Normal method: "__add__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__add__"
+// cWrapperName: "CasADi__MX____add__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____add__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__add__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____add__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____add__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__add__(x0_) );
+}
+
+
+// ================== Normal method: "__sub__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__sub__"
+// cWrapperName: "CasADi__MX____sub__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____sub__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__sub__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____sub__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____sub__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__sub__(x0_) );
+}
+
+
+// ================== Normal method: "__mul__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__mul__"
+// cWrapperName: "CasADi__MX____mul__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____mul__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__mul__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____mul__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____mul__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__mul__(x0_) );
+}
+
+
+// ================== Normal method: "__div__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__div__"
+// cWrapperName: "CasADi__MX____div__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____div__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__div__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____div__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____div__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__div__(x0_) );
+}
+
+
+// ================== Normal method: "__lt__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__lt__"
+// cWrapperName: "CasADi__MX____lt__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____lt__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__lt__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____lt__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____lt__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__lt__(x0_) );
+}
+
+
+// ================== Normal method: "__le__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__le__"
+// cWrapperName: "CasADi__MX____le__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____le__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__le__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____le__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____le__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__le__(x0_) );
+}
+
+
+// ================== Normal method: "__eq__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__eq__"
+// cWrapperName: "CasADi__MX____eq__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____eq__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__eq__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____eq__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____eq__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__eq__(x0_) );
+}
+
+
+// ================== Normal method: "__ne__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__ne__"
+// cWrapperName: "CasADi__MX____ne__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____ne__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__ne__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____ne__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____ne__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__ne__(x0_) );
+}
+
+
+// ================== Normal method: "__truediv__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__truediv__"
+// cWrapperName: "CasADi__MX____truediv__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____truediv__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__truediv__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____truediv__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____truediv__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__truediv__(x0_) );
+}
+
+
+// ================== Normal method: "__pow__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__pow__"
+// cWrapperName: "CasADi__MX____pow__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____pow__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__pow__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____pow__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____pow__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__pow__(x0_) );
+}
+
+
+// ================== Normal method: "__constpow__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__constpow__"
+// cWrapperName: "CasADi__MX____constpow__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____constpow__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__constpow__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____constpow__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____constpow__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__constpow__(x0_) );
+}
+
+
+// ================== Normal method: "__mrdivide__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__mrdivide__"
+// cWrapperName: "CasADi__MX____mrdivide__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____mrdivide__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__mrdivide__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____mrdivide__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____mrdivide__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__mrdivide__(x0_) );
+}
+
+
+// ================== Normal method: "__mpower__" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::__mpower__"
+// cWrapperName: "CasADi__MX____mpower__"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX____mpower__(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->__mpower__(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX____mpower__(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX____mpower__(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->__mpower__(x0_) );
+}
+
+
+// ================== Normal method: "mul" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::mul"
+// cWrapperName: "CasADi__MX__mul"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__mul(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1)"
+// call: "obj->mul(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__mul(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1);
+CasADi::MX* CasADi__MX__mul(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->mul(x0_, x1_) );
+}
+
+
+// ================== Normal method: "mul'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::mul'"
+// cWrapperName: "CasADi__MX__mul_TIC"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__mul_TIC(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->mul(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__mul_TIC(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__mul_TIC(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->mul(x0_) );
+}
+
+
+// ================== Normal method: "mul_full" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::mul_full"
+// cWrapperName: "CasADi__MX__mul_full"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__mul_full(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1)"
+// call: "obj->mul_full(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__mul_full(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1);
+CasADi::MX* CasADi__MX__mul_full(CasADi::MX* obj, CasADi::MX* x0, CasADi::CRSSparsity* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->mul_full(x0_, x1_) );
+}
+
+
+// ================== Normal method: "mul_full'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::mul_full'"
+// cWrapperName: "CasADi__MX__mul_full_TIC"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__mul_full_TIC(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->mul_full(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__mul_full_TIC(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__mul_full_TIC(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->mul_full(x0_) );
+}
+
+
+// ================== Normal method: "inner_prod" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::inner_prod"
+// cWrapperName: "CasADi__MX__inner_prod"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__inner_prod(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->inner_prod(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__inner_prod(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__inner_prod(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->inner_prod(x0_) );
+}
+
+
+// ================== Normal method: "outer_prod" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::outer_prod"
+// cWrapperName: "CasADi__MX__outer_prod"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__outer_prod(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->outer_prod(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__outer_prod(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__outer_prod(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->outer_prod(x0_) );
+}
+
+
+// ================== Normal method: "constpow" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::constpow"
+// cWrapperName: "CasADi__MX__constpow"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__constpow(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->constpow(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__constpow(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__constpow(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->constpow(x0_) );
+}
+
+
+// ================== Normal method: "fmin" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::fmin"
+// cWrapperName: "CasADi__MX__fmin"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__fmin(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->fmin(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__fmin(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__fmin(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->fmin(x0_) );
+}
+
+
+// ================== Normal method: "fmax" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::fmax"
+// cWrapperName: "CasADi__MX__fmax"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__fmax(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->fmax(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__fmax(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__fmax(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->fmax(x0_) );
+}
+
+
+// ================== Normal method: "printme" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::printme"
+// cWrapperName: "CasADi__MX__printme"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__printme(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->printme(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__printme(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__printme(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->printme(x0_) );
+}
+
+
+// ================== Normal method: "arctan2" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::arctan2"
+// cWrapperName: "CasADi__MX__arctan2"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__arctan2(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->arctan2(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__arctan2(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__arctan2(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->arctan2(x0_) );
+}
+
+
+// ================== Normal method: "logic_and" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::logic_and"
+// cWrapperName: "CasADi__MX__logic_and"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__logic_and(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->logic_and(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__logic_and(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__logic_and(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->logic_and(x0_) );
+}
+
+
+// ================== Normal method: "logic_or" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::logic_or"
+// cWrapperName: "CasADi__MX__logic_or"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__logic_or(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->logic_or(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__logic_or(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__logic_or(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->logic_or(x0_) );
+}
+
+
+// ================== Normal method: "if_else_zero" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::if_else_zero"
+// cWrapperName: "CasADi__MX__if_else_zero"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__if_else_zero(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->if_else_zero(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__if_else_zero(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__if_else_zero(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->if_else_zero(x0_) );
+}
+
+
+// ================== Normal method: "exp" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::exp"
+// cWrapperName: "CasADi__MX__exp"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__exp(CasADi::MX* obj)"
+// call: "obj->exp()"
+extern "C"
+    CasADi::MX* CasADi__MX__exp(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__exp(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->exp() );
+}
+
+
+// ================== Normal method: "log" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::log"
+// cWrapperName: "CasADi__MX__log"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__log(CasADi::MX* obj)"
+// call: "obj->log()"
+extern "C"
+    CasADi::MX* CasADi__MX__log(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__log(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->log() );
+}
+
+
+// ================== Normal method: "log10" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::log10"
+// cWrapperName: "CasADi__MX__log10"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__log10(CasADi::MX* obj)"
+// call: "obj->log10()"
+extern "C"
+    CasADi::MX* CasADi__MX__log10(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__log10(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->log10() );
+}
+
+
+// ================== Normal method: "sqrt" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::sqrt"
+// cWrapperName: "CasADi__MX__sqrt"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__sqrt(CasADi::MX* obj)"
+// call: "obj->sqrt()"
+extern "C"
+    CasADi::MX* CasADi__MX__sqrt(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__sqrt(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->sqrt() );
+}
+
+
+// ================== Normal method: "sin" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::sin"
+// cWrapperName: "CasADi__MX__sin"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__sin(CasADi::MX* obj)"
+// call: "obj->sin()"
+extern "C"
+    CasADi::MX* CasADi__MX__sin(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__sin(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->sin() );
+}
+
+
+// ================== Normal method: "cos" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::cos"
+// cWrapperName: "CasADi__MX__cos"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__cos(CasADi::MX* obj)"
+// call: "obj->cos()"
+extern "C"
+    CasADi::MX* CasADi__MX__cos(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__cos(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->cos() );
+}
+
+
+// ================== Normal method: "tan" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::tan"
+// cWrapperName: "CasADi__MX__tan"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__tan(CasADi::MX* obj)"
+// call: "obj->tan()"
+extern "C"
+    CasADi::MX* CasADi__MX__tan(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__tan(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->tan() );
+}
+
+
+// ================== Normal method: "arcsin" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::arcsin"
+// cWrapperName: "CasADi__MX__arcsin"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__arcsin(CasADi::MX* obj)"
+// call: "obj->arcsin()"
+extern "C"
+    CasADi::MX* CasADi__MX__arcsin(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__arcsin(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->arcsin() );
+}
+
+
+// ================== Normal method: "arccos" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::arccos"
+// cWrapperName: "CasADi__MX__arccos"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__arccos(CasADi::MX* obj)"
+// call: "obj->arccos()"
+extern "C"
+    CasADi::MX* CasADi__MX__arccos(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__arccos(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->arccos() );
+}
+
+
+// ================== Normal method: "arctan" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::arctan"
+// cWrapperName: "CasADi__MX__arctan"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__arctan(CasADi::MX* obj)"
+// call: "obj->arctan()"
+extern "C"
+    CasADi::MX* CasADi__MX__arctan(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__arctan(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->arctan() );
+}
+
+
+// ================== Normal method: "floor" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::floor"
+// cWrapperName: "CasADi__MX__floor"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__floor(CasADi::MX* obj)"
+// call: "obj->floor()"
+extern "C"
+    CasADi::MX* CasADi__MX__floor(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__floor(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->floor() );
+}
+
+
+// ================== Normal method: "ceil" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::ceil"
+// cWrapperName: "CasADi__MX__ceil"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__ceil(CasADi::MX* obj)"
+// call: "obj->ceil()"
+extern "C"
+    CasADi::MX* CasADi__MX__ceil(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__ceil(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->ceil() );
+}
+
+
+// ================== Normal method: "fabs" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::fabs"
+// cWrapperName: "CasADi__MX__fabs"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__fabs(CasADi::MX* obj)"
+// call: "obj->fabs()"
+extern "C"
+    CasADi::MX* CasADi__MX__fabs(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__fabs(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->fabs() );
+}
+
+
+// ================== Normal method: "sign" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::sign"
+// cWrapperName: "CasADi__MX__sign"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__sign(CasADi::MX* obj)"
+// call: "obj->sign()"
+extern "C"
+    CasADi::MX* CasADi__MX__sign(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__sign(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->sign() );
+}
+
+
+// ================== Normal method: "erfinv" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::erfinv"
+// cWrapperName: "CasADi__MX__erfinv"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__erfinv(CasADi::MX* obj)"
+// call: "obj->erfinv()"
+extern "C"
+    CasADi::MX* CasADi__MX__erfinv(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__erfinv(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->erfinv() );
+}
+
+
+// ================== Normal method: "erf" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::erf"
+// cWrapperName: "CasADi__MX__erf"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__erf(CasADi::MX* obj)"
+// call: "obj->erf()"
+extern "C"
+    CasADi::MX* CasADi__MX__erf(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__erf(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->erf() );
+}
+
+
+// ================== Normal method: "sinh" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::sinh"
+// cWrapperName: "CasADi__MX__sinh"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__sinh(CasADi::MX* obj)"
+// call: "obj->sinh()"
+extern "C"
+    CasADi::MX* CasADi__MX__sinh(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__sinh(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->sinh() );
+}
+
+
+// ================== Normal method: "cosh" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::cosh"
+// cWrapperName: "CasADi__MX__cosh"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__cosh(CasADi::MX* obj)"
+// call: "obj->cosh()"
+extern "C"
+    CasADi::MX* CasADi__MX__cosh(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__cosh(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->cosh() );
+}
+
+
+// ================== Normal method: "tanh" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::tanh"
+// cWrapperName: "CasADi__MX__tanh"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__tanh(CasADi::MX* obj)"
+// call: "obj->tanh()"
+extern "C"
+    CasADi::MX* CasADi__MX__tanh(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__tanh(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->tanh() );
+}
+
+
+// ================== Normal method: "arcsinh" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::arcsinh"
+// cWrapperName: "CasADi__MX__arcsinh"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__arcsinh(CasADi::MX* obj)"
+// call: "obj->arcsinh()"
+extern "C"
+    CasADi::MX* CasADi__MX__arcsinh(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__arcsinh(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->arcsinh() );
+}
+
+
+// ================== Normal method: "arccosh" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::arccosh"
+// cWrapperName: "CasADi__MX__arccosh"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__arccosh(CasADi::MX* obj)"
+// call: "obj->arccosh()"
+extern "C"
+    CasADi::MX* CasADi__MX__arccosh(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__arccosh(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->arccosh() );
+}
+
+
+// ================== Normal method: "arctanh" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::arctanh"
+// cWrapperName: "CasADi__MX__arctanh"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__arctanh(CasADi::MX* obj)"
+// call: "obj->arctanh()"
+extern "C"
+    CasADi::MX* CasADi__MX__arctanh(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__arctanh(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->arctanh() );
+}
+
+
+// ================== Normal method: "logic_not" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::logic_not"
+// cWrapperName: "CasADi__MX__logic_not"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__logic_not(CasADi::MX* obj)"
+// call: "obj->logic_not()"
+extern "C"
+    CasADi::MX* CasADi__MX__logic_not(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__logic_not(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->logic_not() );
+}
+
+
+// ================== Normal method: "attachAssert" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::attachAssert"
+// cWrapperName: "CasADi__MX__attachAssert"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0, std::string* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__attachAssert(CasADi::MX* obj, CasADi::MX* x0, std::string* x1)"
+// call: "obj->attachAssert(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__attachAssert(CasADi::MX* obj, CasADi::MX* x0, std::string* x1);
+CasADi::MX* CasADi__MX__attachAssert(CasADi::MX* obj, CasADi::MX* x0, std::string* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    std::string const & x1_ = Marshaling<std::string const &,std::string*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->attachAssert(x0_, x1_) );
+}
+
+
+// ================== Normal method: "attachAssert'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::attachAssert'"
+// cWrapperName: "CasADi__MX__attachAssert_TIC"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__attachAssert_TIC(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->attachAssert(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__attachAssert_TIC(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__attachAssert_TIC(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->attachAssert(x0_) );
+}
+
+
+// ================== Normal method: "setSparse" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::setSparse"
+// cWrapperName: "CasADi__MX__setSparse"
+// protoArgs: "(CasADi::MX* obj, CasADi::CRSSparsity* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__setSparse(CasADi::MX* obj, CasADi::CRSSparsity* x0, int x1)"
+// call: "obj->setSparse(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__setSparse(CasADi::MX* obj, CasADi::CRSSparsity* x0, int x1);
+CasADi::MX* CasADi__MX__setSparse(CasADi::MX* obj, CasADi::CRSSparsity* x0, int x1){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+    bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->setSparse(x0_, x1_) );
+}
+
+
+// ================== Normal method: "setSparse'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::setSparse'"
+// cWrapperName: "CasADi__MX__setSparse_TIC"
+// protoArgs: "(CasADi::MX* obj, CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__setSparse_TIC(CasADi::MX* obj, CasADi::CRSSparsity* x0)"
+// call: "obj->setSparse(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__setSparse_TIC(CasADi::MX* obj, CasADi::CRSSparsity* x0);
+CasADi::MX* CasADi__MX__setSparse_TIC(CasADi::MX* obj, CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->setSparse(x0_) );
+}
+
+
+// ================== Normal method: "makeDense" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::makeDense"
+// cWrapperName: "CasADi__MX__makeDense"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__makeDense(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->makeDense(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__makeDense(CasADi::MX* obj, CasADi::MX* x0);
+CasADi::MX* CasADi__MX__makeDense(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->makeDense(x0_) );
+}
+
+
+// ================== Normal method: "makeDense'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::makeDense'"
+// cWrapperName: "CasADi__MX__makeDense_TIC"
+// protoArgs: "(CasADi::MX* obj)"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__makeDense_TIC(CasADi::MX* obj)"
+// call: "obj->makeDense()"
+extern "C"
+    CasADi::MX* CasADi__MX__makeDense_TIC(CasADi::MX* obj);
+CasADi::MX* CasADi__MX__makeDense_TIC(CasADi::MX* obj){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( obj->makeDense() );
+}
+
+
+// ================== Normal method: "lift" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::lift"
+// cWrapperName: "CasADi__MX__lift"
+// protoArgs: "(CasADi::MX* obj, CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__MX__lift(CasADi::MX* obj, CasADi::MX* x0)"
+// call: "obj->lift(x0_)"
+extern "C"
+    void CasADi__MX__lift(CasADi::MX* obj, CasADi::MX* x0);
+void CasADi__MX__lift(CasADi::MX* obj, CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    obj->lift(x0_);
+}
+
+
+// ================== Static method: "setMaxNumCallsInPrint" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::setMaxNumCallsInPrint"
+// cWrapperName: "CasADi__MX__setMaxNumCallsInPrint"
+// protoArgs: "(long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__MX__setMaxNumCallsInPrint(long x0)"
+// call: "CasADi::MX::setMaxNumCallsInPrint(x0_)"
+extern "C"
+    void CasADi__MX__setMaxNumCallsInPrint(long x0);
+void CasADi__MX__setMaxNumCallsInPrint(long x0){
+    long x0_ = Marshaling<long,long>::marshal(x0);
+
+    CasADi::MX::setMaxNumCallsInPrint(x0_);
+}
+
+
+// ================== Static method: "setMaxNumCallsInPrint'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::setMaxNumCallsInPrint'"
+// cWrapperName: "CasADi__MX__setMaxNumCallsInPrint_TIC"
+// protoArgs: "()"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__MX__setMaxNumCallsInPrint_TIC()"
+// call: "CasADi::MX::setMaxNumCallsInPrint()"
+extern "C"
+    void CasADi__MX__setMaxNumCallsInPrint_TIC();
+void CasADi__MX__setMaxNumCallsInPrint_TIC(){
+
+    CasADi::MX::setMaxNumCallsInPrint();
+}
+
+
+// ================== Static method: "getMaxNumCallsInPrint" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getMaxNumCallsInPrint"
+// cWrapperName: "CasADi__MX__getMaxNumCallsInPrint"
+// protoArgs: "()"
+// args: "()"
+// rettype: CLong
+// cWrapperRetType: "long"
+// proto: "long CasADi__MX__getMaxNumCallsInPrint()"
+// call: "CasADi::MX::getMaxNumCallsInPrint()"
+extern "C"
+    long CasADi__MX__getMaxNumCallsInPrint();
+long CasADi__MX__getMaxNumCallsInPrint(){
+
+    return WrapReturn< long, long >::wrapReturn( CasADi::MX::getMaxNumCallsInPrint() );
+}
+
+
+// ================== Static method: "setEqualityCheckingDepth" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::setEqualityCheckingDepth"
+// cWrapperName: "CasADi__MX__setEqualityCheckingDepth"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__MX__setEqualityCheckingDepth(int x0)"
+// call: "CasADi::MX::setEqualityCheckingDepth(x0_)"
+extern "C"
+    void CasADi__MX__setEqualityCheckingDepth(int x0);
+void CasADi__MX__setEqualityCheckingDepth(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    CasADi::MX::setEqualityCheckingDepth(x0_);
+}
+
+
+// ================== Static method: "setEqualityCheckingDepth'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::setEqualityCheckingDepth'"
+// cWrapperName: "CasADi__MX__setEqualityCheckingDepth_TIC"
+// protoArgs: "()"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__MX__setEqualityCheckingDepth_TIC()"
+// call: "CasADi::MX::setEqualityCheckingDepth()"
+extern "C"
+    void CasADi__MX__setEqualityCheckingDepth_TIC();
+void CasADi__MX__setEqualityCheckingDepth_TIC(){
+
+    CasADi::MX::setEqualityCheckingDepth();
+}
+
+
+// ================== Static method: "getEqualityCheckingDepth" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX::getEqualityCheckingDepth"
+// cWrapperName: "CasADi__MX__getEqualityCheckingDepth"
+// protoArgs: "()"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__MX__getEqualityCheckingDepth()"
+// call: "CasADi::MX::getEqualityCheckingDepth()"
+extern "C"
+    int CasADi__MX__getEqualityCheckingDepth();
+int CasADi__MX__getEqualityCheckingDepth(){
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::MX::getEqualityCheckingDepth() );
+}
+
+
+// ================== Constructor method: "MX" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX()"
+// call: "CasADi::MX()"
+extern "C"
+    CasADi::MX* CasADi__MX__MX();
+CasADi::MX* CasADi__MX__MX(){
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX() );
+}
+
+
+// ================== Constructor method: "MX'" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC"
+// protoArgs: "(std::string* x0, int x1, int x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC(std::string* x0, int x1, int x2)"
+// call: "CasADi::MX(x0_, x1_, x2_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC(std::string* x0, int x1, int x2);
+CasADi::MX* CasADi__MX__MX_TIC(std::string* x0, int x1, int x2){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_, x1_, x2_) );
+}
+
+
+// ================== Constructor method: "MX''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC_TIC"
+// protoArgs: "(std::string* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC(std::string* x0, int x1)"
+// call: "CasADi::MX(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC_TIC(std::string* x0, int x1);
+CasADi::MX* CasADi__MX__MX_TIC_TIC(std::string* x0, int x1){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "MX'''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC(std::string* x0)"
+// call: "CasADi::MX(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC(std::string* x0);
+CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC(std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_) );
+}
+
+
+// ================== Constructor method: "MX''''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1)"
+// call: "CasADi::MX(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1);
+CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "MX'''''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0, CasADi::MX* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::MX* x1)"
+// call: "CasADi::MX(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::MX* x1){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "MX''''''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0)"
+// call: "CasADi::MX(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0);
+CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_) );
+}
+
+
+// ================== Constructor method: "MX'''''''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(double x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0)"
+// call: "CasADi::MX(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0);
+CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC(double x0){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_) );
+}
+
+
+// ================== Constructor method: "MX''''''''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::MX(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_) );
+}
+
+
+// ================== Constructor method: "MX'''''''''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< double >* x0)"
+// call: "CasADi::MX(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< double >* x0);
+CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_) );
+}
+
+
+// ================== Constructor method: "MX''''''''''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::MX(x0_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
+CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_) );
+}
+
+
+// ================== Constructor method: "MX'''''''''''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(int x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1)"
+// call: "CasADi::MX(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1);
+CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "MX''''''''''''" ===============
+// class: "CasADi::MX"
+// cppName: "CasADi::MX"
+// cWrapperName: "CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(int x0, int x1, CasADi::MX* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass MX
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1, CasADi::MX* x2)"
+// call: "CasADi::MX(x0_, x1_, x2_)"
+extern "C"
+    CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1, CasADi::MX* x2);
+CasADi::MX* CasADi__MX__MX_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(int x0, int x1, CasADi::MX* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    CasADi::MX const & x2_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x2);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::MX(x0_, x1_, x2_) );
+}
+
+
+// ================== delete CasadiClass CasadiOptions===============
+// classType: CasadiClass CasadiOptions
+extern "C"
+    void delete_CasADi__CasadiOptions(CasADi::CasadiOptions* obj);
+void delete_CasADi__CasadiOptions(CasADi::CasadiOptions* obj){
+    delete obj;
+}
+
+// ================== Static method: "setCatchErrorsPython" ===============
+// class: "CasADi::CasadiOptions"
+// cppName: "CasADi::CasadiOptions::setCatchErrorsPython"
+// cWrapperName: "CasADi__CasadiOptions__setCatchErrorsPython"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__CasadiOptions__setCatchErrorsPython(int x0)"
+// call: "CasADi::CasadiOptions::setCatchErrorsPython(x0_)"
+extern "C"
+    void CasADi__CasadiOptions__setCatchErrorsPython(int x0);
+void CasADi__CasadiOptions__setCatchErrorsPython(int x0){
+    bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+    CasADi::CasadiOptions::setCatchErrorsPython(x0_);
+}
+
+
+// ================== Static method: "getCatchErrorsPython" ===============
+// class: "CasADi::CasadiOptions"
+// cppName: "CasADi::CasadiOptions::getCatchErrorsPython"
+// cWrapperName: "CasADi__CasadiOptions__getCatchErrorsPython"
+// protoArgs: "()"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__CasadiOptions__getCatchErrorsPython()"
+// call: "CasADi::CasadiOptions::getCatchErrorsPython()"
+extern "C"
+    int CasADi__CasadiOptions__getCatchErrorsPython();
+int CasADi__CasadiOptions__getCatchErrorsPython(){
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::CasadiOptions::getCatchErrorsPython() );
+}
+
+
+// ================== Static method: "setSimplificationOnTheFly" ===============
+// class: "CasADi::CasadiOptions"
+// cppName: "CasADi::CasadiOptions::setSimplificationOnTheFly"
+// cWrapperName: "CasADi__CasadiOptions__setSimplificationOnTheFly"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__CasadiOptions__setSimplificationOnTheFly(int x0)"
+// call: "CasADi::CasadiOptions::setSimplificationOnTheFly(x0_)"
+extern "C"
+    void CasADi__CasadiOptions__setSimplificationOnTheFly(int x0);
+void CasADi__CasadiOptions__setSimplificationOnTheFly(int x0){
+    bool x0_ = Marshaling<bool,int>::marshal(x0);
+
+    CasADi::CasadiOptions::setSimplificationOnTheFly(x0_);
+}
+
+
+// ================== Static method: "getSimplificationOnTheFly" ===============
+// class: "CasADi::CasadiOptions"
+// cppName: "CasADi::CasadiOptions::getSimplificationOnTheFly"
+// cWrapperName: "CasADi__CasadiOptions__getSimplificationOnTheFly"
+// protoArgs: "()"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__CasadiOptions__getSimplificationOnTheFly()"
+// call: "CasADi::CasadiOptions::getSimplificationOnTheFly()"
+extern "C"
+    int CasADi__CasadiOptions__getSimplificationOnTheFly();
+int CasADi__CasadiOptions__getSimplificationOnTheFly(){
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::CasadiOptions::getSimplificationOnTheFly() );
+}
+
+
+// ================== Static method: "startProfiling" ===============
+// class: "CasADi::CasadiOptions"
+// cppName: "CasADi::CasadiOptions::startProfiling"
+// cWrapperName: "CasADi__CasadiOptions__startProfiling"
+// protoArgs: "(std::string* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__CasadiOptions__startProfiling(std::string* x0)"
+// call: "CasADi::CasadiOptions::startProfiling(x0_)"
+extern "C"
+    void CasADi__CasadiOptions__startProfiling(std::string* x0);
+void CasADi__CasadiOptions__startProfiling(std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    CasADi::CasadiOptions::startProfiling(x0_);
+}
+
+
+// ================== Static method: "stopProfiling" ===============
+// class: "CasADi::CasadiOptions"
+// cppName: "CasADi::CasadiOptions::stopProfiling"
+// cWrapperName: "CasADi__CasadiOptions__stopProfiling"
+// protoArgs: "()"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__CasadiOptions__stopProfiling()"
+// call: "CasADi::CasadiOptions::stopProfiling()"
+extern "C"
+    void CasADi__CasadiOptions__stopProfiling();
+void CasADi__CasadiOptions__stopProfiling(){
+
+    CasADi::CasadiOptions::stopProfiling();
+}
+
+
+// ================== delete CasadiClass Callback===============
+// classType: CasadiClass Callback
+extern "C"
+    void delete_CasADi__Callback(CasADi::Callback* obj);
+void delete_CasADi__Callback(CasADi::Callback* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "Callback" ===============
+// class: "CasADi::Callback"
+// cppName: "CasADi::Callback"
+// cWrapperName: "CasADi__Callback__Callback"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass Callback
+// cWrapperRetType: "CasADi::Callback*"
+// proto: "CasADi::Callback* CasADi__Callback__Callback()"
+// call: "CasADi::Callback()"
+extern "C"
+    CasADi::Callback* CasADi__Callback__Callback();
+CasADi::Callback* CasADi__Callback__Callback(){
+
+    return WrapReturn< CasADi::Callback*, CasADi::Callback >::wrapReturn( CasADi::Callback() );
+}
+
+
+// ================== delete CasadiClass CustomEvaluate===============
+// classType: CasadiClass CustomEvaluate
+extern "C"
+    void delete_CasADi__CustomEvaluate(CasADi::CustomEvaluate* obj);
+void delete_CasADi__CustomEvaluate(CasADi::CustomEvaluate* obj){
+    delete obj;
+}
+
+// ================== Constructor method: "CustomEvaluate" ===============
+// class: "CasADi::CustomEvaluate"
+// cppName: "CasADi::CustomEvaluate"
+// cWrapperName: "CasADi__CustomEvaluate__CustomEvaluate"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass CustomEvaluate
+// cWrapperRetType: "CasADi::CustomEvaluate*"
+// proto: "CasADi::CustomEvaluate* CasADi__CustomEvaluate__CustomEvaluate()"
+// call: "CasADi::CustomEvaluate()"
+extern "C"
+    CasADi::CustomEvaluate* CasADi__CustomEvaluate__CustomEvaluate();
+CasADi::CustomEvaluate* CasADi__CustomEvaluate__CustomEvaluate(){
+
+    return WrapReturn< CasADi::CustomEvaluate*, CasADi::CustomEvaluate >::wrapReturn( CasADi::CustomEvaluate() );
+}
+
+
+// ================== delete CasadiClass ExternalFunction===============
+// classType: CasadiClass ExternalFunction
+extern "C"
+    void delete_CasADi__ExternalFunction(CasADi::ExternalFunction* obj);
+void delete_CasADi__ExternalFunction(CasADi::ExternalFunction* obj){
+    delete obj;
+}
+
+// ================== Normal method: "checkNode" ===============
+// class: "CasADi::ExternalFunction"
+// cppName: "CasADi::ExternalFunction::checkNode"
+// cWrapperName: "CasADi__ExternalFunction__checkNode"
+// protoArgs: "(CasADi::ExternalFunction* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__ExternalFunction__checkNode(CasADi::ExternalFunction* obj)"
+// call: "obj->checkNode()"
+extern "C"
+    int CasADi__ExternalFunction__checkNode(CasADi::ExternalFunction* obj);
+int CasADi__ExternalFunction__checkNode(CasADi::ExternalFunction* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->checkNode() );
+}
+
+
+// ================== Constructor method: "ExternalFunction" ===============
+// class: "CasADi::ExternalFunction"
+// cppName: "CasADi::ExternalFunction"
+// cWrapperName: "CasADi__ExternalFunction__ExternalFunction"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass ExternalFunction
+// cWrapperRetType: "CasADi::ExternalFunction*"
+// proto: "CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction()"
+// call: "CasADi::ExternalFunction()"
+extern "C"
+    CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction();
+CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction(){
+
+    return WrapReturn< CasADi::ExternalFunction*, CasADi::ExternalFunction >::wrapReturn( CasADi::ExternalFunction() );
+}
+
+
+// ================== Constructor method: "ExternalFunction'" ===============
+// class: "CasADi::ExternalFunction"
+// cppName: "CasADi::ExternalFunction"
+// cWrapperName: "CasADi__ExternalFunction__ExternalFunction_TIC"
+// protoArgs: "(std::string* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass ExternalFunction
+// cWrapperRetType: "CasADi::ExternalFunction*"
+// proto: "CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction_TIC(std::string* x0)"
+// call: "CasADi::ExternalFunction(x0_)"
+extern "C"
+    CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction_TIC(std::string* x0);
+CasADi::ExternalFunction* CasADi__ExternalFunction__ExternalFunction_TIC(std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::ExternalFunction*, CasADi::ExternalFunction >::wrapReturn( CasADi::ExternalFunction(x0_) );
+}
+
+
+// ================== delete CasadiClass CSparse===============
+// classType: CasadiClass CSparse
+extern "C"
+    void delete_CasADi__CSparse(CasADi::CSparse* obj);
+void delete_CasADi__CSparse(CasADi::CSparse* obj){
+    delete obj;
+}
+
+// ================== Normal method: "checkNode" ===============
+// class: "CasADi::CSparse"
+// cppName: "CasADi::CSparse::checkNode"
+// cWrapperName: "CasADi__CSparse__checkNode"
+// protoArgs: "(CasADi::CSparse* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__CSparse__checkNode(CasADi::CSparse* obj)"
+// call: "obj->checkNode()"
+extern "C"
+    int CasADi__CSparse__checkNode(CasADi::CSparse* obj);
+int CasADi__CSparse__checkNode(CasADi::CSparse* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->checkNode() );
+}
+
+
+// ================== Constructor method: "CSparse" ===============
+// class: "CasADi::CSparse"
+// cppName: "CasADi::CSparse"
+// cWrapperName: "CasADi__CSparse__CSparse"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass CSparse
+// cWrapperRetType: "CasADi::CSparse*"
+// proto: "CasADi::CSparse* CasADi__CSparse__CSparse()"
+// call: "CasADi::CSparse()"
+extern "C"
+    CasADi::CSparse* CasADi__CSparse__CSparse();
+CasADi::CSparse* CasADi__CSparse__CSparse(){
+
+    return WrapReturn< CasADi::CSparse*, CasADi::CSparse >::wrapReturn( CasADi::CSparse() );
+}
+
+
+// ================== Constructor method: "CSparse'" ===============
+// class: "CasADi::CSparse"
+// cppName: "CasADi::CSparse"
+// cWrapperName: "CasADi__CSparse__CSparse_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass CSparse
+// cWrapperRetType: "CasADi::CSparse*"
+// proto: "CasADi::CSparse* CasADi__CSparse__CSparse_TIC(CasADi::CRSSparsity* x0, int x1)"
+// call: "CasADi::CSparse(x0_, x1_)"
+extern "C"
+    CasADi::CSparse* CasADi__CSparse__CSparse_TIC(CasADi::CRSSparsity* x0, int x1);
+CasADi::CSparse* CasADi__CSparse__CSparse_TIC(CasADi::CRSSparsity* x0, int x1){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::CSparse*, CasADi::CSparse >::wrapReturn( CasADi::CSparse(x0_, x1_) );
+}
+
+
+// ================== Constructor method: "CSparse''" ===============
+// class: "CasADi::CSparse"
+// cppName: "CasADi::CSparse"
+// cWrapperName: "CasADi__CSparse__CSparse_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass CSparse
+// cWrapperRetType: "CasADi::CSparse*"
+// proto: "CasADi::CSparse* CasADi__CSparse__CSparse_TIC_TIC(CasADi::CRSSparsity* x0)"
+// call: "CasADi::CSparse(x0_)"
+extern "C"
+    CasADi::CSparse* CasADi__CSparse__CSparse_TIC_TIC(CasADi::CRSSparsity* x0);
+CasADi::CSparse* CasADi__CSparse__CSparse_TIC_TIC(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::CSparse*, CasADi::CSparse >::wrapReturn( CasADi::CSparse(x0_) );
+}
+
+
+// ================== delete CasadiClass SX===============
+// classType: CasadiClass SX
+extern "C"
+    void delete_CasADi__SX(CasADi::SX* obj);
+void delete_CasADi__SX(CasADi::SX* obj){
+    delete obj;
+}
+
+// ================== Static method: "binary" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::binary"
+// cWrapperName: "CasADi__SX__binary"
+// protoArgs: "(int x0, CasADi::SX* x1, CasADi::SX* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__binary(int x0, CasADi::SX* x1, CasADi::SX* x2)"
+// call: "CasADi::SX::binary(x0_, x1_, x2_)"
+extern "C"
+    CasADi::SX* CasADi__SX__binary(int x0, CasADi::SX* x1, CasADi::SX* x2);
+CasADi::SX* CasADi__SX__binary(int x0, CasADi::SX* x1, CasADi::SX* x2){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::SX const & x1_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x1);
+    CasADi::SX const & x2_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x2);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::SX::binary(x0_, x1_, x2_) );
+}
+
+
+// ================== Static method: "unary" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::unary"
+// cWrapperName: "CasADi__SX__unary"
+// protoArgs: "(int x0, CasADi::SX* x1)"
+// args: "(x0_, x1_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__unary(int x0, CasADi::SX* x1)"
+// call: "CasADi::SX::unary(x0_, x1_)"
+extern "C"
+    CasADi::SX* CasADi__SX__unary(int x0, CasADi::SX* x1);
+CasADi::SX* CasADi__SX__unary(int x0, CasADi::SX* x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    CasADi::SX const & x1_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x1);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::SX::unary(x0_, x1_) );
+}
+
+
+// ================== Normal method: "__nonzero__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__nonzero__"
+// cWrapperName: "CasADi__SX____nonzero__"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX____nonzero__(CasADi::SX* obj)"
+// call: "obj->__nonzero__()"
+extern "C"
+    int CasADi__SX____nonzero__(CasADi::SX* obj);
+int CasADi__SX____nonzero__(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->__nonzero__() );
+}
+
+
+// ================== Normal method: "isLeaf" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isLeaf"
+// cWrapperName: "CasADi__SX__isLeaf"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isLeaf(CasADi::SX* obj)"
+// call: "obj->isLeaf()"
+extern "C"
+    int CasADi__SX__isLeaf(CasADi::SX* obj);
+int CasADi__SX__isLeaf(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isLeaf() );
+}
+
+
+// ================== Normal method: "isConstant" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isConstant"
+// cWrapperName: "CasADi__SX__isConstant"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isConstant(CasADi::SX* obj)"
+// call: "obj->isConstant()"
+extern "C"
+    int CasADi__SX__isConstant(CasADi::SX* obj);
+int CasADi__SX__isConstant(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isConstant() );
+}
+
+
+// ================== Normal method: "isInteger" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isInteger"
+// cWrapperName: "CasADi__SX__isInteger"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isInteger(CasADi::SX* obj)"
+// call: "obj->isInteger()"
+extern "C"
+    int CasADi__SX__isInteger(CasADi::SX* obj);
+int CasADi__SX__isInteger(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isInteger() );
+}
+
+
+// ================== Normal method: "isSymbolic" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isSymbolic"
+// cWrapperName: "CasADi__SX__isSymbolic"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isSymbolic(CasADi::SX* obj)"
+// call: "obj->isSymbolic()"
+extern "C"
+    int CasADi__SX__isSymbolic(CasADi::SX* obj);
+int CasADi__SX__isSymbolic(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isSymbolic() );
+}
+
+
+// ================== Normal method: "hasDep" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::hasDep"
+// cWrapperName: "CasADi__SX__hasDep"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__hasDep(CasADi::SX* obj)"
+// call: "obj->hasDep()"
+extern "C"
+    int CasADi__SX__hasDep(CasADi::SX* obj);
+int CasADi__SX__hasDep(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->hasDep() );
+}
+
+
+// ================== Normal method: "isCommutative" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isCommutative"
+// cWrapperName: "CasADi__SX__isCommutative"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isCommutative(CasADi::SX* obj)"
+// call: "obj->isCommutative()"
+extern "C"
+    int CasADi__SX__isCommutative(CasADi::SX* obj);
+int CasADi__SX__isCommutative(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isCommutative() );
+}
+
+
+// ================== Normal method: "isZero" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isZero"
+// cWrapperName: "CasADi__SX__isZero"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isZero(CasADi::SX* obj)"
+// call: "obj->isZero()"
+extern "C"
+    int CasADi__SX__isZero(CasADi::SX* obj);
+int CasADi__SX__isZero(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isZero() );
+}
+
+
+// ================== Normal method: "isOne" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isOne"
+// cWrapperName: "CasADi__SX__isOne"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isOne(CasADi::SX* obj)"
+// call: "obj->isOne()"
+extern "C"
+    int CasADi__SX__isOne(CasADi::SX* obj);
+int CasADi__SX__isOne(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isOne() );
+}
+
+
+// ================== Normal method: "isMinusOne" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isMinusOne"
+// cWrapperName: "CasADi__SX__isMinusOne"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isMinusOne(CasADi::SX* obj)"
+// call: "obj->isMinusOne()"
+extern "C"
+    int CasADi__SX__isMinusOne(CasADi::SX* obj);
+int CasADi__SX__isMinusOne(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isMinusOne() );
+}
+
+
+// ================== Normal method: "isNan" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isNan"
+// cWrapperName: "CasADi__SX__isNan"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isNan(CasADi::SX* obj)"
+// call: "obj->isNan()"
+extern "C"
+    int CasADi__SX__isNan(CasADi::SX* obj);
+int CasADi__SX__isNan(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isNan() );
+}
+
+
+// ================== Normal method: "isInf" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isInf"
+// cWrapperName: "CasADi__SX__isInf"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isInf(CasADi::SX* obj)"
+// call: "obj->isInf()"
+extern "C"
+    int CasADi__SX__isInf(CasADi::SX* obj);
+int CasADi__SX__isInf(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isInf() );
+}
+
+
+// ================== Normal method: "isMinusInf" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isMinusInf"
+// cWrapperName: "CasADi__SX__isMinusInf"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isMinusInf(CasADi::SX* obj)"
+// call: "obj->isMinusInf()"
+extern "C"
+    int CasADi__SX__isMinusInf(CasADi::SX* obj);
+int CasADi__SX__isMinusInf(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isMinusInf() );
+}
+
+
+// ================== Normal method: "getOp" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::getOp"
+// cWrapperName: "CasADi__SX__getOp"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__getOp(CasADi::SX* obj)"
+// call: "obj->getOp()"
+extern "C"
+    int CasADi__SX__getOp(CasADi::SX* obj);
+int CasADi__SX__getOp(CasADi::SX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getOp() );
+}
+
+
+// ================== Normal method: "isOp" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isOp"
+// cWrapperName: "CasADi__SX__isOp"
+// protoArgs: "(CasADi::SX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isOp(CasADi::SX* obj, int x0)"
+// call: "obj->isOp(x0_)"
+extern "C"
+    int CasADi__SX__isOp(CasADi::SX* obj, int x0);
+int CasADi__SX__isOp(CasADi::SX* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isOp(x0_) );
+}
+
+
+// ================== Normal method: "isEqual" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isEqual"
+// cWrapperName: "CasADi__SX__isEqual"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isEqual(CasADi::SX* obj, CasADi::SX* x0, int x1)"
+// call: "obj->isEqual(x0_, x1_)"
+extern "C"
+    int CasADi__SX__isEqual(CasADi::SX* obj, CasADi::SX* x0, int x1);
+int CasADi__SX__isEqual(CasADi::SX* obj, CasADi::SX* x0, int x1){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isEqual(x0_, x1_) );
+}
+
+
+// ================== Normal method: "isEqual'" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isEqual'"
+// cWrapperName: "CasADi__SX__isEqual_TIC"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isEqual_TIC(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->isEqual(x0_)"
+extern "C"
+    int CasADi__SX__isEqual_TIC(CasADi::SX* obj, CasADi::SX* x0);
+int CasADi__SX__isEqual_TIC(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isEqual(x0_) );
+}
+
+
+// ================== Normal method: "isNonNegative" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isNonNegative"
+// cWrapperName: "CasADi__SX__isNonNegative"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isNonNegative(CasADi::SX* obj)"
+// call: "obj->isNonNegative()"
+extern "C"
+    int CasADi__SX__isNonNegative(CasADi::SX* obj);
+int CasADi__SX__isNonNegative(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isNonNegative() );
+}
+
+
+// ================== Normal method: "getValue" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::getValue"
+// cWrapperName: "CasADi__SX__getValue"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CDouble
+// cWrapperRetType: "double"
+// proto: "double CasADi__SX__getValue(CasADi::SX* obj)"
+// call: "obj->getValue()"
+extern "C"
+    double CasADi__SX__getValue(CasADi::SX* obj);
+double CasADi__SX__getValue(CasADi::SX* obj){
+
+    return WrapReturn< double, double >::wrapReturn( obj->getValue() );
+}
+
+
+// ================== Normal method: "getIntValue" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::getIntValue"
+// cWrapperName: "CasADi__SX__getIntValue"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__getIntValue(CasADi::SX* obj)"
+// call: "obj->getIntValue()"
+extern "C"
+    int CasADi__SX__getIntValue(CasADi::SX* obj);
+int CasADi__SX__getIntValue(CasADi::SX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getIntValue() );
+}
+
+
+// ================== Normal method: "getDep" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::getDep"
+// cWrapperName: "CasADi__SX__getDep"
+// protoArgs: "(CasADi::SX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__getDep(CasADi::SX* obj, int x0)"
+// call: "obj->getDep(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__getDep(CasADi::SX* obj, int x0);
+CasADi::SX* CasADi__SX__getDep(CasADi::SX* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->getDep(x0_) );
+}
+
+
+// ================== Normal method: "getDep'" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::getDep'"
+// cWrapperName: "CasADi__SX__getDep_TIC"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__getDep_TIC(CasADi::SX* obj)"
+// call: "obj->getDep()"
+extern "C"
+    CasADi::SX* CasADi__SX__getDep_TIC(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__getDep_TIC(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->getDep() );
+}
+
+
+// ================== Normal method: "isDoubled" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isDoubled"
+// cWrapperName: "CasADi__SX__isDoubled"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isDoubled(CasADi::SX* obj)"
+// call: "obj->isDoubled()"
+extern "C"
+    int CasADi__SX__isDoubled(CasADi::SX* obj);
+int CasADi__SX__isDoubled(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isDoubled() );
+}
+
+
+// ================== Normal method: "getNdeps" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::getNdeps"
+// cWrapperName: "CasADi__SX__getNdeps"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__getNdeps(CasADi::SX* obj)"
+// call: "obj->getNdeps()"
+extern "C"
+    int CasADi__SX__getNdeps(CasADi::SX* obj);
+int CasADi__SX__getNdeps(CasADi::SX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getNdeps() );
+}
+
+
+// ================== Normal method: "__hash__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__hash__"
+// cWrapperName: "CasADi__SX____hash__"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CLong
+// cWrapperRetType: "long"
+// proto: "long CasADi__SX____hash__(CasADi::SX* obj)"
+// call: "obj->__hash__()"
+extern "C"
+    long CasADi__SX____hash__(CasADi::SX* obj);
+long CasADi__SX____hash__(CasADi::SX* obj){
+
+    return WrapReturn< long, long >::wrapReturn( obj->__hash__() );
+}
+
+
+// ================== Normal method: "operator -" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::operator -"
+// cWrapperName: "CasADi__SX__operator_minus"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__operator_minus(CasADi::SX* obj)"
+// call: "obj->operator -()"
+extern "C"
+    CasADi::SX* CasADi__SX__operator_minus(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__operator_minus(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->operator -() );
+}
+
+
+// ================== Normal method: "__add__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__add__"
+// cWrapperName: "CasADi__SX____add__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____add__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__add__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____add__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____add__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__add__(x0_) );
+}
+
+
+// ================== Normal method: "__sub__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__sub__"
+// cWrapperName: "CasADi__SX____sub__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____sub__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__sub__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____sub__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____sub__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__sub__(x0_) );
+}
+
+
+// ================== Normal method: "__mul__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__mul__"
+// cWrapperName: "CasADi__SX____mul__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____mul__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__mul__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____mul__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____mul__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__mul__(x0_) );
+}
+
+
+// ================== Normal method: "__div__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__div__"
+// cWrapperName: "CasADi__SX____div__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____div__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__div__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____div__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____div__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__div__(x0_) );
+}
+
+
+// ================== Normal method: "__lt__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__lt__"
+// cWrapperName: "CasADi__SX____lt__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____lt__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__lt__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____lt__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____lt__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__lt__(x0_) );
+}
+
+
+// ================== Normal method: "__le__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__le__"
+// cWrapperName: "CasADi__SX____le__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____le__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__le__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____le__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____le__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__le__(x0_) );
+}
+
+
+// ================== Normal method: "__eq__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__eq__"
+// cWrapperName: "CasADi__SX____eq__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____eq__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__eq__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____eq__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____eq__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__eq__(x0_) );
+}
+
+
+// ================== Normal method: "__ne__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__ne__"
+// cWrapperName: "CasADi__SX____ne__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____ne__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__ne__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____ne__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____ne__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__ne__(x0_) );
+}
+
+
+// ================== Normal method: "__truediv__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__truediv__"
+// cWrapperName: "CasADi__SX____truediv__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____truediv__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__truediv__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____truediv__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____truediv__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__truediv__(x0_) );
+}
+
+
+// ================== Normal method: "__pow__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__pow__"
+// cWrapperName: "CasADi__SX____pow__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____pow__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__pow__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____pow__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____pow__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__pow__(x0_) );
+}
+
+
+// ================== Normal method: "__constpow__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__constpow__"
+// cWrapperName: "CasADi__SX____constpow__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____constpow__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__constpow__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____constpow__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____constpow__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__constpow__(x0_) );
+}
+
+
+// ================== Normal method: "__mrdivide__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__mrdivide__"
+// cWrapperName: "CasADi__SX____mrdivide__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____mrdivide__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__mrdivide__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____mrdivide__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____mrdivide__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__mrdivide__(x0_) );
+}
+
+
+// ================== Normal method: "__mpower__" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::__mpower__"
+// cWrapperName: "CasADi__SX____mpower__"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX____mpower__(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->__mpower__(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX____mpower__(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX____mpower__(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->__mpower__(x0_) );
+}
+
+
+// ================== Normal method: "trans" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::trans"
+// cWrapperName: "CasADi__SX__trans"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__trans(CasADi::SX* obj)"
+// call: "obj->trans()"
+extern "C"
+    CasADi::SX* CasADi__SX__trans(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__trans(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->trans() );
+}
+
+
+// ================== Normal method: "mul" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::mul"
+// cWrapperName: "CasADi__SX__mul"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__mul(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->mul(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__mul(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX__mul(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->mul(x0_) );
+}
+
+
+// ================== Normal method: "exp" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::exp"
+// cWrapperName: "CasADi__SX__exp"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__exp(CasADi::SX* obj)"
+// call: "obj->exp()"
+extern "C"
+    CasADi::SX* CasADi__SX__exp(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__exp(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->exp() );
+}
+
+
+// ================== Normal method: "log" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::log"
+// cWrapperName: "CasADi__SX__log"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__log(CasADi::SX* obj)"
+// call: "obj->log()"
+extern "C"
+    CasADi::SX* CasADi__SX__log(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__log(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->log() );
+}
+
+
+// ================== Normal method: "sqrt" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::sqrt"
+// cWrapperName: "CasADi__SX__sqrt"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__sqrt(CasADi::SX* obj)"
+// call: "obj->sqrt()"
+extern "C"
+    CasADi::SX* CasADi__SX__sqrt(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__sqrt(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->sqrt() );
+}
+
+
+// ================== Normal method: "sq" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::sq"
+// cWrapperName: "CasADi__SX__sq"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__sq(CasADi::SX* obj)"
+// call: "obj->sq()"
+extern "C"
+    CasADi::SX* CasADi__SX__sq(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__sq(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->sq() );
+}
+
+
+// ================== Normal method: "sin" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::sin"
+// cWrapperName: "CasADi__SX__sin"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__sin(CasADi::SX* obj)"
+// call: "obj->sin()"
+extern "C"
+    CasADi::SX* CasADi__SX__sin(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__sin(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->sin() );
+}
+
+
+// ================== Normal method: "cos" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::cos"
+// cWrapperName: "CasADi__SX__cos"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__cos(CasADi::SX* obj)"
+// call: "obj->cos()"
+extern "C"
+    CasADi::SX* CasADi__SX__cos(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__cos(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->cos() );
+}
+
+
+// ================== Normal method: "tan" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::tan"
+// cWrapperName: "CasADi__SX__tan"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__tan(CasADi::SX* obj)"
+// call: "obj->tan()"
+extern "C"
+    CasADi::SX* CasADi__SX__tan(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__tan(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->tan() );
+}
+
+
+// ================== Normal method: "arcsin" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::arcsin"
+// cWrapperName: "CasADi__SX__arcsin"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__arcsin(CasADi::SX* obj)"
+// call: "obj->arcsin()"
+extern "C"
+    CasADi::SX* CasADi__SX__arcsin(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__arcsin(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->arcsin() );
+}
+
+
+// ================== Normal method: "arccos" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::arccos"
+// cWrapperName: "CasADi__SX__arccos"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__arccos(CasADi::SX* obj)"
+// call: "obj->arccos()"
+extern "C"
+    CasADi::SX* CasADi__SX__arccos(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__arccos(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->arccos() );
+}
+
+
+// ================== Normal method: "arctan" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::arctan"
+// cWrapperName: "CasADi__SX__arctan"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__arctan(CasADi::SX* obj)"
+// call: "obj->arctan()"
+extern "C"
+    CasADi::SX* CasADi__SX__arctan(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__arctan(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->arctan() );
+}
+
+
+// ================== Normal method: "floor" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::floor"
+// cWrapperName: "CasADi__SX__floor"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__floor(CasADi::SX* obj)"
+// call: "obj->floor()"
+extern "C"
+    CasADi::SX* CasADi__SX__floor(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__floor(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->floor() );
+}
+
+
+// ================== Normal method: "ceil" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::ceil"
+// cWrapperName: "CasADi__SX__ceil"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__ceil(CasADi::SX* obj)"
+// call: "obj->ceil()"
+extern "C"
+    CasADi::SX* CasADi__SX__ceil(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__ceil(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->ceil() );
+}
+
+
+// ================== Normal method: "erf" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::erf"
+// cWrapperName: "CasADi__SX__erf"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__erf(CasADi::SX* obj)"
+// call: "obj->erf()"
+extern "C"
+    CasADi::SX* CasADi__SX__erf(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__erf(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->erf() );
+}
+
+
+// ================== Normal method: "erfinv" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::erfinv"
+// cWrapperName: "CasADi__SX__erfinv"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__erfinv(CasADi::SX* obj)"
+// call: "obj->erfinv()"
+extern "C"
+    CasADi::SX* CasADi__SX__erfinv(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__erfinv(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->erfinv() );
+}
+
+
+// ================== Normal method: "fabs" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::fabs"
+// cWrapperName: "CasADi__SX__fabs"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__fabs(CasADi::SX* obj)"
+// call: "obj->fabs()"
+extern "C"
+    CasADi::SX* CasADi__SX__fabs(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__fabs(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->fabs() );
+}
+
+
+// ================== Normal method: "fmin" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::fmin"
+// cWrapperName: "CasADi__SX__fmin"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__fmin(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->fmin(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__fmin(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX__fmin(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->fmin(x0_) );
+}
+
+
+// ================== Normal method: "fmax" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::fmax"
+// cWrapperName: "CasADi__SX__fmax"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__fmax(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->fmax(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__fmax(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX__fmax(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->fmax(x0_) );
+}
+
+
+// ================== Normal method: "inv" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::inv"
+// cWrapperName: "CasADi__SX__inv"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__inv(CasADi::SX* obj)"
+// call: "obj->inv()"
+extern "C"
+    CasADi::SX* CasADi__SX__inv(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__inv(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->inv() );
+}
+
+
+// ================== Normal method: "sinh" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::sinh"
+// cWrapperName: "CasADi__SX__sinh"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__sinh(CasADi::SX* obj)"
+// call: "obj->sinh()"
+extern "C"
+    CasADi::SX* CasADi__SX__sinh(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__sinh(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->sinh() );
+}
+
+
+// ================== Normal method: "cosh" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::cosh"
+// cWrapperName: "CasADi__SX__cosh"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__cosh(CasADi::SX* obj)"
+// call: "obj->cosh()"
+extern "C"
+    CasADi::SX* CasADi__SX__cosh(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__cosh(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->cosh() );
+}
+
+
+// ================== Normal method: "tanh" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::tanh"
+// cWrapperName: "CasADi__SX__tanh"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__tanh(CasADi::SX* obj)"
+// call: "obj->tanh()"
+extern "C"
+    CasADi::SX* CasADi__SX__tanh(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__tanh(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->tanh() );
+}
+
+
+// ================== Normal method: "arcsinh" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::arcsinh"
+// cWrapperName: "CasADi__SX__arcsinh"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__arcsinh(CasADi::SX* obj)"
+// call: "obj->arcsinh()"
+extern "C"
+    CasADi::SX* CasADi__SX__arcsinh(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__arcsinh(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->arcsinh() );
+}
+
+
+// ================== Normal method: "arccosh" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::arccosh"
+// cWrapperName: "CasADi__SX__arccosh"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__arccosh(CasADi::SX* obj)"
+// call: "obj->arccosh()"
+extern "C"
+    CasADi::SX* CasADi__SX__arccosh(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__arccosh(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->arccosh() );
+}
+
+
+// ================== Normal method: "arctanh" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::arctanh"
+// cWrapperName: "CasADi__SX__arctanh"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__arctanh(CasADi::SX* obj)"
+// call: "obj->arctanh()"
+extern "C"
+    CasADi::SX* CasADi__SX__arctanh(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__arctanh(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->arctanh() );
+}
+
+
+// ================== Normal method: "arctan2" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::arctan2"
+// cWrapperName: "CasADi__SX__arctan2"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__arctan2(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->arctan2(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__arctan2(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX__arctan2(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->arctan2(x0_) );
+}
+
+
+// ================== Normal method: "log10" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::log10"
+// cWrapperName: "CasADi__SX__log10"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__log10(CasADi::SX* obj)"
+// call: "obj->log10()"
+extern "C"
+    CasADi::SX* CasADi__SX__log10(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__log10(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->log10() );
+}
+
+
+// ================== Normal method: "printme" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::printme"
+// cWrapperName: "CasADi__SX__printme"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__printme(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->printme(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__printme(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX__printme(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->printme(x0_) );
+}
+
+
+// ================== Normal method: "sign" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::sign"
+// cWrapperName: "CasADi__SX__sign"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__sign(CasADi::SX* obj)"
+// call: "obj->sign()"
+extern "C"
+    CasADi::SX* CasADi__SX__sign(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__sign(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->sign() );
+}
+
+
+// ================== Normal method: "constpow" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::constpow"
+// cWrapperName: "CasADi__SX__constpow"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__constpow(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->constpow(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__constpow(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX__constpow(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->constpow(x0_) );
+}
+
+
+// ================== Normal method: "logic_not" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::logic_not"
+// cWrapperName: "CasADi__SX__logic_not"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__logic_not(CasADi::SX* obj)"
+// call: "obj->logic_not()"
+extern "C"
+    CasADi::SX* CasADi__SX__logic_not(CasADi::SX* obj);
+CasADi::SX* CasADi__SX__logic_not(CasADi::SX* obj){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->logic_not() );
+}
+
+
+// ================== Normal method: "logic_and" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::logic_and"
+// cWrapperName: "CasADi__SX__logic_and"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__logic_and(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->logic_and(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__logic_and(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX__logic_and(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->logic_and(x0_) );
+}
+
+
+// ================== Normal method: "logic_or" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::logic_or"
+// cWrapperName: "CasADi__SX__logic_or"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__logic_or(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->logic_or(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__logic_or(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX__logic_or(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->logic_or(x0_) );
+}
+
+
+// ================== Normal method: "if_else_zero" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::if_else_zero"
+// cWrapperName: "CasADi__SX__if_else_zero"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__if_else_zero(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->if_else_zero(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__if_else_zero(CasADi::SX* obj, CasADi::SX* x0);
+CasADi::SX* CasADi__SX__if_else_zero(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( obj->if_else_zero(x0_) );
+}
+
+
+// ================== Normal method: "fmin'" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::fmin'"
+// cWrapperName: "CasADi__SX__fmin_TIC"
+// protoArgs: "(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SX__fmin_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->fmin(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__SX__fmin_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__SX__fmin_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->fmin(x0_) );
+}
+
+
+// ================== Normal method: "fmax'" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::fmax'"
+// cWrapperName: "CasADi__SX__fmax_TIC"
+// protoArgs: "(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SX__fmax_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->fmax(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__SX__fmax_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__SX__fmax_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->fmax(x0_) );
+}
+
+
+// ================== Normal method: "constpow'" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::constpow'"
+// cWrapperName: "CasADi__SX__constpow_TIC"
+// protoArgs: "(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SX__constpow_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->constpow(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__SX__constpow_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__SX__constpow_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->constpow(x0_) );
+}
+
+
+// ================== Normal method: "arctan2'" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::arctan2'"
+// cWrapperName: "CasADi__SX__arctan2_TIC"
+// protoArgs: "(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SXMatrix
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__SX__arctan2_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0)"
+// call: "obj->arctan2(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__SX__arctan2_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__SX__arctan2_TIC(CasADi::SX* obj, CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( obj->arctan2(x0_) );
+}
+
+
+// ================== Normal method: "getTemp" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::getTemp"
+// cWrapperName: "CasADi__SX__getTemp"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__getTemp(CasADi::SX* obj)"
+// call: "obj->getTemp()"
+extern "C"
+    int CasADi__SX__getTemp(CasADi::SX* obj);
+int CasADi__SX__getTemp(CasADi::SX* obj){
+
+    return WrapReturn< int, int >::wrapReturn( obj->getTemp() );
+}
+
+
+// ================== Normal method: "setTemp" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::setTemp"
+// cWrapperName: "CasADi__SX__setTemp"
+// protoArgs: "(CasADi::SX* obj, int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SX__setTemp(CasADi::SX* obj, int x0)"
+// call: "obj->setTemp(x0_)"
+extern "C"
+    void CasADi__SX__setTemp(CasADi::SX* obj, int x0);
+void CasADi__SX__setTemp(CasADi::SX* obj, int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    obj->setTemp(x0_);
+}
+
+
+// ================== Normal method: "marked" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::marked"
+// cWrapperName: "CasADi__SX__marked"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__marked(CasADi::SX* obj)"
+// call: "obj->marked()"
+extern "C"
+    int CasADi__SX__marked(CasADi::SX* obj);
+int CasADi__SX__marked(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->marked() );
+}
+
+
+// ================== Normal method: "mark" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::mark"
+// cWrapperName: "CasADi__SX__mark"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SX__mark(CasADi::SX* obj)"
+// call: "obj->mark()"
+extern "C"
+    void CasADi__SX__mark(CasADi::SX* obj);
+void CasADi__SX__mark(CasADi::SX* obj){
+
+    obj->mark();
+}
+
+
+// ================== Normal method: "assignIfDuplicate" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::assignIfDuplicate"
+// cWrapperName: "CasADi__SX__assignIfDuplicate"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0, int x1)"
+// args: "(x0_, x1_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SX__assignIfDuplicate(CasADi::SX* obj, CasADi::SX* x0, int x1)"
+// call: "obj->assignIfDuplicate(x0_, x1_)"
+extern "C"
+    void CasADi__SX__assignIfDuplicate(CasADi::SX* obj, CasADi::SX* x0, int x1);
+void CasADi__SX__assignIfDuplicate(CasADi::SX* obj, CasADi::SX* x0, int x1){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    obj->assignIfDuplicate(x0_, x1_);
+}
+
+
+// ================== Normal method: "assignIfDuplicate'" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::assignIfDuplicate'"
+// cWrapperName: "CasADi__SX__assignIfDuplicate_TIC"
+// protoArgs: "(CasADi::SX* obj, CasADi::SX* x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SX__assignIfDuplicate_TIC(CasADi::SX* obj, CasADi::SX* x0)"
+// call: "obj->assignIfDuplicate(x0_)"
+extern "C"
+    void CasADi__SX__assignIfDuplicate_TIC(CasADi::SX* obj, CasADi::SX* x0);
+void CasADi__SX__assignIfDuplicate_TIC(CasADi::SX* obj, CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    obj->assignIfDuplicate(x0_);
+}
+
+
+// ================== Static method: "setMaxNumCallsInPrint" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::setMaxNumCallsInPrint"
+// cWrapperName: "CasADi__SX__setMaxNumCallsInPrint"
+// protoArgs: "(long x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SX__setMaxNumCallsInPrint(long x0)"
+// call: "CasADi::SX::setMaxNumCallsInPrint(x0_)"
+extern "C"
+    void CasADi__SX__setMaxNumCallsInPrint(long x0);
+void CasADi__SX__setMaxNumCallsInPrint(long x0){
+    long x0_ = Marshaling<long,long>::marshal(x0);
+
+    CasADi::SX::setMaxNumCallsInPrint(x0_);
+}
+
+
+// ================== Static method: "setMaxNumCallsInPrint'" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::setMaxNumCallsInPrint'"
+// cWrapperName: "CasADi__SX__setMaxNumCallsInPrint_TIC"
+// protoArgs: "()"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SX__setMaxNumCallsInPrint_TIC()"
+// call: "CasADi::SX::setMaxNumCallsInPrint()"
+extern "C"
+    void CasADi__SX__setMaxNumCallsInPrint_TIC();
+void CasADi__SX__setMaxNumCallsInPrint_TIC(){
+
+    CasADi::SX::setMaxNumCallsInPrint();
+}
+
+
+// ================== Static method: "getMaxNumCallsInPrint" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::getMaxNumCallsInPrint"
+// cWrapperName: "CasADi__SX__getMaxNumCallsInPrint"
+// protoArgs: "()"
+// args: "()"
+// rettype: CLong
+// cWrapperRetType: "long"
+// proto: "long CasADi__SX__getMaxNumCallsInPrint()"
+// call: "CasADi::SX::getMaxNumCallsInPrint()"
+extern "C"
+    long CasADi__SX__getMaxNumCallsInPrint();
+long CasADi__SX__getMaxNumCallsInPrint(){
+
+    return WrapReturn< long, long >::wrapReturn( CasADi::SX::getMaxNumCallsInPrint() );
+}
+
+
+// ================== Static method: "setEqualityCheckingDepth" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::setEqualityCheckingDepth"
+// cWrapperName: "CasADi__SX__setEqualityCheckingDepth"
+// protoArgs: "(int x0)"
+// args: "(x0_)"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SX__setEqualityCheckingDepth(int x0)"
+// call: "CasADi::SX::setEqualityCheckingDepth(x0_)"
+extern "C"
+    void CasADi__SX__setEqualityCheckingDepth(int x0);
+void CasADi__SX__setEqualityCheckingDepth(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    CasADi::SX::setEqualityCheckingDepth(x0_);
+}
+
+
+// ================== Static method: "setEqualityCheckingDepth'" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::setEqualityCheckingDepth'"
+// cWrapperName: "CasADi__SX__setEqualityCheckingDepth_TIC"
+// protoArgs: "()"
+// args: "()"
+// rettype: CVoid
+// cWrapperRetType: "void"
+// proto: "void CasADi__SX__setEqualityCheckingDepth_TIC()"
+// call: "CasADi::SX::setEqualityCheckingDepth()"
+extern "C"
+    void CasADi__SX__setEqualityCheckingDepth_TIC();
+void CasADi__SX__setEqualityCheckingDepth_TIC(){
+
+    CasADi::SX::setEqualityCheckingDepth();
+}
+
+
+// ================== Static method: "getEqualityCheckingDepth" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::getEqualityCheckingDepth"
+// cWrapperName: "CasADi__SX__getEqualityCheckingDepth"
+// protoArgs: "()"
+// args: "()"
+// rettype: CInt
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__getEqualityCheckingDepth()"
+// call: "CasADi::SX::getEqualityCheckingDepth()"
+extern "C"
+    int CasADi__SX__getEqualityCheckingDepth();
+int CasADi__SX__getEqualityCheckingDepth(){
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::SX::getEqualityCheckingDepth() );
+}
+
+
+// ================== Normal method: "isNull" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX::isNull"
+// cWrapperName: "CasADi__SX__isNull"
+// protoArgs: "(CasADi::SX* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__SX__isNull(CasADi::SX* obj)"
+// call: "obj->isNull()"
+extern "C"
+    int CasADi__SX__isNull(CasADi::SX* obj);
+int CasADi__SX__isNull(CasADi::SX* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->isNull() );
+}
+
+
+// ================== Constructor method: "SX" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX"
+// cWrapperName: "CasADi__SX__SX"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__SX()"
+// call: "CasADi::SX()"
+extern "C"
+    CasADi::SX* CasADi__SX__SX();
+CasADi::SX* CasADi__SX__SX(){
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::SX() );
+}
+
+
+// ================== Constructor method: "SX'" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX"
+// cWrapperName: "CasADi__SX__SX_TIC"
+// protoArgs: "(double x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__SX_TIC(double x0)"
+// call: "CasADi::SX(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__SX_TIC(double x0);
+CasADi::SX* CasADi__SX__SX_TIC(double x0){
+    double x0_ = Marshaling<double,double>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::SX(x0_) );
+}
+
+
+// ================== Constructor method: "SX''" ===============
+// class: "CasADi::SX"
+// cppName: "CasADi::SX"
+// cWrapperName: "CasADi__SX__SX_TIC_TIC"
+// protoArgs: "(std::string* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass SX
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__SX__SX_TIC_TIC(std::string* x0)"
+// call: "CasADi::SX(x0_)"
+extern "C"
+    CasADi::SX* CasADi__SX__SX_TIC_TIC(std::string* x0);
+CasADi::SX* CasADi__SX__SX_TIC_TIC(std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::SX(x0_) );
+}
+
+
+// ================== delete CasadiClass CasadiMeta===============
+// classType: CasadiClass CasadiMeta
+extern "C"
+    void delete_CasADi__CasadiMeta(CasADi::CasadiMeta* obj);
+void delete_CasADi__CasadiMeta(CasADi::CasadiMeta* obj){
+    delete obj;
+}
+
+// ================== Static method: "getVersion" ===============
+// class: "CasADi::CasadiMeta"
+// cppName: "CasADi::CasadiMeta::getVersion"
+// cWrapperName: "CasADi__CasadiMeta__getVersion"
+// protoArgs: "()"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__CasadiMeta__getVersion()"
+// call: "CasADi::CasadiMeta::getVersion()"
+extern "C"
+    std::string* CasADi__CasadiMeta__getVersion();
+std::string* CasADi__CasadiMeta__getVersion(){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::CasadiMeta::getVersion() );
+}
+
+
+// ================== Static method: "getGitRevision" ===============
+// class: "CasADi::CasadiMeta"
+// cppName: "CasADi::CasadiMeta::getGitRevision"
+// cWrapperName: "CasADi__CasadiMeta__getGitRevision"
+// protoArgs: "()"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__CasadiMeta__getGitRevision()"
+// call: "CasADi::CasadiMeta::getGitRevision()"
+extern "C"
+    std::string* CasADi__CasadiMeta__getGitRevision();
+std::string* CasADi__CasadiMeta__getGitRevision(){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::CasadiMeta::getGitRevision() );
+}
+
+
+// ================== Static method: "getGitDescribe" ===============
+// class: "CasADi::CasadiMeta"
+// cppName: "CasADi::CasadiMeta::getGitDescribe"
+// cWrapperName: "CasADi__CasadiMeta__getGitDescribe"
+// protoArgs: "()"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__CasadiMeta__getGitDescribe()"
+// call: "CasADi::CasadiMeta::getGitDescribe()"
+extern "C"
+    std::string* CasADi__CasadiMeta__getGitDescribe();
+std::string* CasADi__CasadiMeta__getGitDescribe(){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::CasadiMeta::getGitDescribe() );
+}
+
+
+// ================== Static method: "getFeatureList" ===============
+// class: "CasADi::CasadiMeta"
+// cppName: "CasADi::CasadiMeta::getFeatureList"
+// cWrapperName: "CasADi__CasadiMeta__getFeatureList"
+// protoArgs: "()"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__CasadiMeta__getFeatureList()"
+// call: "CasADi::CasadiMeta::getFeatureList()"
+extern "C"
+    std::string* CasADi__CasadiMeta__getFeatureList();
+std::string* CasADi__CasadiMeta__getFeatureList(){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::CasadiMeta::getFeatureList() );
+}
+
+
+// ================== Static method: "getBuildType" ===============
+// class: "CasADi::CasadiMeta"
+// cppName: "CasADi::CasadiMeta::getBuildType"
+// cWrapperName: "CasADi__CasadiMeta__getBuildType"
+// protoArgs: "()"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__CasadiMeta__getBuildType()"
+// call: "CasADi::CasadiMeta::getBuildType()"
+extern "C"
+    std::string* CasADi__CasadiMeta__getBuildType();
+std::string* CasADi__CasadiMeta__getBuildType(){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::CasadiMeta::getBuildType() );
+}
+
+
+// ================== Static method: "getCompilerId" ===============
+// class: "CasADi::CasadiMeta"
+// cppName: "CasADi::CasadiMeta::getCompilerId"
+// cWrapperName: "CasADi__CasadiMeta__getCompilerId"
+// protoArgs: "()"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__CasadiMeta__getCompilerId()"
+// call: "CasADi::CasadiMeta::getCompilerId()"
+extern "C"
+    std::string* CasADi__CasadiMeta__getCompilerId();
+std::string* CasADi__CasadiMeta__getCompilerId(){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::CasadiMeta::getCompilerId() );
+}
+
+
+// ================== Static method: "getCompiler" ===============
+// class: "CasADi::CasadiMeta"
+// cppName: "CasADi::CasadiMeta::getCompiler"
+// cWrapperName: "CasADi__CasadiMeta__getCompiler"
+// protoArgs: "()"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__CasadiMeta__getCompiler()"
+// call: "CasADi::CasadiMeta::getCompiler()"
+extern "C"
+    std::string* CasADi__CasadiMeta__getCompiler();
+std::string* CasADi__CasadiMeta__getCompiler(){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::CasadiMeta::getCompiler() );
+}
+
+
+// ================== Static method: "getCompilerFlags" ===============
+// class: "CasADi::CasadiMeta"
+// cppName: "CasADi::CasadiMeta::getCompilerFlags"
+// cWrapperName: "CasADi__CasadiMeta__getCompilerFlags"
+// protoArgs: "()"
+// args: "()"
+// rettype: StdString
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__CasadiMeta__getCompilerFlags()"
+// call: "CasADi::CasadiMeta::getCompilerFlags()"
+extern "C"
+    std::string* CasADi__CasadiMeta__getCompilerFlags();
+std::string* CasADi__CasadiMeta__getCompilerFlags(){
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::CasadiMeta::getCompilerFlags() );
+}
+
+
+// ================== delete CasadiClass Functor===============
+// classType: CasadiClass Functor
+extern "C"
+    void delete_CasADi__Functor(CasADi::Functor* obj);
+void delete_CasADi__Functor(CasADi::Functor* obj){
+    delete obj;
+}
+
+// ================== delete CasadiClass CustomFunction===============
+// classType: CasadiClass CustomFunction
+extern "C"
+    void delete_CasADi__CustomFunction(CasADi::CustomFunction* obj);
+void delete_CasADi__CustomFunction(CasADi::CustomFunction* obj){
+    delete obj;
+}
+
+// ================== Normal method: "checkNode" ===============
+// class: "CasADi::CustomFunction"
+// cppName: "CasADi::CustomFunction::checkNode"
+// cWrapperName: "CasADi__CustomFunction__checkNode"
+// protoArgs: "(CasADi::CustomFunction* obj)"
+// args: "()"
+// rettype: CBool
+// cWrapperRetType: "int"
+// proto: "int CasADi__CustomFunction__checkNode(CasADi::CustomFunction* obj)"
+// call: "obj->checkNode()"
+extern "C"
+    int CasADi__CustomFunction__checkNode(CasADi::CustomFunction* obj);
+int CasADi__CustomFunction__checkNode(CasADi::CustomFunction* obj){
+
+    return WrapReturn< int, bool >::wrapReturn( obj->checkNode() );
+}
+
+
+// ================== Constructor method: "CustomFunction" ===============
+// class: "CasADi::CustomFunction"
+// cppName: "CasADi::CustomFunction"
+// cWrapperName: "CasADi__CustomFunction__CustomFunction"
+// protoArgs: "()"
+// args: "()"
+// rettype: CasadiClass CustomFunction
+// cWrapperRetType: "CasADi::CustomFunction*"
+// proto: "CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction()"
+// call: "CasADi::CustomFunction()"
+extern "C"
+    CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction();
+CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction(){
+
+    return WrapReturn< CasADi::CustomFunction*, CasADi::CustomFunction >::wrapReturn( CasADi::CustomFunction() );
+}
+
+
+// ================== Constructor method: "CustomFunction'" ===============
+// class: "CasADi::CustomFunction"
+// cppName: "CasADi::CustomFunction"
+// cWrapperName: "CasADi__CustomFunction__CustomFunction_TIC"
+// protoArgs: "(CasADi::CustomEvaluate* x0, std::vector< CasADi::CRSSparsity* >* x1, std::vector< CasADi::CRSSparsity* >* x2)"
+// args: "(x0_, x1_, x2_)"
+// rettype: CasadiClass CustomFunction
+// cWrapperRetType: "CasADi::CustomFunction*"
+// proto: "CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC(CasADi::CustomEvaluate* x0, std::vector< CasADi::CRSSparsity* >* x1, std::vector< CasADi::CRSSparsity* >* x2)"
+// call: "CasADi::CustomFunction(x0_, x1_, x2_)"
+extern "C"
+    CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC(CasADi::CustomEvaluate* x0, std::vector< CasADi::CRSSparsity* >* x1, std::vector< CasADi::CRSSparsity* >* x2);
+CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC(CasADi::CustomEvaluate* x0, std::vector< CasADi::CRSSparsity* >* x1, std::vector< CasADi::CRSSparsity* >* x2){
+    CasADi::CustomEvaluate const & x0_ = Marshaling<CasADi::CustomEvaluate const &,CasADi::CustomEvaluate*>::marshal(x0);
+    std::vector< CasADi::CRSSparsity > x1_ = Marshaling<std::vector< CasADi::CRSSparsity >,std::vector< CasADi::CRSSparsity* >*>::marshal(x1);
+    std::vector< CasADi::CRSSparsity > x2_ = Marshaling<std::vector< CasADi::CRSSparsity >,std::vector< CasADi::CRSSparsity* >*>::marshal(x2);
+
+    return WrapReturn< CasADi::CustomFunction*, CasADi::CustomFunction >::wrapReturn( CasADi::CustomFunction(x0_, x1_, x2_) );
+}
+
+
+// ================== Constructor method: "CustomFunction'''''" ===============
+// class: "CasADi::CustomFunction"
+// cppName: "CasADi::CustomFunction"
+// cWrapperName: "CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CustomEvaluate* x0)"
+// args: "(x0_)"
+// rettype: CasadiClass CustomFunction
+// cWrapperRetType: "CasADi::CustomFunction*"
+// proto: "CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC(CasADi::CustomEvaluate* x0)"
+// call: "CasADi::CustomFunction(x0_)"
+extern "C"
+    CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC(CasADi::CustomEvaluate* x0);
+CasADi::CustomFunction* CasADi__CustomFunction__CustomFunction_TIC_TIC_TIC_TIC_TIC(CasADi::CustomEvaluate* x0){
+    CasADi::CustomEvaluate const & x0_ = Marshaling<CasADi::CustomEvaluate const &,CasADi::CustomEvaluate*>::marshal(x0);
+
+    return WrapReturn< CasADi::CustomFunction*, CasADi::CustomFunction >::wrapReturn( CasADi::CustomFunction(x0_) );
+}
+
+
+// ================== function "CasADi::getSchemeEntryName" ===============
+// cppName: "CasADi::getSchemeEntryName"
+// cWrapperName: "CasADi__getSchemeEntryName"
+// protoArgs: "(CasADi::InputOutputScheme x0, int x1)"
+// params: [CasadiEnum InputOutputScheme,CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__getSchemeEntryName(CasADi::InputOutputScheme x0, int x1)"
+// call: "CasADi::getSchemeEntryName(x0_, x1_)"
+extern "C"
+    std::string* CasADi__getSchemeEntryName(CasADi::InputOutputScheme x0, int x1);
+std::string* CasADi__getSchemeEntryName(CasADi::InputOutputScheme x0, int x1){
+    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::getSchemeEntryName(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::getSchemeEntryDoc" ===============
+// cppName: "CasADi::getSchemeEntryDoc"
+// cWrapperName: "CasADi__getSchemeEntryDoc"
+// protoArgs: "(CasADi::InputOutputScheme x0, int x1)"
+// params: [CasadiEnum InputOutputScheme,CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__getSchemeEntryDoc(CasADi::InputOutputScheme x0, int x1)"
+// call: "CasADi::getSchemeEntryDoc(x0_, x1_)"
+extern "C"
+    std::string* CasADi__getSchemeEntryDoc(CasADi::InputOutputScheme x0, int x1);
+std::string* CasADi__getSchemeEntryDoc(CasADi::InputOutputScheme x0, int x1){
+    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::getSchemeEntryDoc(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::getSchemeEntryEnumName" ===============
+// cppName: "CasADi::getSchemeEntryEnumName"
+// cWrapperName: "CasADi__getSchemeEntryEnumName"
+// protoArgs: "(CasADi::InputOutputScheme x0, int x1)"
+// params: [CasadiEnum InputOutputScheme,CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__getSchemeEntryEnumName(CasADi::InputOutputScheme x0, int x1)"
+// call: "CasADi::getSchemeEntryEnumName(x0_, x1_)"
+extern "C"
+    std::string* CasADi__getSchemeEntryEnumName(CasADi::InputOutputScheme x0, int x1);
+std::string* CasADi__getSchemeEntryEnumName(CasADi::InputOutputScheme x0, int x1){
+    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::getSchemeEntryEnumName(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::getSchemeEntryEnum" ===============
+// cppName: "CasADi::getSchemeEntryEnum"
+// cWrapperName: "CasADi__getSchemeEntryEnum"
+// protoArgs: "(CasADi::InputOutputScheme x0, std::string* x1)"
+// params: [CasadiEnum InputOutputScheme,ConstRef StdString]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__getSchemeEntryEnum(CasADi::InputOutputScheme x0, std::string* x1)"
+// call: "CasADi::getSchemeEntryEnum(x0_, x1_)"
+extern "C"
+    int CasADi__getSchemeEntryEnum(CasADi::InputOutputScheme x0, std::string* x1);
+int CasADi__getSchemeEntryEnum(CasADi::InputOutputScheme x0, std::string* x1){
+    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
+    std::string const & x1_ = Marshaling<std::string const &,std::string*>::marshal(x1);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::getSchemeEntryEnum(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::getSchemeSize" ===============
+// cppName: "CasADi::getSchemeSize"
+// cWrapperName: "CasADi__getSchemeSize"
+// protoArgs: "(CasADi::InputOutputScheme x0)"
+// params: [CasadiEnum InputOutputScheme]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__getSchemeSize(CasADi::InputOutputScheme x0)"
+// call: "CasADi::getSchemeSize(x0_)"
+extern "C"
+    int CasADi__getSchemeSize(CasADi::InputOutputScheme x0);
+int CasADi__getSchemeSize(CasADi::InputOutputScheme x0){
+    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::getSchemeSize(x0_) );
+}
+
+
+// ================== function "CasADi::getSchemeName" ===============
+// cppName: "CasADi::getSchemeName"
+// cWrapperName: "CasADi__getSchemeName"
+// protoArgs: "(CasADi::InputOutputScheme x0)"
+// params: [CasadiEnum InputOutputScheme]
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__getSchemeName(CasADi::InputOutputScheme x0)"
+// call: "CasADi::getSchemeName(x0_)"
+extern "C"
+    std::string* CasADi__getSchemeName(CasADi::InputOutputScheme x0);
+std::string* CasADi__getSchemeName(CasADi::InputOutputScheme x0){
+    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::getSchemeName(x0_) );
+}
+
+
+// ================== function "CasADi::getSchemeEntryNames" ===============
+// cppName: "CasADi::getSchemeEntryNames"
+// cWrapperName: "CasADi__getSchemeEntryNames"
+// protoArgs: "(CasADi::InputOutputScheme x0)"
+// params: [CasadiEnum InputOutputScheme]
+// args: "(x0_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__getSchemeEntryNames(CasADi::InputOutputScheme x0)"
+// call: "CasADi::getSchemeEntryNames(x0_)"
+extern "C"
+    std::string* CasADi__getSchemeEntryNames(CasADi::InputOutputScheme x0);
+std::string* CasADi__getSchemeEntryNames(CasADi::InputOutputScheme x0){
+    CasADi::InputOutputScheme x0_ = Marshaling<CasADi::InputOutputScheme,CasADi::InputOutputScheme>::marshal(x0);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::getSchemeEntryNames(x0_) );
+}
+
+
+// ================== function "CasADi::complement" ===============
+// cppName: "CasADi::complement"
+// cWrapperName: "CasADi__complement"
+// protoArgs: "(std::vector< int >* x0, int x1)"
+// params: [ConstRef (StdVec CInt),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* CasADi__complement(std::vector< int >* x0, int x1)"
+// call: "CasADi::complement(x0_, x1_)"
+extern "C"
+    std::vector< int >* CasADi__complement(std::vector< int >* x0, int x1);
+std::vector< int >* CasADi__complement(std::vector< int >* x0, int x1){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( CasADi::complement(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::lookupvector" ===============
+// cppName: "CasADi::lookupvector"
+// cWrapperName: "CasADi__lookupvector"
+// protoArgs: "(std::vector< int >* x0, int x1)"
+// params: [ConstRef (StdVec CInt),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* CasADi__lookupvector(std::vector< int >* x0, int x1)"
+// call: "CasADi::lookupvector(x0_, x1_)"
+extern "C"
+    std::vector< int >* CasADi__lookupvector(std::vector< int >* x0, int x1);
+std::vector< int >* CasADi__lookupvector(std::vector< int >* x0, int x1){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( CasADi::lookupvector(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::isIncreasing" ===============
+// cppName: "CasADi::isIncreasing"
+// cWrapperName: "CasADi__isIncreasing"
+// protoArgs: "(std::vector< int >* x0)"
+// params: [ConstRef (StdVec CInt)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isIncreasing(std::vector< int >* x0)"
+// call: "CasADi::isIncreasing(x0_)"
+extern "C"
+    int CasADi__isIncreasing(std::vector< int >* x0);
+int CasADi__isIncreasing(std::vector< int >* x0){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isIncreasing(x0_) );
+}
+
+
+// ================== function "CasADi::isDecreasing" ===============
+// cppName: "CasADi::isDecreasing"
+// cWrapperName: "CasADi__isDecreasing"
+// protoArgs: "(std::vector< int >* x0)"
+// params: [ConstRef (StdVec CInt)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isDecreasing(std::vector< int >* x0)"
+// call: "CasADi::isDecreasing(x0_)"
+extern "C"
+    int CasADi__isDecreasing(std::vector< int >* x0);
+int CasADi__isDecreasing(std::vector< int >* x0){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isDecreasing(x0_) );
+}
+
+
+// ================== function "CasADi::isNonIncreasing" ===============
+// cppName: "CasADi::isNonIncreasing"
+// cWrapperName: "CasADi__isNonIncreasing"
+// protoArgs: "(std::vector< int >* x0)"
+// params: [ConstRef (StdVec CInt)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isNonIncreasing(std::vector< int >* x0)"
+// call: "CasADi::isNonIncreasing(x0_)"
+extern "C"
+    int CasADi__isNonIncreasing(std::vector< int >* x0);
+int CasADi__isNonIncreasing(std::vector< int >* x0){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isNonIncreasing(x0_) );
+}
+
+
+// ================== function "CasADi::isNonDecreasing" ===============
+// cppName: "CasADi::isNonDecreasing"
+// cWrapperName: "CasADi__isNonDecreasing"
+// protoArgs: "(std::vector< int >* x0)"
+// params: [ConstRef (StdVec CInt)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isNonDecreasing(std::vector< int >* x0)"
+// call: "CasADi::isNonDecreasing(x0_)"
+extern "C"
+    int CasADi__isNonDecreasing(std::vector< int >* x0);
+int CasADi__isNonDecreasing(std::vector< int >* x0){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isNonDecreasing(x0_) );
+}
+
+
+// ================== function "CasADi::isMonotone" ===============
+// cppName: "CasADi::isMonotone"
+// cWrapperName: "CasADi__isMonotone"
+// protoArgs: "(std::vector< int >* x0)"
+// params: [ConstRef (StdVec CInt)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isMonotone(std::vector< int >* x0)"
+// call: "CasADi::isMonotone(x0_)"
+extern "C"
+    int CasADi__isMonotone(std::vector< int >* x0);
+int CasADi__isMonotone(std::vector< int >* x0){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isMonotone(x0_) );
+}
+
+
+// ================== function "CasADi::isStrictlyMonotone" ===============
+// cppName: "CasADi::isStrictlyMonotone"
+// cWrapperName: "CasADi__isStrictlyMonotone"
+// protoArgs: "(std::vector< int >* x0)"
+// params: [ConstRef (StdVec CInt)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isStrictlyMonotone(std::vector< int >* x0)"
+// call: "CasADi::isStrictlyMonotone(x0_)"
+extern "C"
+    int CasADi__isStrictlyMonotone(std::vector< int >* x0);
+int CasADi__isStrictlyMonotone(std::vector< int >* x0){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isStrictlyMonotone(x0_) );
+}
+
+
+// ================== function "CasADi::isRegular" ===============
+// cppName: "CasADi::isRegular"
+// cWrapperName: "CasADi__isRegular"
+// protoArgs: "(std::vector< int >* x0)"
+// params: [ConstRef (StdVec CInt)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isRegular(std::vector< int >* x0)"
+// call: "CasADi::isRegular(x0_)"
+extern "C"
+    int CasADi__isRegular(std::vector< int >* x0);
+int CasADi__isRegular(std::vector< int >* x0){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isRegular(x0_) );
+}
+
+
+// ================== function "CasADi::isIncreasing'" ===============
+// cppName: "CasADi::isIncreasing'"
+// cWrapperName: "CasADi__isIncreasing_TIC"
+// protoArgs: "(std::vector< double >* x0)"
+// params: [ConstRef (StdVec CDouble)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isIncreasing_TIC(std::vector< double >* x0)"
+// call: "CasADi::isIncreasing(x0_)"
+extern "C"
+    int CasADi__isIncreasing_TIC(std::vector< double >* x0);
+int CasADi__isIncreasing_TIC(std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isIncreasing(x0_) );
+}
+
+
+// ================== function "CasADi::isDecreasing'" ===============
+// cppName: "CasADi::isDecreasing'"
+// cWrapperName: "CasADi__isDecreasing_TIC"
+// protoArgs: "(std::vector< double >* x0)"
+// params: [ConstRef (StdVec CDouble)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isDecreasing_TIC(std::vector< double >* x0)"
+// call: "CasADi::isDecreasing(x0_)"
+extern "C"
+    int CasADi__isDecreasing_TIC(std::vector< double >* x0);
+int CasADi__isDecreasing_TIC(std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isDecreasing(x0_) );
+}
+
+
+// ================== function "CasADi::isNonIncreasing'" ===============
+// cppName: "CasADi::isNonIncreasing'"
+// cWrapperName: "CasADi__isNonIncreasing_TIC"
+// protoArgs: "(std::vector< double >* x0)"
+// params: [ConstRef (StdVec CDouble)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isNonIncreasing_TIC(std::vector< double >* x0)"
+// call: "CasADi::isNonIncreasing(x0_)"
+extern "C"
+    int CasADi__isNonIncreasing_TIC(std::vector< double >* x0);
+int CasADi__isNonIncreasing_TIC(std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isNonIncreasing(x0_) );
+}
+
+
+// ================== function "CasADi::isNonDecreasing'" ===============
+// cppName: "CasADi::isNonDecreasing'"
+// cWrapperName: "CasADi__isNonDecreasing_TIC"
+// protoArgs: "(std::vector< double >* x0)"
+// params: [ConstRef (StdVec CDouble)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isNonDecreasing_TIC(std::vector< double >* x0)"
+// call: "CasADi::isNonDecreasing(x0_)"
+extern "C"
+    int CasADi__isNonDecreasing_TIC(std::vector< double >* x0);
+int CasADi__isNonDecreasing_TIC(std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isNonDecreasing(x0_) );
+}
+
+
+// ================== function "CasADi::isMonotone'" ===============
+// cppName: "CasADi::isMonotone'"
+// cWrapperName: "CasADi__isMonotone_TIC"
+// protoArgs: "(std::vector< double >* x0)"
+// params: [ConstRef (StdVec CDouble)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isMonotone_TIC(std::vector< double >* x0)"
+// call: "CasADi::isMonotone(x0_)"
+extern "C"
+    int CasADi__isMonotone_TIC(std::vector< double >* x0);
+int CasADi__isMonotone_TIC(std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isMonotone(x0_) );
+}
+
+
+// ================== function "CasADi::isStrictlyMonotone'" ===============
+// cppName: "CasADi::isStrictlyMonotone'"
+// cWrapperName: "CasADi__isStrictlyMonotone_TIC"
+// protoArgs: "(std::vector< double >* x0)"
+// params: [ConstRef (StdVec CDouble)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isStrictlyMonotone_TIC(std::vector< double >* x0)"
+// call: "CasADi::isStrictlyMonotone(x0_)"
+extern "C"
+    int CasADi__isStrictlyMonotone_TIC(std::vector< double >* x0);
+int CasADi__isStrictlyMonotone_TIC(std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isStrictlyMonotone(x0_) );
+}
+
+
+// ================== function "CasADi::isRegular'" ===============
+// cppName: "CasADi::isRegular'"
+// cWrapperName: "CasADi__isRegular_TIC"
+// protoArgs: "(std::vector< double >* x0)"
+// params: [ConstRef (StdVec CDouble)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isRegular_TIC(std::vector< double >* x0)"
+// call: "CasADi::isRegular(x0_)"
+extern "C"
+    int CasADi__isRegular_TIC(std::vector< double >* x0);
+int CasADi__isRegular_TIC(std::vector< double >* x0){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isRegular(x0_) );
+}
+
+
+// ================== function "CasADi::isRegular'''" ===============
+// cppName: "CasADi::isRegular'''"
+// cWrapperName: "CasADi__isRegular_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isRegular_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isRegular(x0_)"
+extern "C"
+    int CasADi__isRegular_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isRegular_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isRegular(x0_) );
+}
+
+
+// ================== function "CasADi::trans'" ===============
+// cppName: "CasADi::trans'"
+// cWrapperName: "CasADi__trans_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__trans_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::trans(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__trans_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__trans_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::trans(x0_) );
+}
+
+
+// ================== function "CasADi::mul'''" ===============
+// cppName: "CasADi::mul'''"
+// cWrapperName: "CasADi__mul_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::CRSSparsity* x2)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::CRSSparsity* x2)"
+// call: "CasADi::mul(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::CRSSparsity* x2);
+CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::CRSSparsity* x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+    CasADi::CRSSparsity const & x2_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::mul(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::mul''''" ===============
+// cppName: "CasADi::mul''''"
+// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::mul(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::mul(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::mul'''''" ===============
+// cppName: "CasADi::mul'''''"
+// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< double >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass DMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< double >* >* x0)"
+// call: "CasADi::mul(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< double >* >* x0);
+CasADi::Matrix< double >* CasADi__mul_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< double >* >* x0){
+    std::vector< CasADi::Matrix< double > > x0_ = Marshaling<std::vector< CasADi::Matrix< double > >,std::vector< CasADi::Matrix< double >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::mul(x0_) );
+}
+
+
+// ================== function "CasADi::isConstant'" ===============
+// cppName: "CasADi::isConstant'"
+// cWrapperName: "CasADi__isConstant_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isConstant_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isConstant(x0_)"
+extern "C"
+    int CasADi__isConstant_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isConstant_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isConstant(x0_) );
+}
+
+
+// ================== function "CasADi::isDense'" ===============
+// cppName: "CasADi::isDense'"
+// cWrapperName: "CasADi__isDense_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isDense_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isDense(x0_)"
+extern "C"
+    int CasADi__isDense_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isDense_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isDense(x0_) );
+}
+
+
+// ================== function "CasADi::isEmpty'" ===============
+// cppName: "CasADi::isEmpty'"
+// cWrapperName: "CasADi__isEmpty_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isEmpty_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isEmpty(x0_)"
+extern "C"
+    int CasADi__isEmpty_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isEmpty_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isEmpty(x0_) );
+}
+
+
+// ================== function "CasADi::isInteger'" ===============
+// cppName: "CasADi::isInteger'"
+// cWrapperName: "CasADi__isInteger_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isInteger_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isInteger(x0_)"
+extern "C"
+    int CasADi__isInteger_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isInteger_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isInteger(x0_) );
+}
+
+
+// ================== function "CasADi::isScalar'" ===============
+// cppName: "CasADi::isScalar'"
+// cWrapperName: "CasADi__isScalar_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isScalar_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isScalar(x0_)"
+extern "C"
+    int CasADi__isScalar_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isScalar_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isScalar(x0_) );
+}
+
+
+// ================== function "CasADi::isVector'" ===============
+// cppName: "CasADi::isVector'"
+// cWrapperName: "CasADi__isVector_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isVector_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isVector(x0_)"
+extern "C"
+    int CasADi__isVector_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isVector_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isVector(x0_) );
+}
+
+
+// ================== function "CasADi::isTril'" ===============
+// cppName: "CasADi::isTril'"
+// cWrapperName: "CasADi__isTril_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isTril_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isTril(x0_)"
+extern "C"
+    int CasADi__isTril_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isTril_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isTril(x0_) );
+}
+
+
+// ================== function "CasADi::isTriu'" ===============
+// cppName: "CasADi::isTriu'"
+// cWrapperName: "CasADi__isTriu_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isTriu_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isTriu(x0_)"
+extern "C"
+    int CasADi__isTriu_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isTriu_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isTriu(x0_) );
+}
+
+
+// ================== function "CasADi::det'" ===============
+// cppName: "CasADi::det'"
+// cWrapperName: "CasADi__det_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double CasADi__det_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::det(x0_)"
+extern "C"
+    double CasADi__det_TIC(CasADi::Matrix< double >* x0);
+double CasADi__det_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< double, double >::wrapReturn( CasADi::det(x0_) );
+}
+
+
+// ================== function "CasADi::getMinor'" ===============
+// cppName: "CasADi::getMinor'"
+// cWrapperName: "CasADi__getMinor_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass DMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "double"
+// proto: "double CasADi__getMinor_TIC(CasADi::Matrix< double >* x0, int x1, int x2)"
+// call: "CasADi::getMinor(x0_, x1_, x2_)"
+extern "C"
+    double CasADi__getMinor_TIC(CasADi::Matrix< double >* x0, int x1, int x2);
+double CasADi__getMinor_TIC(CasADi::Matrix< double >* x0, int x1, int x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< double, double >::wrapReturn( CasADi::getMinor(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::cofactor'" ===============
+// cppName: "CasADi::cofactor'"
+// cWrapperName: "CasADi__cofactor_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass DMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "double"
+// proto: "double CasADi__cofactor_TIC(CasADi::Matrix< double >* x0, int x1, int x2)"
+// call: "CasADi::cofactor(x0_, x1_, x2_)"
+extern "C"
+    double CasADi__cofactor_TIC(CasADi::Matrix< double >* x0, int x1, int x2);
+double CasADi__cofactor_TIC(CasADi::Matrix< double >* x0, int x1, int x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< double, double >::wrapReturn( CasADi::cofactor(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::adj'" ===============
+// cppName: "CasADi::adj'"
+// cWrapperName: "CasADi__adj_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__adj_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::adj(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__adj_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__adj_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::adj(x0_) );
+}
+
+
+// ================== function "CasADi::inv'" ===============
+// cppName: "CasADi::inv'"
+// cWrapperName: "CasADi__inv_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__inv_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::inv(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__inv_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__inv_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::inv(x0_) );
+}
+
+
+// ================== function "CasADi::reshape''" ===============
+// cppName: "CasADi::reshape''"
+// cWrapperName: "CasADi__reshape_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass DMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__reshape_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2)"
+// call: "CasADi::reshape(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__reshape_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2);
+CasADi::Matrix< double >* CasADi__reshape_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::reshape(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::reshape'''" ===============
+// cppName: "CasADi::reshape'''"
+// cWrapperName: "CasADi__reshape_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__reshape_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
+// call: "CasADi::reshape(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__reshape_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1);
+CasADi::Matrix< double >* CasADi__reshape_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::reshape(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::vec'" ===============
+// cppName: "CasADi::vec'"
+// cWrapperName: "CasADi__vec_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__vec_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::vec(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__vec_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__vec_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::vec(x0_) );
+}
+
+
+// ================== function "CasADi::flatten'" ===============
+// cppName: "CasADi::flatten'"
+// cWrapperName: "CasADi__flatten_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__flatten_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::flatten(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__flatten_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__flatten_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::flatten(x0_) );
+}
+
+
+// ================== function "CasADi::vecNZ'" ===============
+// cppName: "CasADi::vecNZ'"
+// cWrapperName: "CasADi__vecNZ_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__vecNZ_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::vecNZ(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__vecNZ_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__vecNZ_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::vecNZ(x0_) );
+}
+
+
+// ================== function "CasADi::flattenNZ'" ===============
+// cppName: "CasADi::flattenNZ'"
+// cWrapperName: "CasADi__flattenNZ_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__flattenNZ_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::flattenNZ(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__flattenNZ_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__flattenNZ_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::flattenNZ(x0_) );
+}
+
+
+// ================== function "CasADi::blockcat'" ===============
+// cppName: "CasADi::blockcat'"
+// cWrapperName: "CasADi__blockcat_TIC"
+// protoArgs: "(std::vector< std::vector< CasADi::Matrix< double >* >* >* x0)"
+// params: [ConstRef (StdVec (StdVec (CasadiClass DMatrix)))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__blockcat_TIC(std::vector< std::vector< CasADi::Matrix< double >* >* >* x0)"
+// call: "CasADi::blockcat(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__blockcat_TIC(std::vector< std::vector< CasADi::Matrix< double >* >* >* x0);
+CasADi::Matrix< double >* CasADi__blockcat_TIC(std::vector< std::vector< CasADi::Matrix< double >* >* >* x0){
+    std::vector< std::vector< CasADi::Matrix< double > > > x0_ = Marshaling<std::vector< std::vector< CasADi::Matrix< double > > >,std::vector< std::vector< CasADi::Matrix< double >* >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::blockcat(x0_) );
+}
+
+
+// ================== function "CasADi::blocksplit''''" ===============
+// cppName: "CasADi::blocksplit''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, std::vector< int >* x1, std::vector< int >* x2)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (StdVec CInt),ConstRef (StdVec CInt)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::Matrix< double >* >* >*"
+// proto: "std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< int >* x1, std::vector< int >* x2)"
+// call: "CasADi::blocksplit(x0_, x1_, x2_)"
+extern "C"
+    std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< int >* x1, std::vector< int >* x2);
+std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< int >* x1, std::vector< int >* x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+
+    return WrapReturn< std::vector< std::vector< CasADi::Matrix< double >* >* >*, std::vector< std::vector< CasADi::Matrix< double > > > >::wrapReturn( CasADi::blocksplit(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::blocksplit'''''" ===============
+// cppName: "CasADi::blocksplit'''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass DMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::Matrix< double >* >* >*"
+// proto: "std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2)"
+// call: "CasADi::blocksplit(x0_, x1_, x2_)"
+extern "C"
+    std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2);
+std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1, int x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< std::vector< std::vector< CasADi::Matrix< double >* >* >*, std::vector< std::vector< CasADi::Matrix< double > > > >::wrapReturn( CasADi::blocksplit(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::blocksplit''''''" ===============
+// cppName: "CasADi::blocksplit''''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, int x1)"
+// params: [ConstRef (CasadiClass DMatrix),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::Matrix< double >* >* >*"
+// proto: "std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1)"
+// call: "CasADi::blocksplit(x0_, x1_)"
+extern "C"
+    std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1);
+std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::vector< std::vector< CasADi::Matrix< double >* >* >*, std::vector< std::vector< CasADi::Matrix< double > > > >::wrapReturn( CasADi::blocksplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::blocksplit'''''''" ===============
+// cppName: "CasADi::blocksplit'''''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::Matrix< double >* >* >*"
+// proto: "std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::blocksplit(x0_)"
+extern "C"
+    std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
+std::vector< std::vector< CasADi::Matrix< double >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< std::vector< std::vector< CasADi::Matrix< double >* >* >*, std::vector< std::vector< CasADi::Matrix< double > > > >::wrapReturn( CasADi::blocksplit(x0_) );
+}
+
+
+// ================== function "CasADi::horzcat'" ===============
+// cppName: "CasADi::horzcat'"
+// cWrapperName: "CasADi__horzcat_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< double >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass DMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__horzcat_TIC(std::vector< CasADi::Matrix< double >* >* x0)"
+// call: "CasADi::horzcat(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__horzcat_TIC(std::vector< CasADi::Matrix< double >* >* x0);
+CasADi::Matrix< double >* CasADi__horzcat_TIC(std::vector< CasADi::Matrix< double >* >* x0){
+    std::vector< CasADi::Matrix< double > > x0_ = Marshaling<std::vector< CasADi::Matrix< double > >,std::vector< CasADi::Matrix< double >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::horzcat(x0_) );
+}
+
+
+// ================== function "CasADi::horzsplit'''" ===============
+// cppName: "CasADi::horzsplit'''"
+// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, std::vector< int >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (StdVec CInt)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< double >* >*"
+// proto: "std::vector< CasADi::Matrix< double >* >* CasADi__horzsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< int >* x1)"
+// call: "CasADi::horzsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::Matrix< double >* >* CasADi__horzsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< int >* x1);
+std::vector< CasADi::Matrix< double >* >* CasADi__horzsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< int >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::Matrix< double >* >*, std::vector< CasADi::Matrix< double > > >::wrapReturn( CasADi::horzsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::horzsplit''''" ===============
+// cppName: "CasADi::horzsplit''''"
+// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, int x1)"
+// params: [ConstRef (CasadiClass DMatrix),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< double >* >*"
+// proto: "std::vector< CasADi::Matrix< double >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1)"
+// call: "CasADi::horzsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::Matrix< double >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1);
+std::vector< CasADi::Matrix< double >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::Matrix< double >* >*, std::vector< CasADi::Matrix< double > > >::wrapReturn( CasADi::horzsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::horzsplit'''''" ===============
+// cppName: "CasADi::horzsplit'''''"
+// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< double >* >*"
+// proto: "std::vector< CasADi::Matrix< double >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::horzsplit(x0_)"
+extern "C"
+    std::vector< CasADi::Matrix< double >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
+std::vector< CasADi::Matrix< double >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::Matrix< double >* >*, std::vector< CasADi::Matrix< double > > >::wrapReturn( CasADi::horzsplit(x0_) );
+}
+
+
+// ================== function "CasADi::vertcat'" ===============
+// cppName: "CasADi::vertcat'"
+// cWrapperName: "CasADi__vertcat_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< double >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass DMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__vertcat_TIC(std::vector< CasADi::Matrix< double >* >* x0)"
+// call: "CasADi::vertcat(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__vertcat_TIC(std::vector< CasADi::Matrix< double >* >* x0);
+CasADi::Matrix< double >* CasADi__vertcat_TIC(std::vector< CasADi::Matrix< double >* >* x0){
+    std::vector< CasADi::Matrix< double > > x0_ = Marshaling<std::vector< CasADi::Matrix< double > >,std::vector< CasADi::Matrix< double >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::vertcat(x0_) );
+}
+
+
+// ================== function "CasADi::vertsplit'''" ===============
+// cppName: "CasADi::vertsplit'''"
+// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, std::vector< int >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (StdVec CInt)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< double >* >*"
+// proto: "std::vector< CasADi::Matrix< double >* >* CasADi__vertsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< int >* x1)"
+// call: "CasADi::vertsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::Matrix< double >* >* CasADi__vertsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< int >* x1);
+std::vector< CasADi::Matrix< double >* >* CasADi__vertsplit_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< int >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::Matrix< double >* >*, std::vector< CasADi::Matrix< double > > >::wrapReturn( CasADi::vertsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::vertsplit''''" ===============
+// cppName: "CasADi::vertsplit''''"
+// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, int x1)"
+// params: [ConstRef (CasadiClass DMatrix),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< double >* >*"
+// proto: "std::vector< CasADi::Matrix< double >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1)"
+// call: "CasADi::vertsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::Matrix< double >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1);
+std::vector< CasADi::Matrix< double >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0, int x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::Matrix< double >* >*, std::vector< CasADi::Matrix< double > > >::wrapReturn( CasADi::vertsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::vertsplit'''''" ===============
+// cppName: "CasADi::vertsplit'''''"
+// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< double >* >*"
+// proto: "std::vector< CasADi::Matrix< double >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::vertsplit(x0_)"
+extern "C"
+    std::vector< CasADi::Matrix< double >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
+std::vector< CasADi::Matrix< double >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::Matrix< double >* >*, std::vector< CasADi::Matrix< double > > >::wrapReturn( CasADi::vertsplit(x0_) );
+}
+
+
+// ================== function "CasADi::inner_prod'" ===============
+// cppName: "CasADi::inner_prod'"
+// cWrapperName: "CasADi__inner_prod_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__inner_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::inner_prod(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__inner_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__inner_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::inner_prod(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::outer_prod'" ===============
+// cppName: "CasADi::outer_prod'"
+// cWrapperName: "CasADi__outer_prod_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__outer_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::outer_prod(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__outer_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__outer_prod_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::outer_prod(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::norm_1'" ===============
+// cppName: "CasADi::norm_1'"
+// cWrapperName: "CasADi__norm_1_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__norm_1_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::norm_1(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__norm_1_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__norm_1_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::norm_1(x0_) );
+}
+
+
+// ================== function "CasADi::norm_2'" ===============
+// cppName: "CasADi::norm_2'"
+// cWrapperName: "CasADi__norm_2_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__norm_2_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::norm_2(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__norm_2_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__norm_2_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::norm_2(x0_) );
+}
+
+
+// ================== function "CasADi::norm_inf'" ===============
+// cppName: "CasADi::norm_inf'"
+// cWrapperName: "CasADi__norm_inf_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__norm_inf_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::norm_inf(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__norm_inf_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__norm_inf_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::norm_inf(x0_) );
+}
+
+
+// ================== function "CasADi::norm_F'" ===============
+// cppName: "CasADi::norm_F'"
+// cWrapperName: "CasADi__norm_F_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__norm_F_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::norm_F(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__norm_F_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__norm_F_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::norm_F(x0_) );
+}
+
+
+// ================== function "CasADi::qr'" ===============
+// cppName: "CasADi::qr'"
+// cWrapperName: "CasADi__qr_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// params: [ConstRef (CasadiClass DMatrix),Ref (CasadiClass DMatrix),Ref (CasadiClass DMatrix)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__qr_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2)"
+// call: "CasADi::qr(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__qr_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2);
+void CasADi__qr_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1, CasADi::Matrix< double >* x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double >& x1_ = Marshaling<CasADi::Matrix< double >&,CasADi::Matrix< double >*>::marshal(x1);
+    CasADi::Matrix< double >& x2_ = Marshaling<CasADi::Matrix< double >&,CasADi::Matrix< double >*>::marshal(x2);
+
+    CasADi::qr(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::nullspace'" ===============
+// cppName: "CasADi::nullspace'"
+// cWrapperName: "CasADi__nullspace_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__nullspace_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::nullspace(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__nullspace_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__nullspace_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::nullspace(x0_) );
+}
+
+
+// ================== function "CasADi::solve'" ===============
+// cppName: "CasADi::solve'"
+// cWrapperName: "CasADi__solve_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__solve_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::solve(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__solve_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__solve_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::solve(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::pinv'" ===============
+// cppName: "CasADi::pinv'"
+// cWrapperName: "CasADi__pinv_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__pinv_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::pinv(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__pinv_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__pinv_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::pinv(x0_) );
+}
+
+
+// ================== function "CasADi::isZero'" ===============
+// cppName: "CasADi::isZero'"
+// cWrapperName: "CasADi__isZero_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isZero_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isZero(x0_)"
+extern "C"
+    int CasADi__isZero_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isZero_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isZero(x0_) );
+}
+
+
+// ================== function "CasADi::isOne'" ===============
+// cppName: "CasADi::isOne'"
+// cWrapperName: "CasADi__isOne_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isOne_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isOne(x0_)"
+extern "C"
+    int CasADi__isOne_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isOne_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isOne(x0_) );
+}
+
+
+// ================== function "CasADi::isMinusOne'" ===============
+// cppName: "CasADi::isMinusOne'"
+// cWrapperName: "CasADi__isMinusOne_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isMinusOne_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isMinusOne(x0_)"
+extern "C"
+    int CasADi__isMinusOne_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isMinusOne_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isMinusOne(x0_) );
+}
+
+
+// ================== function "CasADi::isIdentity'" ===============
+// cppName: "CasADi::isIdentity'"
+// cWrapperName: "CasADi__isIdentity_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isIdentity_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::isIdentity(x0_)"
+extern "C"
+    int CasADi__isIdentity_TIC(CasADi::Matrix< double >* x0);
+int CasADi__isIdentity_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isIdentity(x0_) );
+}
+
+
+// ================== function "CasADi::nnz'" ===============
+// cppName: "CasADi::nnz'"
+// cWrapperName: "CasADi__nnz_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__nnz_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::nnz(x0_)"
+extern "C"
+    int CasADi__nnz_TIC(CasADi::Matrix< double >* x0);
+int CasADi__nnz_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::nnz(x0_) );
+}
+
+
+// ================== function "CasADi::nnz_sym'" ===============
+// cppName: "CasADi::nnz_sym'"
+// cWrapperName: "CasADi__nnz_sym_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__nnz_sym_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::nnz_sym(x0_)"
+extern "C"
+    int CasADi__nnz_sym_TIC(CasADi::Matrix< double >* x0);
+int CasADi__nnz_sym_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::nnz_sym(x0_) );
+}
+
+
+// ================== function "CasADi::isEqual'" ===============
+// cppName: "CasADi::isEqual'"
+// cWrapperName: "CasADi__isEqual_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isEqual_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::isEqual(x0_, x1_)"
+extern "C"
+    int CasADi__isEqual_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
+int CasADi__isEqual_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isEqual(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::repmat'" ===============
+// cppName: "CasADi::repmat'"
+// cWrapperName: "CasADi__repmat_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass DMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__repmat_TIC(CasADi::Matrix< double >* x0, int x1, int x2)"
+// call: "CasADi::repmat(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__repmat_TIC(CasADi::Matrix< double >* x0, int x1, int x2);
+CasADi::Matrix< double >* CasADi__repmat_TIC(CasADi::Matrix< double >* x0, int x1, int x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::repmat(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::getSparseTriplet'" ===============
+// cppName: "CasADi::getSparseTriplet'"
+// cWrapperName: "CasADi__getSparseTriplet_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< int >* >*"
+// proto: "std::vector< std::vector< int >* >* CasADi__getSparseTriplet_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::getSparseTriplet(x0_)"
+extern "C"
+    std::vector< std::vector< int >* >* CasADi__getSparseTriplet_TIC(CasADi::Matrix< double >* x0);
+std::vector< std::vector< int >* >* CasADi__getSparseTriplet_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< std::vector< std::vector< int >* >*, std::vector< std::vector< int > > >::wrapReturn( CasADi::getSparseTriplet(x0_) );
+}
+
+
+// ================== function "CasADi::unite'" ===============
+// cppName: "CasADi::unite'"
+// cWrapperName: "CasADi__unite_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__unite_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::unite(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__unite_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__unite_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::unite(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sumCols'" ===============
+// cppName: "CasADi::sumCols'"
+// cWrapperName: "CasADi__sumCols_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__sumCols_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::sumCols(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__sumCols_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__sumCols_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::sumCols(x0_) );
+}
+
+
+// ================== function "CasADi::sumRows'" ===============
+// cppName: "CasADi::sumRows'"
+// cWrapperName: "CasADi__sumRows_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__sumRows_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::sumRows(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__sumRows_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__sumRows_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::sumRows(x0_) );
+}
+
+
+// ================== function "CasADi::sumAll'" ===============
+// cppName: "CasADi::sumAll'"
+// cWrapperName: "CasADi__sumAll_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__sumAll_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::sumAll(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__sumAll_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__sumAll_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::sumAll(x0_) );
+}
+
+
+// ================== function "CasADi::trace'" ===============
+// cppName: "CasADi::trace'"
+// cWrapperName: "CasADi__trace_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double CasADi__trace_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::trace(x0_)"
+extern "C"
+    double CasADi__trace_TIC(CasADi::Matrix< double >* x0);
+double CasADi__trace_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< double, double >::wrapReturn( CasADi::trace(x0_) );
+}
+
+
+// ================== function "CasADi::makeDense'" ===============
+// cppName: "CasADi::makeDense'"
+// cWrapperName: "CasADi__makeDense_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [Ref (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__makeDense_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::makeDense(x0_)"
+extern "C"
+    void CasADi__makeDense_TIC(CasADi::Matrix< double >* x0);
+void CasADi__makeDense_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double >& x0_ = Marshaling<CasADi::Matrix< double >&,CasADi::Matrix< double >*>::marshal(x0);
+
+    CasADi::makeDense(x0_);
+}
+
+
+// ================== function "CasADi::densify'" ===============
+// cppName: "CasADi::densify'"
+// cWrapperName: "CasADi__densify_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__densify_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::densify(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__densify_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__densify_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::densify(x0_) );
+}
+
+
+// ================== function "CasADi::makeSparse''" ===============
+// cppName: "CasADi::makeSparse''"
+// cWrapperName: "CasADi__makeSparse_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, double x1)"
+// params: [Ref (CasadiClass DMatrix),CDouble]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__makeSparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1)"
+// call: "CasADi::makeSparse(x0_, x1_)"
+extern "C"
+    void CasADi__makeSparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1);
+void CasADi__makeSparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1){
+    CasADi::Matrix< double >& x0_ = Marshaling<CasADi::Matrix< double >&,CasADi::Matrix< double >*>::marshal(x0);
+    double x1_ = Marshaling<double,double>::marshal(x1);
+
+    CasADi::makeSparse(x0_, x1_);
+}
+
+
+// ================== function "CasADi::makeSparse'''" ===============
+// cppName: "CasADi::makeSparse'''"
+// cWrapperName: "CasADi__makeSparse_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [Ref (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__makeSparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::makeSparse(x0_)"
+extern "C"
+    void CasADi__makeSparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
+void CasADi__makeSparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double >& x0_ = Marshaling<CasADi::Matrix< double >&,CasADi::Matrix< double >*>::marshal(x0);
+
+    CasADi::makeSparse(x0_);
+}
+
+
+// ================== function "CasADi::hasNonStructuralZeros'" ===============
+// cppName: "CasADi::hasNonStructuralZeros'"
+// cWrapperName: "CasADi__hasNonStructuralZeros_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__hasNonStructuralZeros_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::hasNonStructuralZeros(x0_)"
+extern "C"
+    int CasADi__hasNonStructuralZeros_TIC(CasADi::Matrix< double >* x0);
+int CasADi__hasNonStructuralZeros_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::hasNonStructuralZeros(x0_) );
+}
+
+
+// ================== function "CasADi::diag'" ===============
+// cppName: "CasADi::diag'"
+// cWrapperName: "CasADi__diag_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__diag_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::diag(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__diag_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__diag_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::diag(x0_) );
+}
+
+
+// ================== function "CasADi::blkdiag'" ===============
+// cppName: "CasADi::blkdiag'"
+// cWrapperName: "CasADi__blkdiag_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< double >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass DMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__blkdiag_TIC(std::vector< CasADi::Matrix< double >* >* x0)"
+// call: "CasADi::blkdiag(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__blkdiag_TIC(std::vector< CasADi::Matrix< double >* >* x0);
+CasADi::Matrix< double >* CasADi__blkdiag_TIC(std::vector< CasADi::Matrix< double >* >* x0){
+    std::vector< CasADi::Matrix< double > > x0_ = Marshaling<std::vector< CasADi::Matrix< double > >,std::vector< CasADi::Matrix< double >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::blkdiag(x0_) );
+}
+
+
+// ================== function "CasADi::polyval'" ===============
+// cppName: "CasADi::polyval'"
+// cWrapperName: "CasADi__polyval_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__polyval_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::polyval(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__polyval_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__polyval_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::polyval(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::addMultiple''" ===============
+// cppName: "CasADi::addMultiple''"
+// cWrapperName: "CasADi__addMultiple_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2, int x3)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (StdVec CDouble),Ref (StdVec CDouble),CBool]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__addMultiple_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2, int x3)"
+// call: "CasADi::addMultiple(x0_, x1_, x2_, x3_)"
+extern "C"
+    void CasADi__addMultiple_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2, int x3);
+void CasADi__addMultiple_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2, int x3){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+    std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+    bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+    CasADi::addMultiple(x0_, x1_, x2_, x3_);
+}
+
+
+// ================== function "CasADi::addMultiple'''" ===============
+// cppName: "CasADi::addMultiple'''"
+// cWrapperName: "CasADi__addMultiple_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (StdVec CDouble),Ref (StdVec CDouble)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__addMultiple_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2)"
+// call: "CasADi::addMultiple(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__addMultiple_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2);
+void CasADi__addMultiple_TIC_TIC_TIC(CasADi::Matrix< double >* x0, std::vector< double >* x1, std::vector< double >* x2){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    std::vector< double > x1_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x1);
+    std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+
+    CasADi::addMultiple(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::veccat'" ===============
+// cppName: "CasADi::veccat'"
+// cWrapperName: "CasADi__veccat_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< double >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass DMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__veccat_TIC(std::vector< CasADi::Matrix< double >* >* x0)"
+// call: "CasADi::veccat(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__veccat_TIC(std::vector< CasADi::Matrix< double >* >* x0);
+CasADi::Matrix< double >* CasADi__veccat_TIC(std::vector< CasADi::Matrix< double >* >* x0){
+    std::vector< CasADi::Matrix< double > > x0_ = Marshaling<std::vector< CasADi::Matrix< double > >,std::vector< CasADi::Matrix< double >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::veccat(x0_) );
+}
+
+
+// ================== function "CasADi::vecNZcat'" ===============
+// cppName: "CasADi::vecNZcat'"
+// cWrapperName: "CasADi__vecNZcat_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< double >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass DMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__vecNZcat_TIC(std::vector< CasADi::Matrix< double >* >* x0)"
+// call: "CasADi::vecNZcat(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__vecNZcat_TIC(std::vector< CasADi::Matrix< double >* >* x0);
+CasADi::Matrix< double >* CasADi__vecNZcat_TIC(std::vector< CasADi::Matrix< double >* >* x0){
+    std::vector< CasADi::Matrix< double > > x0_ = Marshaling<std::vector< CasADi::Matrix< double > >,std::vector< CasADi::Matrix< double >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::vecNZcat(x0_) );
+}
+
+
+// ================== function "CasADi::flattencat'" ===============
+// cppName: "CasADi::flattencat'"
+// cWrapperName: "CasADi__flattencat_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< double >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass DMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__flattencat_TIC(std::vector< CasADi::Matrix< double >* >* x0)"
+// call: "CasADi::flattencat(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__flattencat_TIC(std::vector< CasADi::Matrix< double >* >* x0);
+CasADi::Matrix< double >* CasADi__flattencat_TIC(std::vector< CasADi::Matrix< double >* >* x0){
+    std::vector< CasADi::Matrix< double > > x0_ = Marshaling<std::vector< CasADi::Matrix< double > >,std::vector< CasADi::Matrix< double >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::flattencat(x0_) );
+}
+
+
+// ================== function "CasADi::flattenNZcat'" ===============
+// cppName: "CasADi::flattenNZcat'"
+// cWrapperName: "CasADi__flattenNZcat_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< double >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass DMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__flattenNZcat_TIC(std::vector< CasADi::Matrix< double >* >* x0)"
+// call: "CasADi::flattenNZcat(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__flattenNZcat_TIC(std::vector< CasADi::Matrix< double >* >* x0);
+CasADi::Matrix< double >* CasADi__flattenNZcat_TIC(std::vector< CasADi::Matrix< double >* >* x0){
+    std::vector< CasADi::Matrix< double > > x0_ = Marshaling<std::vector< CasADi::Matrix< double > >,std::vector< CasADi::Matrix< double >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::flattenNZcat(x0_) );
+}
+
+
+// ================== function "CasADi::project'" ===============
+// cppName: "CasADi::project'"
+// cWrapperName: "CasADi__project_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__project_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1)"
+// call: "CasADi::project(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__project_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1);
+CasADi::Matrix< double >* CasADi__project_TIC(CasADi::Matrix< double >* x0, CasADi::CRSSparsity* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::project(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sprank'" ===============
+// cppName: "CasADi::sprank'"
+// cWrapperName: "CasADi__sprank_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__sprank_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::sprank(x0_)"
+extern "C"
+    int CasADi__sprank_TIC(CasADi::Matrix< double >* x0);
+int CasADi__sprank_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::sprank(x0_) );
+}
+
+
+// ================== function "CasADi::kron'" ===============
+// cppName: "CasADi::kron'"
+// cWrapperName: "CasADi__kron_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__kron_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::kron(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__kron_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__kron_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::kron(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sparse''" ===============
+// cppName: "CasADi::sparse''"
+// cWrapperName: "CasADi__sparse_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, double x1)"
+// params: [ConstRef (CasadiClass DMatrix),CDouble]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__sparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1)"
+// call: "CasADi::sparse(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__sparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1);
+CasADi::Matrix< double >* CasADi__sparse_TIC_TIC(CasADi::Matrix< double >* x0, double x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    double x1_ = Marshaling<double,double>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::sparse(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sparse'''" ===============
+// cppName: "CasADi::sparse'''"
+// cWrapperName: "CasADi__sparse_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__sparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::sparse(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__sparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__sparse_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::sparse(x0_) );
+}
+
+
+// ================== function "CasADi::full'" ===============
+// cppName: "CasADi::full'"
+// cWrapperName: "CasADi__full_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__full_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::full(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__full_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__full_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::full(x0_) );
+}
+
+
+// ================== function "CasADi::trans''" ===============
+// cppName: "CasADi::trans''"
+// cWrapperName: "CasADi__trans_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__trans_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::trans(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__trans_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__trans_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::trans(x0_) );
+}
+
+
+// ================== function "CasADi::mul''''''" ===============
+// cppName: "CasADi::mul''''''"
+// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::CRSSparsity* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::CRSSparsity* x2)"
+// call: "CasADi::mul(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::CRSSparsity* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::CRSSparsity* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::CRSSparsity const & x2_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::mul(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::mul'''''''" ===============
+// cppName: "CasADi::mul'''''''"
+// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::mul(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::mul(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::mul''''''''" ===============
+// cppName: "CasADi::mul''''''''"
+// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass SXMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// call: "CasADi::mul(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::mul(x0_) );
+}
+
+
+// ================== function "CasADi::isConstant''" ===============
+// cppName: "CasADi::isConstant''"
+// cWrapperName: "CasADi__isConstant_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isConstant_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isConstant(x0_)"
+extern "C"
+    int CasADi__isConstant_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isConstant_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isConstant(x0_) );
+}
+
+
+// ================== function "CasADi::isDense''" ===============
+// cppName: "CasADi::isDense''"
+// cWrapperName: "CasADi__isDense_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isDense(x0_)"
+extern "C"
+    int CasADi__isDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isDense(x0_) );
+}
+
+
+// ================== function "CasADi::isEmpty''" ===============
+// cppName: "CasADi::isEmpty''"
+// cWrapperName: "CasADi__isEmpty_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isEmpty_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isEmpty(x0_)"
+extern "C"
+    int CasADi__isEmpty_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isEmpty_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isEmpty(x0_) );
+}
+
+
+// ================== function "CasADi::isInteger''" ===============
+// cppName: "CasADi::isInteger''"
+// cWrapperName: "CasADi__isInteger_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isInteger_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isInteger(x0_)"
+extern "C"
+    int CasADi__isInteger_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isInteger_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isInteger(x0_) );
+}
+
+
+// ================== function "CasADi::isScalar''" ===============
+// cppName: "CasADi::isScalar''"
+// cWrapperName: "CasADi__isScalar_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isScalar_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isScalar(x0_)"
+extern "C"
+    int CasADi__isScalar_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isScalar_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isScalar(x0_) );
+}
+
+
+// ================== function "CasADi::isVector''" ===============
+// cppName: "CasADi::isVector''"
+// cWrapperName: "CasADi__isVector_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isVector_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isVector(x0_)"
+extern "C"
+    int CasADi__isVector_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isVector_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isVector(x0_) );
+}
+
+
+// ================== function "CasADi::isTril''" ===============
+// cppName: "CasADi::isTril''"
+// cWrapperName: "CasADi__isTril_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isTril_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isTril(x0_)"
+extern "C"
+    int CasADi__isTril_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isTril_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isTril(x0_) );
+}
+
+
+// ================== function "CasADi::isTriu''" ===============
+// cppName: "CasADi::isTriu''"
+// cWrapperName: "CasADi__isTriu_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isTriu_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isTriu(x0_)"
+extern "C"
+    int CasADi__isTriu_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isTriu_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isTriu(x0_) );
+}
+
+
+// ================== function "CasADi::det''" ===============
+// cppName: "CasADi::det''"
+// cWrapperName: "CasADi__det_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__det_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::det(x0_)"
+extern "C"
+    CasADi::SX* CasADi__det_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::SX* CasADi__det_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::det(x0_) );
+}
+
+
+// ================== function "CasADi::getMinor''" ===============
+// cppName: "CasADi::getMinor''"
+// cWrapperName: "CasADi__getMinor_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__getMinor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// call: "CasADi::getMinor(x0_, x1_, x2_)"
+extern "C"
+    CasADi::SX* CasADi__getMinor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
+CasADi::SX* CasADi__getMinor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::getMinor(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::cofactor''" ===============
+// cppName: "CasADi::cofactor''"
+// cWrapperName: "CasADi__cofactor_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__cofactor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// call: "CasADi::cofactor(x0_, x1_, x2_)"
+extern "C"
+    CasADi::SX* CasADi__cofactor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
+CasADi::SX* CasADi__cofactor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::cofactor(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::adj''" ===============
+// cppName: "CasADi::adj''"
+// cWrapperName: "CasADi__adj_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__adj_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::adj(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__adj_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__adj_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::adj(x0_) );
+}
+
+
+// ================== function "CasADi::inv''" ===============
+// cppName: "CasADi::inv''"
+// cWrapperName: "CasADi__inv_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__inv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::inv(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__inv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__inv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::inv(x0_) );
+}
+
+
+// ================== function "CasADi::reshape''''" ===============
+// cppName: "CasADi::reshape''''"
+// cWrapperName: "CasADi__reshape_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// call: "CasADi::reshape(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
+CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::reshape(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::reshape'''''" ===============
+// cppName: "CasADi::reshape'''''"
+// cWrapperName: "CasADi__reshape_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
+// call: "CasADi::reshape(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__reshape_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::reshape(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::vec''" ===============
+// cppName: "CasADi::vec''"
+// cWrapperName: "CasADi__vec_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__vec_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::vec(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__vec_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__vec_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::vec(x0_) );
+}
+
+
+// ================== function "CasADi::flatten''" ===============
+// cppName: "CasADi::flatten''"
+// cWrapperName: "CasADi__flatten_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__flatten_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::flatten(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__flatten_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__flatten_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::flatten(x0_) );
+}
+
+
+// ================== function "CasADi::vecNZ''" ===============
+// cppName: "CasADi::vecNZ''"
+// cWrapperName: "CasADi__vecNZ_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__vecNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::vecNZ(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__vecNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__vecNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::vecNZ(x0_) );
+}
+
+
+// ================== function "CasADi::flattenNZ''" ===============
+// cppName: "CasADi::flattenNZ''"
+// cWrapperName: "CasADi__flattenNZ_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__flattenNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::flattenNZ(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__flattenNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__flattenNZ_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::flattenNZ(x0_) );
+}
+
+
+// ================== function "CasADi::blockcat''" ===============
+// cppName: "CasADi::blockcat''"
+// cWrapperName: "CasADi__blockcat_TIC_TIC"
+// protoArgs: "(std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* x0)"
+// params: [ConstRef (StdVec (StdVec (CasadiClass SXMatrix)))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__blockcat_TIC_TIC(std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* x0)"
+// call: "CasADi::blockcat(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__blockcat_TIC_TIC(std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__blockcat_TIC_TIC(std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* x0){
+    std::vector< std::vector< CasADi::Matrix< CasADi::SX > > > x0_ = Marshaling<std::vector< std::vector< CasADi::Matrix< CasADi::SX > > >,std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::blockcat(x0_) );
+}
+
+
+// ================== function "CasADi::blocksplit''''''''" ===============
+// cppName: "CasADi::blocksplit''''''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1, std::vector< int >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (StdVec CInt),ConstRef (StdVec CInt)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*"
+// proto: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1, std::vector< int >* x2)"
+// call: "CasADi::blocksplit(x0_, x1_, x2_)"
+extern "C"
+    std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1, std::vector< int >* x2);
+std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1, std::vector< int >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+
+    return WrapReturn< std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*, std::vector< std::vector< CasADi::Matrix< CasADi::SX > > > >::wrapReturn( CasADi::blocksplit(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::blocksplit'''''''''" ===============
+// cppName: "CasADi::blocksplit'''''''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*"
+// proto: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// call: "CasADi::blocksplit(x0_, x1_, x2_)"
+extern "C"
+    std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
+std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*, std::vector< std::vector< CasADi::Matrix< CasADi::SX > > > >::wrapReturn( CasADi::blocksplit(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::blocksplit''''''''''" ===============
+// cppName: "CasADi::blocksplit''''''''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*"
+// proto: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// call: "CasADi::blocksplit(x0_, x1_)"
+extern "C"
+    std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
+std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*, std::vector< std::vector< CasADi::Matrix< CasADi::SX > > > >::wrapReturn( CasADi::blocksplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::blocksplit'''''''''''" ===============
+// cppName: "CasADi::blocksplit'''''''''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*"
+// proto: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::blocksplit(x0_)"
+extern "C"
+    std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*, std::vector< std::vector< CasADi::Matrix< CasADi::SX > > > >::wrapReturn( CasADi::blocksplit(x0_) );
+}
+
+
+// ================== function "CasADi::horzcat''" ===============
+// cppName: "CasADi::horzcat''"
+// cWrapperName: "CasADi__horzcat_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass SXMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__horzcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// call: "CasADi::horzcat(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__horzcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__horzcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::horzcat(x0_) );
+}
+
+
+// ================== function "CasADi::horzsplit''''''" ===============
+// cppName: "CasADi::horzsplit''''''"
+// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (StdVec CInt)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< CasADi::SX >* >*"
+// proto: "std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1)"
+// call: "CasADi::horzsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1);
+std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::Matrix< CasADi::SX >* >*, std::vector< CasADi::Matrix< CasADi::SX > > >::wrapReturn( CasADi::horzsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::horzsplit'''''''" ===============
+// cppName: "CasADi::horzsplit'''''''"
+// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< CasADi::SX >* >*"
+// proto: "std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// call: "CasADi::horzsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
+std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::Matrix< CasADi::SX >* >*, std::vector< CasADi::Matrix< CasADi::SX > > >::wrapReturn( CasADi::horzsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::horzsplit''''''''" ===============
+// cppName: "CasADi::horzsplit''''''''"
+// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< CasADi::SX >* >*"
+// proto: "std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::horzsplit(x0_)"
+extern "C"
+    std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::Matrix< CasADi::SX >* >*, std::vector< CasADi::Matrix< CasADi::SX > > >::wrapReturn( CasADi::horzsplit(x0_) );
+}
+
+
+// ================== function "CasADi::vertcat''" ===============
+// cppName: "CasADi::vertcat''"
+// cWrapperName: "CasADi__vertcat_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass SXMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__vertcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// call: "CasADi::vertcat(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__vertcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__vertcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::vertcat(x0_) );
+}
+
+
+// ================== function "CasADi::vertsplit''''''" ===============
+// cppName: "CasADi::vertsplit''''''"
+// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (StdVec CInt)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< CasADi::SX >* >*"
+// proto: "std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1)"
+// call: "CasADi::vertsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1);
+std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< int >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::Matrix< CasADi::SX >* >*, std::vector< CasADi::Matrix< CasADi::SX > > >::wrapReturn( CasADi::vertsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::vertsplit'''''''" ===============
+// cppName: "CasADi::vertsplit'''''''"
+// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< CasADi::SX >* >*"
+// proto: "std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// call: "CasADi::vertsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
+std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::Matrix< CasADi::SX >* >*, std::vector< CasADi::Matrix< CasADi::SX > > >::wrapReturn( CasADi::vertsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::vertsplit''''''''" ===============
+// cppName: "CasADi::vertsplit''''''''"
+// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< CasADi::SX >* >*"
+// proto: "std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::vertsplit(x0_)"
+extern "C"
+    std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::Matrix< CasADi::SX >* >*, std::vector< CasADi::Matrix< CasADi::SX > > >::wrapReturn( CasADi::vertsplit(x0_) );
+}
+
+
+// ================== function "CasADi::inner_prod''" ===============
+// cppName: "CasADi::inner_prod''"
+// cWrapperName: "CasADi__inner_prod_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__inner_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::inner_prod(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__inner_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__inner_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::inner_prod(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::outer_prod''" ===============
+// cppName: "CasADi::outer_prod''"
+// cWrapperName: "CasADi__outer_prod_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__outer_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::outer_prod(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__outer_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__outer_prod_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::outer_prod(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::norm_1''" ===============
+// cppName: "CasADi::norm_1''"
+// cWrapperName: "CasADi__norm_1_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__norm_1_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::norm_1(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__norm_1_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__norm_1_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::norm_1(x0_) );
+}
+
+
+// ================== function "CasADi::norm_2''" ===============
+// cppName: "CasADi::norm_2''"
+// cWrapperName: "CasADi__norm_2_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__norm_2_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::norm_2(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__norm_2_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__norm_2_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::norm_2(x0_) );
+}
+
+
+// ================== function "CasADi::norm_inf''" ===============
+// cppName: "CasADi::norm_inf''"
+// cWrapperName: "CasADi__norm_inf_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__norm_inf_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::norm_inf(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__norm_inf_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__norm_inf_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::norm_inf(x0_) );
+}
+
+
+// ================== function "CasADi::norm_F''" ===============
+// cppName: "CasADi::norm_F''"
+// cWrapperName: "CasADi__norm_F_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__norm_F_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::norm_F(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__norm_F_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__norm_F_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::norm_F(x0_) );
+}
+
+
+// ================== function "CasADi::qr''" ===============
+// cppName: "CasADi::qr''"
+// cWrapperName: "CasADi__qr_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),Ref (CasadiClass SXMatrix),Ref (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__qr_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::qr(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__qr_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+void CasADi__qr_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX >& x1_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX >& x2_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    CasADi::qr(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::nullspace''" ===============
+// cppName: "CasADi::nullspace''"
+// cWrapperName: "CasADi__nullspace_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__nullspace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::nullspace(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__nullspace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__nullspace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::nullspace(x0_) );
+}
+
+
+// ================== function "CasADi::solve''" ===============
+// cppName: "CasADi::solve''"
+// cWrapperName: "CasADi__solve_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__solve_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::solve(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__solve_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__solve_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::solve(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::pinv''" ===============
+// cppName: "CasADi::pinv''"
+// cWrapperName: "CasADi__pinv_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__pinv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::pinv(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__pinv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__pinv_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::pinv(x0_) );
+}
+
+
+// ================== function "CasADi::isZero''" ===============
+// cppName: "CasADi::isZero''"
+// cWrapperName: "CasADi__isZero_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isZero_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isZero(x0_)"
+extern "C"
+    int CasADi__isZero_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isZero_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isZero(x0_) );
+}
+
+
+// ================== function "CasADi::isOne''" ===============
+// cppName: "CasADi::isOne''"
+// cWrapperName: "CasADi__isOne_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isOne(x0_)"
+extern "C"
+    int CasADi__isOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isOne(x0_) );
+}
+
+
+// ================== function "CasADi::isMinusOne''" ===============
+// cppName: "CasADi::isMinusOne''"
+// cWrapperName: "CasADi__isMinusOne_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isMinusOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isMinusOne(x0_)"
+extern "C"
+    int CasADi__isMinusOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isMinusOne_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isMinusOne(x0_) );
+}
+
+
+// ================== function "CasADi::isIdentity''" ===============
+// cppName: "CasADi::isIdentity''"
+// cWrapperName: "CasADi__isIdentity_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isIdentity_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isIdentity(x0_)"
+extern "C"
+    int CasADi__isIdentity_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isIdentity_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isIdentity(x0_) );
+}
+
+
+// ================== function "CasADi::nnz''" ===============
+// cppName: "CasADi::nnz''"
+// cWrapperName: "CasADi__nnz_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__nnz_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::nnz(x0_)"
+extern "C"
+    int CasADi__nnz_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__nnz_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::nnz(x0_) );
+}
+
+
+// ================== function "CasADi::nnz_sym''" ===============
+// cppName: "CasADi::nnz_sym''"
+// cWrapperName: "CasADi__nnz_sym_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__nnz_sym_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::nnz_sym(x0_)"
+extern "C"
+    int CasADi__nnz_sym_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__nnz_sym_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::nnz_sym(x0_) );
+}
+
+
+// ================== function "CasADi::isEqual''" ===============
+// cppName: "CasADi::isEqual''"
+// cWrapperName: "CasADi__isEqual_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isEqual_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::isEqual(x0_, x1_)"
+extern "C"
+    int CasADi__isEqual_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+int CasADi__isEqual_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isEqual(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::repmat''" ===============
+// cppName: "CasADi::repmat''"
+// cWrapperName: "CasADi__repmat_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__repmat_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// call: "CasADi::repmat(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__repmat_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
+CasADi::Matrix< CasADi::SX >* CasADi__repmat_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::repmat(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::getSparseTriplet''" ===============
+// cppName: "CasADi::getSparseTriplet''"
+// cWrapperName: "CasADi__getSparseTriplet_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< int >* >*"
+// proto: "std::vector< std::vector< int >* >* CasADi__getSparseTriplet_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::getSparseTriplet(x0_)"
+extern "C"
+    std::vector< std::vector< int >* >* CasADi__getSparseTriplet_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+std::vector< std::vector< int >* >* CasADi__getSparseTriplet_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< std::vector< std::vector< int >* >*, std::vector< std::vector< int > > >::wrapReturn( CasADi::getSparseTriplet(x0_) );
+}
+
+
+// ================== function "CasADi::unite''" ===============
+// cppName: "CasADi::unite''"
+// cWrapperName: "CasADi__unite_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__unite_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::unite(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__unite_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__unite_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::unite(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sumCols''" ===============
+// cppName: "CasADi::sumCols''"
+// cWrapperName: "CasADi__sumCols_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__sumCols_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::sumCols(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__sumCols_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__sumCols_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::sumCols(x0_) );
+}
+
+
+// ================== function "CasADi::sumRows''" ===============
+// cppName: "CasADi::sumRows''"
+// cWrapperName: "CasADi__sumRows_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__sumRows_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::sumRows(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__sumRows_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__sumRows_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::sumRows(x0_) );
+}
+
+
+// ================== function "CasADi::sumAll''" ===============
+// cppName: "CasADi::sumAll''"
+// cWrapperName: "CasADi__sumAll_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__sumAll_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::sumAll(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__sumAll_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__sumAll_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::sumAll(x0_) );
+}
+
+
+// ================== function "CasADi::trace''" ===============
+// cppName: "CasADi::trace''"
+// cWrapperName: "CasADi__trace_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__trace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::trace(x0_)"
+extern "C"
+    CasADi::SX* CasADi__trace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::SX* CasADi__trace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::trace(x0_) );
+}
+
+
+// ================== function "CasADi::makeDense''" ===============
+// cppName: "CasADi::makeDense''"
+// cWrapperName: "CasADi__makeDense_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [Ref (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__makeDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::makeDense(x0_)"
+extern "C"
+    void CasADi__makeDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+void CasADi__makeDense_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX >& x0_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    CasADi::makeDense(x0_);
+}
+
+
+// ================== function "CasADi::densify''" ===============
+// cppName: "CasADi::densify''"
+// cWrapperName: "CasADi__densify_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__densify_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::densify(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__densify_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__densify_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::densify(x0_) );
+}
+
+
+// ================== function "CasADi::makeSparse''''" ===============
+// cppName: "CasADi::makeSparse''''"
+// cWrapperName: "CasADi__makeSparse_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, double x1)"
+// params: [Ref (CasadiClass SXMatrix),CDouble]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__makeSparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1)"
+// call: "CasADi::makeSparse(x0_, x1_)"
+extern "C"
+    void CasADi__makeSparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1);
+void CasADi__makeSparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1){
+    CasADi::Matrix< CasADi::SX >& x0_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    double x1_ = Marshaling<double,double>::marshal(x1);
+
+    CasADi::makeSparse(x0_, x1_);
+}
+
+
+// ================== function "CasADi::makeSparse'''''" ===============
+// cppName: "CasADi::makeSparse'''''"
+// cWrapperName: "CasADi__makeSparse_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [Ref (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__makeSparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::makeSparse(x0_)"
+extern "C"
+    void CasADi__makeSparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+void CasADi__makeSparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX >& x0_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    CasADi::makeSparse(x0_);
+}
+
+
+// ================== function "CasADi::hasNonStructuralZeros''" ===============
+// cppName: "CasADi::hasNonStructuralZeros''"
+// cWrapperName: "CasADi__hasNonStructuralZeros_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__hasNonStructuralZeros_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::hasNonStructuralZeros(x0_)"
+extern "C"
+    int CasADi__hasNonStructuralZeros_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__hasNonStructuralZeros_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::hasNonStructuralZeros(x0_) );
+}
+
+
+// ================== function "CasADi::diag''" ===============
+// cppName: "CasADi::diag''"
+// cWrapperName: "CasADi__diag_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__diag_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::diag(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__diag_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__diag_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::diag(x0_) );
+}
+
+
+// ================== function "CasADi::blkdiag''" ===============
+// cppName: "CasADi::blkdiag''"
+// cWrapperName: "CasADi__blkdiag_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass SXMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__blkdiag_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// call: "CasADi::blkdiag(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__blkdiag_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__blkdiag_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::blkdiag(x0_) );
+}
+
+
+// ================== function "CasADi::polyval''" ===============
+// cppName: "CasADi::polyval''"
+// cWrapperName: "CasADi__polyval_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__polyval_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::polyval(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__polyval_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__polyval_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::polyval(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::addMultiple''''" ===============
+// cppName: "CasADi::addMultiple''''"
+// cWrapperName: "CasADi__addMultiple_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, int x3)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (StdVec (CasadiClass SX)),Ref (StdVec (CasadiClass SX)),CBool]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__addMultiple_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, int x3)"
+// call: "CasADi::addMultiple(x0_, x1_, x2_, x3_)"
+extern "C"
+    void CasADi__addMultiple_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, int x3);
+void CasADi__addMultiple_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, int x3){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    std::vector< CasADi::SX > x1_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x1);
+    std::vector< CasADi::SX > x2_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x2);
+    bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+    CasADi::addMultiple(x0_, x1_, x2_, x3_);
+}
+
+
+// ================== function "CasADi::addMultiple'''''" ===============
+// cppName: "CasADi::addMultiple'''''"
+// cWrapperName: "CasADi__addMultiple_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (StdVec (CasadiClass SX)),Ref (StdVec (CasadiClass SX))]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__addMultiple_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2)"
+// call: "CasADi::addMultiple(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__addMultiple_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2);
+void CasADi__addMultiple_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    std::vector< CasADi::SX > x1_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x1);
+    std::vector< CasADi::SX > x2_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x2);
+
+    CasADi::addMultiple(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::veccat''" ===============
+// cppName: "CasADi::veccat''"
+// cWrapperName: "CasADi__veccat_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass SXMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__veccat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// call: "CasADi::veccat(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__veccat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__veccat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::veccat(x0_) );
+}
+
+
+// ================== function "CasADi::vecNZcat''" ===============
+// cppName: "CasADi::vecNZcat''"
+// cWrapperName: "CasADi__vecNZcat_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass SXMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__vecNZcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// call: "CasADi::vecNZcat(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__vecNZcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__vecNZcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::vecNZcat(x0_) );
+}
+
+
+// ================== function "CasADi::flattencat''" ===============
+// cppName: "CasADi::flattencat''"
+// cWrapperName: "CasADi__flattencat_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass SXMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__flattencat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// call: "CasADi::flattencat(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__flattencat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__flattencat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::flattencat(x0_) );
+}
+
+
+// ================== function "CasADi::flattenNZcat''" ===============
+// cppName: "CasADi::flattenNZcat''"
+// cWrapperName: "CasADi__flattenNZcat_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass SXMatrix))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__flattenNZcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0)"
+// call: "CasADi::flattenNZcat(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__flattenNZcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__flattenNZcat_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::flattenNZcat(x0_) );
+}
+
+
+// ================== function "CasADi::project''" ===============
+// cppName: "CasADi::project''"
+// cWrapperName: "CasADi__project_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__project_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1)"
+// call: "CasADi::project(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__project_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__project_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::CRSSparsity* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::project(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sprank''" ===============
+// cppName: "CasADi::sprank''"
+// cWrapperName: "CasADi__sprank_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__sprank_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::sprank(x0_)"
+extern "C"
+    int CasADi__sprank_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__sprank_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::sprank(x0_) );
+}
+
+
+// ================== function "CasADi::kron''" ===============
+// cppName: "CasADi::kron''"
+// cWrapperName: "CasADi__kron_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__kron_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::kron(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__kron_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__kron_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::kron(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sparse''''" ===============
+// cppName: "CasADi::sparse''''"
+// cWrapperName: "CasADi__sparse_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, double x1)"
+// params: [ConstRef (CasadiClass SXMatrix),CDouble]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1)"
+// call: "CasADi::sparse(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1);
+CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, double x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    double x1_ = Marshaling<double,double>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::sparse(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sparse'''''" ===============
+// cppName: "CasADi::sparse'''''"
+// cWrapperName: "CasADi__sparse_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::sparse(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__sparse_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::sparse(x0_) );
+}
+
+
+// ================== function "CasADi::full''" ===============
+// cppName: "CasADi::full''"
+// cWrapperName: "CasADi__full_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__full_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::full(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__full_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__full_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::full(x0_) );
+}
+
+
+// ================== function "CasADi::logic_and" ===============
+// cppName: "CasADi::logic_and"
+// cWrapperName: "CasADi__logic_and"
+// protoArgs: "(int const * x0, int const * x1)"
+// params: [ConstRef CInt,ConstRef CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__logic_and(int const * x0, int const * x1)"
+// call: "CasADi::logic_and(x0_, x1_)"
+extern "C"
+    int CasADi__logic_and(int const * x0, int const * x1);
+int CasADi__logic_and(int const * x0, int const * x1){
+    int const & x0_ = Marshaling<int const &,int const *>::marshal(x0);
+    int const & x1_ = Marshaling<int const &,int const *>::marshal(x1);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::logic_and(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_or" ===============
+// cppName: "CasADi::logic_or"
+// cWrapperName: "CasADi__logic_or"
+// protoArgs: "(int const * x0, int const * x1)"
+// params: [ConstRef CInt,ConstRef CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__logic_or(int const * x0, int const * x1)"
+// call: "CasADi::logic_or(x0_, x1_)"
+extern "C"
+    int CasADi__logic_or(int const * x0, int const * x1);
+int CasADi__logic_or(int const * x0, int const * x1){
+    int const & x0_ = Marshaling<int const &,int const *>::marshal(x0);
+    int const & x1_ = Marshaling<int const &,int const *>::marshal(x1);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::logic_or(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_not" ===============
+// cppName: "CasADi::logic_not"
+// cWrapperName: "CasADi__logic_not"
+// protoArgs: "(int const * x0)"
+// params: [ConstRef CInt]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__logic_not(int const * x0)"
+// call: "CasADi::logic_not(x0_)"
+extern "C"
+    int CasADi__logic_not(int const * x0);
+int CasADi__logic_not(int const * x0){
+    int const & x0_ = Marshaling<int const &,int const *>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::logic_not(x0_) );
+}
+
+
+// ================== function "CasADi::logic_and'" ===============
+// cppName: "CasADi::logic_and'"
+// cWrapperName: "CasADi__logic_and_TIC"
+// protoArgs: "(double const * x0, double const * x1)"
+// params: [ConstRef CDouble,ConstRef CDouble]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double CasADi__logic_and_TIC(double const * x0, double const * x1)"
+// call: "CasADi::logic_and(x0_, x1_)"
+extern "C"
+    double CasADi__logic_and_TIC(double const * x0, double const * x1);
+double CasADi__logic_and_TIC(double const * x0, double const * x1){
+    double const & x0_ = Marshaling<double const &,double const *>::marshal(x0);
+    double const & x1_ = Marshaling<double const &,double const *>::marshal(x1);
+
+    return WrapReturn< double, double >::wrapReturn( CasADi::logic_and(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_or'" ===============
+// cppName: "CasADi::logic_or'"
+// cWrapperName: "CasADi__logic_or_TIC"
+// protoArgs: "(double const * x0, double const * x1)"
+// params: [ConstRef CDouble,ConstRef CDouble]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double CasADi__logic_or_TIC(double const * x0, double const * x1)"
+// call: "CasADi::logic_or(x0_, x1_)"
+extern "C"
+    double CasADi__logic_or_TIC(double const * x0, double const * x1);
+double CasADi__logic_or_TIC(double const * x0, double const * x1){
+    double const & x0_ = Marshaling<double const &,double const *>::marshal(x0);
+    double const & x1_ = Marshaling<double const &,double const *>::marshal(x1);
+
+    return WrapReturn< double, double >::wrapReturn( CasADi::logic_or(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_not'" ===============
+// cppName: "CasADi::logic_not'"
+// cWrapperName: "CasADi__logic_not_TIC"
+// protoArgs: "(double const * x0)"
+// params: [ConstRef CDouble]
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double CasADi__logic_not_TIC(double const * x0)"
+// call: "CasADi::logic_not(x0_)"
+extern "C"
+    double CasADi__logic_not_TIC(double const * x0);
+double CasADi__logic_not_TIC(double const * x0){
+    double const & x0_ = Marshaling<double const &,double const *>::marshal(x0);
+
+    return WrapReturn< double, double >::wrapReturn( CasADi::logic_not(x0_) );
+}
+
+
+// ================== function "CasADi::logic_and'''" ===============
+// cppName: "CasADi::logic_and'''"
+// cWrapperName: "CasADi__logic_and_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__logic_and_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::logic_and(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__logic_and_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__logic_and_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::logic_and(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_or'''" ===============
+// cppName: "CasADi::logic_or'''"
+// cWrapperName: "CasADi__logic_or_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// params: [ConstRef (CasadiClass DMatrix),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__logic_or_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::logic_or(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__logic_or_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__logic_or_TIC_TIC_TIC(CasADi::Matrix< double >* x0, CasADi::Matrix< double >* x1){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::logic_or(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_not'''" ===============
+// cppName: "CasADi::logic_not'''"
+// cWrapperName: "CasADi__logic_not_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__logic_not_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::logic_not(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__logic_not_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< double >* CasADi__logic_not_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::logic_not(x0_) );
+}
+
+
+// ================== function "CasADi::logic_and''''" ===============
+// cppName: "CasADi::logic_and''''"
+// cWrapperName: "CasADi__logic_and_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__logic_and_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::logic_and(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__logic_and_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__logic_and_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::logic_and(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_or''''" ===============
+// cppName: "CasADi::logic_or''''"
+// cWrapperName: "CasADi__logic_or_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__logic_or_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::logic_or(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__logic_or_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__logic_or_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::logic_or(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_not''''" ===============
+// cppName: "CasADi::logic_not''''"
+// cWrapperName: "CasADi__logic_not_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__logic_not_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::logic_not(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__logic_not_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__logic_not_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::logic_not(x0_) );
+}
+
+
+// ================== function "CasADi::logic_and'''''" ===============
+// cppName: "CasADi::logic_and'''''"
+// cWrapperName: "CasADi__logic_and_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::logic_and(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::logic_and(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_or'''''" ===============
+// cppName: "CasADi::logic_or'''''"
+// cWrapperName: "CasADi__logic_or_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::logic_or(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::logic_or(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_not'''''" ===============
+// cppName: "CasADi::logic_not'''''"
+// cWrapperName: "CasADi__logic_not_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::logic_not(x0_)"
+extern "C"
+    CasADi::MX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::logic_not(x0_) );
+}
+
+
+// ================== function "CasADi::logic_and''''''" ===============
+// cppName: "CasADi::logic_and''''''"
+// cWrapperName: "CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::SX* x0, CasADi::SX* x1)"
+// params: [ConstRef (CasadiClass SX),ConstRef (CasadiClass SX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1)"
+// call: "CasADi::logic_and(x0_, x1_)"
+extern "C"
+    CasADi::SX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1);
+CasADi::SX* CasADi__logic_and_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+    CasADi::SX const & x1_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x1);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::logic_and(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_or''''''" ===============
+// cppName: "CasADi::logic_or''''''"
+// cWrapperName: "CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::SX* x0, CasADi::SX* x1)"
+// params: [ConstRef (CasadiClass SX),ConstRef (CasadiClass SX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1)"
+// call: "CasADi::logic_or(x0_, x1_)"
+extern "C"
+    CasADi::SX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1);
+CasADi::SX* CasADi__logic_or_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0, CasADi::SX* x1){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+    CasADi::SX const & x1_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x1);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::logic_or(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::logic_not''''''" ===============
+// cppName: "CasADi::logic_not''''''"
+// cWrapperName: "CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::SX* x0)"
+// params: [ConstRef (CasadiClass SX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::SX*"
+// proto: "CasADi::SX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0)"
+// call: "CasADi::logic_not(x0_)"
+extern "C"
+    CasADi::SX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0);
+CasADi::SX* CasADi__logic_not_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< CasADi::SX*, CasADi::SX >::wrapReturn( CasADi::logic_not(x0_) );
+}
+
+
+// ================== function "CasADi::hash_combine" ===============
+// cppName: "CasADi::hash_combine"
+// cWrapperName: "CasADi__hash_combine"
+// protoArgs: "(size_t* x0, std::vector< int >* x1)"
+// params: [Ref CSize,ConstRef (StdVec CInt)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__hash_combine(size_t* x0, std::vector< int >* x1)"
+// call: "CasADi::hash_combine(x0_, x1_)"
+extern "C"
+    void CasADi__hash_combine(size_t* x0, std::vector< int >* x1);
+void CasADi__hash_combine(size_t* x0, std::vector< int >* x1){
+    size_t& x0_ = Marshaling<size_t&,size_t*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    CasADi::hash_combine(x0_, x1_);
+}
+
+
+// ================== function "CasADi::hash_sparsity" ===============
+// cppName: "CasADi::hash_sparsity"
+// cWrapperName: "CasADi__hash_sparsity"
+// protoArgs: "(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// params: [CInt,CInt,ConstRef (StdVec CInt),ConstRef (StdVec CInt)]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "size_t"
+// proto: "size_t CasADi__hash_sparsity(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// call: "CasADi::hash_sparsity(x0_, x1_, x2_, x3_)"
+extern "C"
+    size_t CasADi__hash_sparsity(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
+size_t CasADi__hash_sparsity(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+
+    return WrapReturn< size_t, size_t >::wrapReturn( CasADi::hash_sparsity(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::sp_dense" ===============
+// cppName: "CasADi::sp_dense"
+// cWrapperName: "CasADi__sp_dense"
+// protoArgs: "(int x0, int x1)"
+// params: [CInt,CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_dense(int x0, int x1)"
+// call: "CasADi::sp_dense(x0_, x1_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_dense(int x0, int x1);
+CasADi::CRSSparsity* CasADi__sp_dense(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_dense(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sp_dense'" ===============
+// cppName: "CasADi::sp_dense'"
+// cWrapperName: "CasADi__sp_dense_TIC"
+// protoArgs: "(int x0)"
+// params: [CInt]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_dense_TIC(int x0)"
+// call: "CasADi::sp_dense(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_dense_TIC(int x0);
+CasADi::CRSSparsity* CasADi__sp_dense_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_dense(x0_) );
+}
+
+
+// ================== function "CasADi::sp_sparse" ===============
+// cppName: "CasADi::sp_sparse"
+// cWrapperName: "CasADi__sp_sparse"
+// protoArgs: "(int x0, int x1)"
+// params: [CInt,CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_sparse(int x0, int x1)"
+// call: "CasADi::sp_sparse(x0_, x1_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_sparse(int x0, int x1);
+CasADi::CRSSparsity* CasADi__sp_sparse(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_sparse(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sp_sparse'" ===============
+// cppName: "CasADi::sp_sparse'"
+// cWrapperName: "CasADi__sp_sparse_TIC"
+// protoArgs: "(int x0)"
+// params: [CInt]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_sparse_TIC(int x0)"
+// call: "CasADi::sp_sparse(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_sparse_TIC(int x0);
+CasADi::CRSSparsity* CasADi__sp_sparse_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_sparse(x0_) );
+}
+
+
+// ================== function "CasADi::sp_unit" ===============
+// cppName: "CasADi::sp_unit"
+// cWrapperName: "CasADi__sp_unit"
+// protoArgs: "(int x0, int x1)"
+// params: [CInt,CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_unit(int x0, int x1)"
+// call: "CasADi::sp_unit(x0_, x1_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_unit(int x0, int x1);
+CasADi::CRSSparsity* CasADi__sp_unit(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_unit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sp_tril" ===============
+// cppName: "CasADi::sp_tril"
+// cWrapperName: "CasADi__sp_tril"
+// protoArgs: "(int x0)"
+// params: [CInt]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_tril(int x0)"
+// call: "CasADi::sp_tril(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_tril(int x0);
+CasADi::CRSSparsity* CasADi__sp_tril(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_tril(x0_) );
+}
+
+
+// ================== function "CasADi::sp_diag" ===============
+// cppName: "CasADi::sp_diag"
+// cWrapperName: "CasADi__sp_diag"
+// protoArgs: "(int x0)"
+// params: [CInt]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_diag(int x0)"
+// call: "CasADi::sp_diag(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_diag(int x0);
+CasADi::CRSSparsity* CasADi__sp_diag(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_diag(x0_) );
+}
+
+
+// ================== function "CasADi::sp_band" ===============
+// cppName: "CasADi::sp_band"
+// cWrapperName: "CasADi__sp_band"
+// protoArgs: "(int x0, int x1)"
+// params: [CInt,CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_band(int x0, int x1)"
+// call: "CasADi::sp_band(x0_, x1_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_band(int x0, int x1);
+CasADi::CRSSparsity* CasADi__sp_band(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_band(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sp_banded" ===============
+// cppName: "CasADi::sp_banded"
+// cWrapperName: "CasADi__sp_banded"
+// protoArgs: "(int x0, int x1)"
+// params: [CInt,CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_banded(int x0, int x1)"
+// call: "CasADi::sp_banded(x0_, x1_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_banded(int x0, int x1);
+CasADi::CRSSparsity* CasADi__sp_banded(int x0, int x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_banded(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::sp_rowcol" ===============
+// cppName: "CasADi::sp_rowcol"
+// cWrapperName: "CasADi__sp_rowcol"
+// protoArgs: "(std::vector< int >* x0, std::vector< int >* x1, int x2, int x3)"
+// params: [ConstRef (StdVec CInt),ConstRef (StdVec CInt),CInt,CInt]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_rowcol(std::vector< int >* x0, std::vector< int >* x1, int x2, int x3)"
+// call: "CasADi::sp_rowcol(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_rowcol(std::vector< int >* x0, std::vector< int >* x1, int x2, int x3);
+CasADi::CRSSparsity* CasADi__sp_rowcol(std::vector< int >* x0, std::vector< int >* x1, int x2, int x3){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_rowcol(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::getNZDense" ===============
+// cppName: "CasADi::getNZDense"
+// cWrapperName: "CasADi__getNZDense"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// params: [ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* CasADi__getNZDense(CasADi::CRSSparsity* x0)"
+// call: "CasADi::getNZDense(x0_)"
+extern "C"
+    std::vector< int >* CasADi__getNZDense(CasADi::CRSSparsity* x0);
+std::vector< int >* CasADi__getNZDense(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( CasADi::getNZDense(x0_) );
+}
+
+
+// ================== function "CasADi::reshape''''''" ===============
+// cppName: "CasADi::reshape''''''"
+// cWrapperName: "CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass CRSSparsity),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, int x1, int x2)"
+// call: "CasADi::reshape(x0_, x1_, x2_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, int x1, int x2);
+CasADi::CRSSparsity* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, int x1, int x2){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::reshape(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::vec'''" ===============
+// cppName: "CasADi::vec'''"
+// cWrapperName: "CasADi__vec_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// params: [ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__vec_TIC_TIC_TIC(CasADi::CRSSparsity* x0)"
+// call: "CasADi::vec(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__vec_TIC_TIC_TIC(CasADi::CRSSparsity* x0);
+CasADi::CRSSparsity* CasADi__vec_TIC_TIC_TIC(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::vec(x0_) );
+}
+
+
+// ================== function "CasADi::trans'''" ===============
+// cppName: "CasADi::trans'''"
+// cWrapperName: "CasADi__trans_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// params: [ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__trans_TIC_TIC_TIC(CasADi::CRSSparsity* x0)"
+// call: "CasADi::trans(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__trans_TIC_TIC_TIC(CasADi::CRSSparsity* x0);
+CasADi::CRSSparsity* CasADi__trans_TIC_TIC_TIC(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::trans(x0_) );
+}
+
+
+// ================== function "CasADi::lowerSparsity" ===============
+// cppName: "CasADi::lowerSparsity"
+// cWrapperName: "CasADi__lowerSparsity"
+// protoArgs: "(CasADi::CRSSparsity* x0, int x1)"
+// params: [ConstRef (CasadiClass CRSSparsity),CBool]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__lowerSparsity(CasADi::CRSSparsity* x0, int x1)"
+// call: "CasADi::lowerSparsity(x0_, x1_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__lowerSparsity(CasADi::CRSSparsity* x0, int x1);
+CasADi::CRSSparsity* CasADi__lowerSparsity(CasADi::CRSSparsity* x0, int x1){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+    bool x1_ = Marshaling<bool,int>::marshal(x1);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::lowerSparsity(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::lowerSparsity'" ===============
+// cppName: "CasADi::lowerSparsity'"
+// cWrapperName: "CasADi__lowerSparsity_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// params: [ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__lowerSparsity_TIC(CasADi::CRSSparsity* x0)"
+// call: "CasADi::lowerSparsity(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__lowerSparsity_TIC(CasADi::CRSSparsity* x0);
+CasADi::CRSSparsity* CasADi__lowerSparsity_TIC(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::lowerSparsity(x0_) );
+}
+
+
+// ================== function "CasADi::lowerNZ" ===============
+// cppName: "CasADi::lowerNZ"
+// cWrapperName: "CasADi__lowerNZ"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// params: [ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* CasADi__lowerNZ(CasADi::CRSSparsity* x0)"
+// call: "CasADi::lowerNZ(x0_)"
+extern "C"
+    std::vector< int >* CasADi__lowerNZ(CasADi::CRSSparsity* x0);
+std::vector< int >* CasADi__lowerNZ(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( CasADi::lowerNZ(x0_) );
+}
+
+
+// ================== function "CasADi::sp_triplet" ===============
+// cppName: "CasADi::sp_triplet"
+// cWrapperName: "CasADi__sp_triplet"
+// protoArgs: "(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, int x5)"
+// params: [CInt,CInt,ConstRef (StdVec CInt),ConstRef (StdVec CInt),Ref (StdVec CInt),CBool]
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_triplet(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, int x5)"
+// call: "CasADi::sp_triplet(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_triplet(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, int x5);
+CasADi::CRSSparsity* CasADi__sp_triplet(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4, int x5){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+    std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
+    bool x5_ = Marshaling<bool,int>::marshal(x5);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_triplet(x0_, x1_, x2_, x3_, x4_, x5_) );
+}
+
+
+// ================== function "CasADi::sp_triplet'" ===============
+// cppName: "CasADi::sp_triplet'"
+// cWrapperName: "CasADi__sp_triplet_TIC"
+// protoArgs: "(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4)"
+// params: [CInt,CInt,ConstRef (StdVec CInt),ConstRef (StdVec CInt),Ref (StdVec CInt)]
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_triplet_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4)"
+// call: "CasADi::sp_triplet(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_triplet_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4);
+CasADi::CRSSparsity* CasADi__sp_triplet_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3, std::vector< int >* x4){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+    std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_triplet(x0_, x1_, x2_, x3_, x4_) );
+}
+
+
+// ================== function "CasADi::sp_triplet''" ===============
+// cppName: "CasADi::sp_triplet''"
+// cWrapperName: "CasADi__sp_triplet_TIC_TIC"
+// protoArgs: "(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// params: [CInt,CInt,ConstRef (StdVec CInt),ConstRef (StdVec CInt)]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_triplet_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3)"
+// call: "CasADi::sp_triplet(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_triplet_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
+CasADi::CRSSparsity* CasADi__sp_triplet_TIC_TIC(int x0, int x1, std::vector< int >* x2, std::vector< int >* x3){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+    std::vector< int > x3_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x3);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_triplet(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::mul'''''''''" ===============
+// cppName: "CasADi::mul'''''''''"
+// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::CRSSparsity* x0, CasADi::CRSSparsity* x1)"
+// params: [ConstRef (CasadiClass CRSSparsity),ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::CRSSparsity* x1)"
+// call: "CasADi::mul(x0_, x1_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::CRSSparsity* x1);
+CasADi::CRSSparsity* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::CRSSparsity* x0, CasADi::CRSSparsity* x1){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::mul(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::vertcat'''" ===============
+// cppName: "CasADi::vertcat'''"
+// cWrapperName: "CasADi__vertcat_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::CRSSparsity* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass CRSSparsity))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__vertcat_TIC_TIC_TIC(std::vector< CasADi::CRSSparsity* >* x0)"
+// call: "CasADi::vertcat(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__vertcat_TIC_TIC_TIC(std::vector< CasADi::CRSSparsity* >* x0);
+CasADi::CRSSparsity* CasADi__vertcat_TIC_TIC_TIC(std::vector< CasADi::CRSSparsity* >* x0){
+    std::vector< CasADi::CRSSparsity > x0_ = Marshaling<std::vector< CasADi::CRSSparsity >,std::vector< CasADi::CRSSparsity* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::vertcat(x0_) );
+}
+
+
+// ================== function "CasADi::horzcat'''" ===============
+// cppName: "CasADi::horzcat'''"
+// cWrapperName: "CasADi__horzcat_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::CRSSparsity* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass CRSSparsity))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__horzcat_TIC_TIC_TIC(std::vector< CasADi::CRSSparsity* >* x0)"
+// call: "CasADi::horzcat(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__horzcat_TIC_TIC_TIC(std::vector< CasADi::CRSSparsity* >* x0);
+CasADi::CRSSparsity* CasADi__horzcat_TIC_TIC_TIC(std::vector< CasADi::CRSSparsity* >* x0){
+    std::vector< CasADi::CRSSparsity > x0_ = Marshaling<std::vector< CasADi::CRSSparsity >,std::vector< CasADi::CRSSparsity* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::horzcat(x0_) );
+}
+
+
+// ================== function "CasADi::blkdiag'''" ===============
+// cppName: "CasADi::blkdiag'''"
+// cWrapperName: "CasADi__blkdiag_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::CRSSparsity* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass CRSSparsity))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__blkdiag_TIC_TIC_TIC(std::vector< CasADi::CRSSparsity* >* x0)"
+// call: "CasADi::blkdiag(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__blkdiag_TIC_TIC_TIC(std::vector< CasADi::CRSSparsity* >* x0);
+CasADi::CRSSparsity* CasADi__blkdiag_TIC_TIC_TIC(std::vector< CasADi::CRSSparsity* >* x0){
+    std::vector< CasADi::CRSSparsity > x0_ = Marshaling<std::vector< CasADi::CRSSparsity >,std::vector< CasADi::CRSSparsity* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::blkdiag(x0_) );
+}
+
+
+// ================== function "CasADi::sp_compress" ===============
+// cppName: "CasADi::sp_compress"
+// cWrapperName: "CasADi__sp_compress"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// params: [ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< int >*"
+// proto: "std::vector< int >* CasADi__sp_compress(CasADi::CRSSparsity* x0)"
+// call: "CasADi::sp_compress(x0_)"
+extern "C"
+    std::vector< int >* CasADi__sp_compress(CasADi::CRSSparsity* x0);
+std::vector< int >* CasADi__sp_compress(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< std::vector< int >*, std::vector< int > >::wrapReturn( CasADi::sp_compress(x0_) );
+}
+
+
+// ================== function "CasADi::sp_compress'" ===============
+// cppName: "CasADi::sp_compress'"
+// cWrapperName: "CasADi__sp_compress_TIC"
+// protoArgs: "(std::vector< int >* x0)"
+// params: [ConstRef (StdVec CInt)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::CRSSparsity*"
+// proto: "CasADi::CRSSparsity* CasADi__sp_compress_TIC(std::vector< int >* x0)"
+// call: "CasADi::sp_compress(x0_)"
+extern "C"
+    CasADi::CRSSparsity* CasADi__sp_compress_TIC(std::vector< int >* x0);
+CasADi::CRSSparsity* CasADi__sp_compress_TIC(std::vector< int >* x0){
+    std::vector< int > x0_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
+
+    return WrapReturn< CasADi::CRSSparsity*, CasADi::CRSSparsity >::wrapReturn( CasADi::sp_compress(x0_) );
+}
+
+
+// ================== function "CasADi::rank" ===============
+// cppName: "CasADi::rank"
+// cWrapperName: "CasADi__rank"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// params: [ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__rank(CasADi::CRSSparsity* x0)"
+// call: "CasADi::rank(x0_)"
+extern "C"
+    int CasADi__rank(CasADi::CRSSparsity* x0);
+int CasADi__rank(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::rank(x0_) );
+}
+
+
+// ================== function "CasADi::isSingular" ===============
+// cppName: "CasADi::isSingular"
+// cWrapperName: "CasADi__isSingular"
+// protoArgs: "(CasADi::CRSSparsity* x0)"
+// params: [ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isSingular(CasADi::CRSSparsity* x0)"
+// call: "CasADi::isSingular(x0_)"
+extern "C"
+    int CasADi__isSingular(CasADi::CRSSparsity* x0);
+int CasADi__isSingular(CasADi::CRSSparsity* x0){
+    CasADi::CRSSparsity const & x0_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isSingular(x0_) );
+}
+
+
+// ================== function "CasADi::ssym" ===============
+// cppName: "CasADi::ssym"
+// cWrapperName: "CasADi__ssym"
+// protoArgs: "(std::string* x0, int x1, int x2)"
+// params: [ConstRef StdString,CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ssym(std::string* x0, int x1, int x2)"
+// call: "CasADi::ssym(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__ssym(std::string* x0, int x1, int x2);
+CasADi::Matrix< CasADi::SX >* CasADi__ssym(std::string* x0, int x1, int x2){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::ssym(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::ssym'" ===============
+// cppName: "CasADi::ssym'"
+// cWrapperName: "CasADi__ssym_TIC"
+// protoArgs: "(std::string* x0, int x1)"
+// params: [ConstRef StdString,CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC(std::string* x0, int x1)"
+// call: "CasADi::ssym(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC(std::string* x0, int x1);
+CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC(std::string* x0, int x1){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::ssym(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::ssym''" ===============
+// cppName: "CasADi::ssym''"
+// cWrapperName: "CasADi__ssym_TIC_TIC"
+// protoArgs: "(std::string* x0)"
+// params: [ConstRef StdString]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC(std::string* x0)"
+// call: "CasADi::ssym(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC(std::string* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC(std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::ssym(x0_) );
+}
+
+
+// ================== function "CasADi::ssym'''" ===============
+// cppName: "CasADi::ssym'''"
+// cWrapperName: "CasADi__ssym_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1, int x2)"
+// params: [ConstRef StdString,ConstRef (CasadiClass CRSSparsity),CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< CasADi::SX >* >*"
+// proto: "std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__ssym_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2)"
+// call: "CasADi::ssym(x0_, x1_, x2_)"
+extern "C"
+    std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__ssym_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2);
+std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__ssym_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< std::vector< CasADi::Matrix< CasADi::SX >* >*, std::vector< CasADi::Matrix< CasADi::SX > > >::wrapReturn( CasADi::ssym(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::ssym''''" ===============
+// cppName: "CasADi::ssym''''"
+// cWrapperName: "CasADi__ssym_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0, int x1, int x2, int x3)"
+// params: [ConstRef StdString,CInt,CInt,CInt]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< CasADi::SX >* >*"
+// proto: "std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__ssym_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3)"
+// call: "CasADi::ssym(x0_, x1_, x2_, x3_)"
+extern "C"
+    std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__ssym_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3);
+std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__ssym_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+
+    return WrapReturn< std::vector< CasADi::Matrix< CasADi::SX >* >*, std::vector< CasADi::Matrix< CasADi::SX > > >::wrapReturn( CasADi::ssym(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::ssym'''''" ===============
+// cppName: "CasADi::ssym'''''"
+// cWrapperName: "CasADi__ssym_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3)"
+// params: [ConstRef StdString,ConstRef (CasadiClass CRSSparsity),CInt,CInt]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*"
+// proto: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3)"
+// call: "CasADi::ssym(x0_, x1_, x2_, x3_)"
+extern "C"
+    std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3);
+std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+
+    return WrapReturn< std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*, std::vector< std::vector< CasADi::Matrix< CasADi::SX > > > >::wrapReturn( CasADi::ssym(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::ssym''''''" ===============
+// cppName: "CasADi::ssym''''''"
+// cWrapperName: "CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0, int x1, int x2, int x3, int x4)"
+// params: [ConstRef StdString,CInt,CInt,CInt,CInt]
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*"
+// proto: "std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4)"
+// call: "CasADi::ssym(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+    std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4);
+std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+    int x4_ = Marshaling<int,int>::marshal(x4);
+
+    return WrapReturn< std::vector< std::vector< CasADi::Matrix< CasADi::SX >* >* >*, std::vector< std::vector< CasADi::Matrix< CasADi::SX > > > >::wrapReturn( CasADi::ssym(x0_, x1_, x2_, x3_, x4_) );
+}
+
+
+// ================== function "CasADi::ssym'''''''" ===============
+// cppName: "CasADi::ssym'''''''"
+// cWrapperName: "CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1)"
+// params: [ConstRef StdString,ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1)"
+// call: "CasADi::ssym(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::ssym(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::ssym''''''''" ===============
+// cppName: "CasADi::ssym''''''''"
+// cWrapperName: "CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::ssym(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__ssym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::ssym(x0_) );
+}
+
+
+// ================== function "CasADi::expand" ===============
+// cppName: "CasADi::expand"
+// cWrapperName: "CasADi__expand"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),Ref (CasadiClass SXMatrix),Ref (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__expand(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::expand(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__expand(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+void CasADi__expand(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX >& x1_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX >& x2_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    CasADi::expand(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::simplify" ===============
+// cppName: "CasADi::simplify"
+// cWrapperName: "CasADi__simplify"
+// protoArgs: "(CasADi::SX* x0)"
+// params: [Ref (CasadiClass SX)]
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__simplify(CasADi::SX* x0)"
+// call: "CasADi::simplify(x0_)"
+extern "C"
+    void CasADi__simplify(CasADi::SX* x0);
+void CasADi__simplify(CasADi::SX* x0){
+    CasADi::SX& x0_ = Marshaling<CasADi::SX&,CasADi::SX*>::marshal(x0);
+
+    CasADi::simplify(x0_);
+}
+
+
+// ================== function "CasADi::pw_const" ===============
+// cppName: "CasADi::pw_const"
+// cWrapperName: "CasADi__pw_const"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__pw_const(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::pw_const(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__pw_const(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__pw_const(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::pw_const(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::pw_lin" ===============
+// cppName: "CasADi::pw_lin"
+// cWrapperName: "CasADi__pw_lin"
+// protoArgs: "(CasADi::SX* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// params: [ConstRef (CasadiClass SX),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__pw_lin(CasADi::SX* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::pw_lin(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__pw_lin(CasADi::SX* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__pw_lin(CasADi::SX* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::pw_lin(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::if_else" ===============
+// cppName: "CasADi::if_else"
+// cWrapperName: "CasADi__if_else"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__if_else(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::if_else(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__if_else(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__if_else(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::if_else(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::heaviside" ===============
+// cppName: "CasADi::heaviside"
+// cWrapperName: "CasADi__heaviside"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__heaviside(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::heaviside(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__heaviside(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__heaviside(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::heaviside(x0_) );
+}
+
+
+// ================== function "CasADi::rectangle" ===============
+// cppName: "CasADi::rectangle"
+// cWrapperName: "CasADi__rectangle"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__rectangle(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::rectangle(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__rectangle(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__rectangle(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::rectangle(x0_) );
+}
+
+
+// ================== function "CasADi::triangle" ===============
+// cppName: "CasADi::triangle"
+// cWrapperName: "CasADi__triangle"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__triangle(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::triangle(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__triangle(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__triangle(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::triangle(x0_) );
+}
+
+
+// ================== function "CasADi::ramp" ===============
+// cppName: "CasADi::ramp"
+// cWrapperName: "CasADi__ramp"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__ramp(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::ramp(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__ramp(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__ramp(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::ramp(x0_) );
+}
+
+
+// ================== function "CasADi::gauss_quadrature" ===============
+// cppName: "CasADi::gauss_quadrature"
+// cWrapperName: "CasADi__gauss_quadrature"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4, CasADi::Matrix< CasADi::SX >* x5)"
+// params: [CasadiClass SXMatrix,ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),CInt,ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4, CasADi::Matrix< CasADi::SX >* x5)"
+// call: "CasADi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4, CasADi::Matrix< CasADi::SX >* x5);
+CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4, CasADi::Matrix< CasADi::SX >* x5){
+    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+    CasADi::Matrix< CasADi::SX > const & x3_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x3);
+    int x4_ = Marshaling<int,int>::marshal(x4);
+    CasADi::Matrix< CasADi::SX > const & x5_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x5);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_) );
+}
+
+
+// ================== function "CasADi::gauss_quadrature'" ===============
+// cppName: "CasADi::gauss_quadrature'"
+// cWrapperName: "CasADi__gauss_quadrature_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4)"
+// params: [CasadiClass SXMatrix,ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),CInt]
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4)"
+// call: "CasADi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4);
+CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3, int x4){
+    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+    CasADi::Matrix< CasADi::SX > const & x3_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x3);
+    int x4_ = Marshaling<int,int>::marshal(x4);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::gauss_quadrature(x0_, x1_, x2_, x3_, x4_) );
+}
+
+
+// ================== function "CasADi::gauss_quadrature''" ===============
+// cppName: "CasADi::gauss_quadrature''"
+// cWrapperName: "CasADi__gauss_quadrature_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3)"
+// params: [CasadiClass SXMatrix,ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3)"
+// call: "CasADi::gauss_quadrature(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3);
+CasADi::Matrix< CasADi::SX >* CasADi__gauss_quadrature_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3){
+    CasADi::Matrix< CasADi::SX > x0_ = Marshaling<CasADi::Matrix< CasADi::SX >,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+    CasADi::Matrix< CasADi::SX > const & x3_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x3);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::gauss_quadrature(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::simplify'" ===============
+// cppName: "CasADi::simplify'"
+// cWrapperName: "CasADi__simplify_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [Ref (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__simplify_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::simplify(x0_)"
+extern "C"
+    void CasADi__simplify_TIC(CasADi::Matrix< CasADi::SX >* x0);
+void CasADi__simplify_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX >& x0_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    CasADi::simplify(x0_);
+}
+
+
+// ================== function "CasADi::compress" ===============
+// cppName: "CasADi::compress"
+// cWrapperName: "CasADi__compress"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// params: [Ref (CasadiClass SXMatrix),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__compress(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// call: "CasADi::compress(x0_, x1_)"
+extern "C"
+    void CasADi__compress(CasADi::Matrix< CasADi::SX >* x0, int x1);
+void CasADi__compress(CasADi::Matrix< CasADi::SX >* x0, int x1){
+    CasADi::Matrix< CasADi::SX >& x0_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    CasADi::compress(x0_, x1_);
+}
+
+
+// ================== function "CasADi::compress'" ===============
+// cppName: "CasADi::compress'"
+// cWrapperName: "CasADi__compress_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [Ref (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__compress_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::compress(x0_)"
+extern "C"
+    void CasADi__compress_TIC(CasADi::Matrix< CasADi::SX >* x0);
+void CasADi__compress_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX >& x0_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    CasADi::compress(x0_);
+}
+
+
+// ================== function "CasADi::substitute" ===============
+// cppName: "CasADi::substitute"
+// cWrapperName: "CasADi__substitute"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__substitute(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::substitute(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__substitute(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__substitute(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::substitute(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::substitute'" ===============
+// cppName: "CasADi::substitute'"
+// cWrapperName: "CasADi__substitute_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2)"
+// params: [ConstRef (StdVec (CasadiClass SXMatrix)),ConstRef (StdVec (CasadiClass SXMatrix)),ConstRef (StdVec (CasadiClass SXMatrix))]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< CasADi::Matrix< CasADi::SX >* >*"
+// proto: "std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__substitute_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2)"
+// call: "CasADi::substitute(x0_, x1_, x2_)"
+extern "C"
+    std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__substitute_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2);
+std::vector< CasADi::Matrix< CasADi::SX >* >* CasADi__substitute_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+    std::vector< CasADi::Matrix< CasADi::SX > > x1_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x1);
+    std::vector< CasADi::Matrix< CasADi::SX > > x2_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x2);
+
+    return WrapReturn< std::vector< CasADi::Matrix< CasADi::SX >* >*, std::vector< CasADi::Matrix< CasADi::SX > > >::wrapReturn( CasADi::substitute(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::substituteInPlace" ===============
+// cppName: "CasADi::substituteInPlace"
+// cWrapperName: "CasADi__substituteInPlace"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, int x2)"
+// params: [ConstRef (CasadiClass SXMatrix),Ref (CasadiClass SXMatrix),CBool]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__substituteInPlace(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, int x2)"
+// call: "CasADi::substituteInPlace(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__substituteInPlace(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, int x2);
+void CasADi__substituteInPlace(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, int x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX >& x1_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+    CasADi::substituteInPlace(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::substituteInPlace'" ===============
+// cppName: "CasADi::substituteInPlace'"
+// cWrapperName: "CasADi__substituteInPlace_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),Ref (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__substituteInPlace_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::substituteInPlace(x0_, x1_)"
+extern "C"
+    void CasADi__substituteInPlace_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+void CasADi__substituteInPlace_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX >& x1_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    CasADi::substituteInPlace(x0_, x1_);
+}
+
+
+// ================== function "CasADi::substituteInPlace''" ===============
+// cppName: "CasADi::substituteInPlace''"
+// cWrapperName: "CasADi__substituteInPlace_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2, int x3)"
+// params: [ConstRef (CasadiClass SXMatrix),Ref (CasadiClass SXMatrix),Ref (StdVec (CasadiClass SXMatrix)),CBool]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__substituteInPlace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2, int x3)"
+// call: "CasADi::substituteInPlace(x0_, x1_, x2_, x3_)"
+extern "C"
+    void CasADi__substituteInPlace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2, int x3);
+void CasADi__substituteInPlace_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2, int x3){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX >& x1_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    std::vector< CasADi::Matrix< CasADi::SX > > x2_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x2);
+    bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+    CasADi::substituteInPlace(x0_, x1_, x2_, x3_);
+}
+
+
+// ================== function "CasADi::substituteInPlace'''" ===============
+// cppName: "CasADi::substituteInPlace'''"
+// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),Ref (CasadiClass SXMatrix),Ref (StdVec (CasadiClass SXMatrix))]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2)"
+// call: "CasADi::substituteInPlace(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__substituteInPlace_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2);
+void CasADi__substituteInPlace_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX >& x1_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    std::vector< CasADi::Matrix< CasADi::SX > > x2_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x2);
+
+    CasADi::substituteInPlace(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::substituteInPlace''''" ===============
+// cppName: "CasADi::substituteInPlace''''"
+// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2, int x3)"
+// params: [ConstRef (StdVec (CasadiClass SXMatrix)),Ref (StdVec (CasadiClass SXMatrix)),Ref (StdVec (CasadiClass SXMatrix)),CBool]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2, int x3)"
+// call: "CasADi::substituteInPlace(x0_, x1_, x2_, x3_)"
+extern "C"
+    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2, int x3);
+void CasADi__substituteInPlace_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2, int x3){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+    std::vector< CasADi::Matrix< CasADi::SX > > x1_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x1);
+    std::vector< CasADi::Matrix< CasADi::SX > > x2_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x2);
+    bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+    CasADi::substituteInPlace(x0_, x1_, x2_, x3_);
+}
+
+
+// ================== function "CasADi::substituteInPlace'''''" ===============
+// cppName: "CasADi::substituteInPlace'''''"
+// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2)"
+// params: [ConstRef (StdVec (CasadiClass SXMatrix)),Ref (StdVec (CasadiClass SXMatrix)),Ref (StdVec (CasadiClass SXMatrix))]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2)"
+// call: "CasADi::substituteInPlace(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2);
+void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::Matrix< CasADi::SX >* >* x0, std::vector< CasADi::Matrix< CasADi::SX >* >* x1, std::vector< CasADi::Matrix< CasADi::SX >* >* x2){
+    std::vector< CasADi::Matrix< CasADi::SX > > x0_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x0);
+    std::vector< CasADi::Matrix< CasADi::SX > > x1_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x1);
+    std::vector< CasADi::Matrix< CasADi::SX > > x2_ = Marshaling<std::vector< CasADi::Matrix< CasADi::SX > >,std::vector< CasADi::Matrix< CasADi::SX >* >*>::marshal(x2);
+
+    CasADi::substituteInPlace(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::evalf" ===============
+// cppName: "CasADi::evalf"
+// cWrapperName: "CasADi__evalf"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__evalf(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::evalf(x0_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__evalf(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< double >* CasADi__evalf(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::evalf(x0_) );
+}
+
+
+// ================== function "CasADi::evalf'" ===============
+// cppName: "CasADi::evalf'"
+// cWrapperName: "CasADi__evalf_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< double >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__evalf_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< double >* x2)"
+// call: "CasADi::evalf(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__evalf_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< double >* x2);
+CasADi::Matrix< double >* CasADi__evalf_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< double >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< double > const & x2_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::evalf(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::isRegular''''" ===============
+// cppName: "CasADi::isRegular''''"
+// cWrapperName: "CasADi__isRegular_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::SX* x0)"
+// params: [ConstRef (CasadiClass SX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isRegular_TIC_TIC_TIC_TIC(CasADi::SX* x0)"
+// call: "CasADi::isRegular(x0_)"
+extern "C"
+    int CasADi__isRegular_TIC_TIC_TIC_TIC(CasADi::SX* x0);
+int CasADi__isRegular_TIC_TIC_TIC_TIC(CasADi::SX* x0){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isRegular(x0_) );
+}
+
+
+// ================== function "CasADi::isRegular'''''" ===============
+// cppName: "CasADi::isRegular'''''"
+// cWrapperName: "CasADi__isRegular_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isRegular_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isRegular(x0_)"
+extern "C"
+    int CasADi__isRegular_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isRegular_TIC_TIC_TIC_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isRegular(x0_) );
+}
+
+
+// ================== function "CasADi::spy" ===============
+// cppName: "CasADi::spy"
+// cWrapperName: "CasADi__spy"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__spy(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::spy(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__spy(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__spy(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::spy(x0_) );
+}
+
+
+// ================== function "CasADi::dependsOn" ===============
+// cppName: "CasADi::dependsOn"
+// cWrapperName: "CasADi__dependsOn"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__dependsOn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::dependsOn(x0_, x1_)"
+extern "C"
+    int CasADi__dependsOn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+int CasADi__dependsOn(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::dependsOn(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::getSymbols" ===============
+// cppName: "CasADi::getSymbols"
+// cWrapperName: "CasADi__getSymbols"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< CasADi::SX* >*"
+// proto: "std::vector< CasADi::SX* >* CasADi__getSymbols(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::getSymbols(x0_)"
+extern "C"
+    std::vector< CasADi::SX* >* CasADi__getSymbols(CasADi::Matrix< CasADi::SX >* x0);
+std::vector< CasADi::SX* >* CasADi__getSymbols(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::SX* >*, std::vector< CasADi::SX > >::wrapReturn( CasADi::getSymbols(x0_) );
+}
+
+
+// ================== function "CasADi::isSmooth" ===============
+// cppName: "CasADi::isSmooth"
+// cWrapperName: "CasADi__isSmooth"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isSmooth(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isSmooth(x0_)"
+extern "C"
+    int CasADi__isSmooth(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isSmooth(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isSmooth(x0_) );
+}
+
+
+// ================== function "CasADi::isSymbolic" ===============
+// cppName: "CasADi::isSymbolic"
+// cWrapperName: "CasADi__isSymbolic"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isSymbolic(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isSymbolic(x0_)"
+extern "C"
+    int CasADi__isSymbolic(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isSymbolic(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isSymbolic(x0_) );
+}
+
+
+// ================== function "CasADi::isSymbolicSparse" ===============
+// cppName: "CasADi::isSymbolicSparse"
+// cWrapperName: "CasADi__isSymbolicSparse"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isSymbolicSparse(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::isSymbolicSparse(x0_)"
+extern "C"
+    int CasADi__isSymbolicSparse(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__isSymbolicSparse(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isSymbolicSparse(x0_) );
+}
+
+
+// ================== function "CasADi::jacobian" ===============
+// cppName: "CasADi::jacobian"
+// cWrapperName: "CasADi__jacobian"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__jacobian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::jacobian(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__jacobian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__jacobian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::jacobian(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::gradient" ===============
+// cppName: "CasADi::gradient"
+// cWrapperName: "CasADi__gradient"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__gradient(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::gradient(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__gradient(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__gradient(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::gradient(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::tangent" ===============
+// cppName: "CasADi::tangent"
+// cWrapperName: "CasADi__tangent"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__tangent(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::tangent(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__tangent(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__tangent(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::tangent(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::hessian" ===============
+// cppName: "CasADi::hessian"
+// cWrapperName: "CasADi__hessian"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__hessian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::hessian(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__hessian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__hessian(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::hessian(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::hessian'" ===============
+// cppName: "CasADi::hessian'"
+// cWrapperName: "CasADi__hessian_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),Ref (CasadiClass SXMatrix),Ref (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__hessian_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3)"
+// call: "CasADi::hessian(x0_, x1_, x2_, x3_)"
+extern "C"
+    void CasADi__hessian_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3);
+void CasADi__hessian_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, CasADi::Matrix< CasADi::SX >* x3){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX >& x2_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+    CasADi::Matrix< CasADi::SX >& x3_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x3);
+
+    CasADi::hessian(x0_, x1_, x2_, x3_);
+}
+
+
+// ================== function "CasADi::jacobianTimesVector" ===============
+// cppName: "CasADi::jacobianTimesVector"
+// cWrapperName: "CasADi__jacobianTimesVector"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),CBool]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3)"
+// call: "CasADi::jacobianTimesVector(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3);
+CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+    bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::jacobianTimesVector(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::jacobianTimesVector'" ===============
+// cppName: "CasADi::jacobianTimesVector'"
+// cWrapperName: "CasADi__jacobianTimesVector_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::jacobianTimesVector(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__jacobianTimesVector_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::jacobianTimesVector(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::getValue" ===============
+// cppName: "CasADi::getValue"
+// cWrapperName: "CasADi__getValue"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "double"
+// proto: "double CasADi__getValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// call: "CasADi::getValue(x0_, x1_, x2_)"
+extern "C"
+    double CasADi__getValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
+double CasADi__getValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< double, double >::wrapReturn( CasADi::getValue(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::getValue'" ===============
+// cppName: "CasADi::getValue'"
+// cWrapperName: "CasADi__getValue_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "double"
+// proto: "double CasADi__getValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// call: "CasADi::getValue(x0_, x1_)"
+extern "C"
+    double CasADi__getValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
+double CasADi__getValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< double, double >::wrapReturn( CasADi::getValue(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::getValue''" ===============
+// cppName: "CasADi::getValue''"
+// cWrapperName: "CasADi__getValue_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "double"
+// proto: "double CasADi__getValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::getValue(x0_)"
+extern "C"
+    double CasADi__getValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+double CasADi__getValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< double, double >::wrapReturn( CasADi::getValue(x0_) );
+}
+
+
+// ================== function "CasADi::getIntValue" ===============
+// cppName: "CasADi::getIntValue"
+// cWrapperName: "CasADi__getIntValue"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__getIntValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2)"
+// call: "CasADi::getIntValue(x0_, x1_, x2_)"
+extern "C"
+    int CasADi__getIntValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2);
+int CasADi__getIntValue(CasADi::Matrix< CasADi::SX >* x0, int x1, int x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::getIntValue(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::getIntValue'" ===============
+// cppName: "CasADi::getIntValue'"
+// cWrapperName: "CasADi__getIntValue_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// params: [ConstRef (CasadiClass SXMatrix),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__getIntValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1)"
+// call: "CasADi::getIntValue(x0_, x1_)"
+extern "C"
+    int CasADi__getIntValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1);
+int CasADi__getIntValue_TIC(CasADi::Matrix< CasADi::SX >* x0, int x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::getIntValue(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::getIntValue''" ===============
+// cppName: "CasADi::getIntValue''"
+// cWrapperName: "CasADi__getIntValue_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__getIntValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::getIntValue(x0_)"
+extern "C"
+    int CasADi__getIntValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__getIntValue_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::getIntValue(x0_) );
+}
+
+
+// ================== function "CasADi::fill" ===============
+// cppName: "CasADi::fill"
+// cWrapperName: "CasADi__fill"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::SX* x1)"
+// params: [Ref (CasadiClass SXMatrix),ConstRef (CasadiClass SX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__fill(CasADi::Matrix< CasADi::SX >* x0, CasADi::SX* x1)"
+// call: "CasADi::fill(x0_, x1_)"
+extern "C"
+    void CasADi__fill(CasADi::Matrix< CasADi::SX >* x0, CasADi::SX* x1);
+void CasADi__fill(CasADi::Matrix< CasADi::SX >* x0, CasADi::SX* x1){
+    CasADi::Matrix< CasADi::SX >& x0_ = Marshaling<CasADi::Matrix< CasADi::SX >&,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::SX const & x1_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x1);
+
+    CasADi::fill(x0_, x1_);
+}
+
+
+// ================== function "CasADi::taylor" ===============
+// cppName: "CasADi::taylor"
+// cWrapperName: "CasADi__taylor"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),CInt]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__taylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3)"
+// call: "CasADi::taylor(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__taylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3);
+CasADi::Matrix< CasADi::SX >* CasADi__taylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::taylor(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::taylor'" ===============
+// cppName: "CasADi::taylor'"
+// cWrapperName: "CasADi__taylor_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::taylor(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::taylor(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::taylor''" ===============
+// cppName: "CasADi::taylor''"
+// cWrapperName: "CasADi__taylor_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::taylor(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__taylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::taylor(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::mtaylor" ===============
+// cppName: "CasADi::mtaylor"
+// cWrapperName: "CasADi__mtaylor"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),CInt]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mtaylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3)"
+// call: "CasADi::mtaylor(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__mtaylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3);
+CasADi::Matrix< CasADi::SX >* CasADi__mtaylor(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::mtaylor(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::mtaylor'" ===============
+// cppName: "CasADi::mtaylor'"
+// cWrapperName: "CasADi__mtaylor_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2)"
+// call: "CasADi::mtaylor(x0_, x1_, x2_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2);
+CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::mtaylor(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::mtaylor''" ===============
+// cppName: "CasADi::mtaylor''"
+// cWrapperName: "CasADi__mtaylor_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3, std::vector< int >* x4)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix),CInt,ConstRef (StdVec CInt)]
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3, std::vector< int >* x4)"
+// call: "CasADi::mtaylor(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3, std::vector< int >* x4);
+CasADi::Matrix< CasADi::SX >* CasADi__mtaylor_TIC_TIC(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1, CasADi::Matrix< CasADi::SX >* x2, int x3, std::vector< int >* x4){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+    CasADi::Matrix< CasADi::SX > const & x2_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+    std::vector< int > x4_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::mtaylor(x0_, x1_, x2_, x3_, x4_) );
+}
+
+
+// ================== function "CasADi::countNodes" ===============
+// cppName: "CasADi::countNodes"
+// cWrapperName: "CasADi__countNodes"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__countNodes(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::countNodes(x0_)"
+extern "C"
+    int CasADi__countNodes(CasADi::Matrix< CasADi::SX >* x0);
+int CasADi__countNodes(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::countNodes(x0_) );
+}
+
+
+// ================== function "CasADi::getOperatorRepresentation" ===============
+// cppName: "CasADi::getOperatorRepresentation"
+// cWrapperName: "CasADi__getOperatorRepresentation"
+// protoArgs: "(CasADi::SX* x0, std::vector< std::string* >* x1)"
+// params: [ConstRef (CasadiClass SX),ConstRef (StdVec StdString)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__getOperatorRepresentation(CasADi::SX* x0, std::vector< std::string* >* x1)"
+// call: "CasADi::getOperatorRepresentation(x0_, x1_)"
+extern "C"
+    std::string* CasADi__getOperatorRepresentation(CasADi::SX* x0, std::vector< std::string* >* x1);
+std::string* CasADi__getOperatorRepresentation(CasADi::SX* x0, std::vector< std::string* >* x1){
+    CasADi::SX const & x0_ = Marshaling<CasADi::SX const &,CasADi::SX*>::marshal(x0);
+    std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::getOperatorRepresentation(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::getFree" ===============
+// cppName: "CasADi::getFree"
+// cWrapperName: "CasADi__getFree"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__getFree(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::getFree(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__getFree(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__getFree(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::getFree(x0_) );
+}
+
+
+// ================== function "CasADi::extractShared" ===============
+// cppName: "CasADi::extractShared"
+// cWrapperName: "CasADi__extractShared"
+// protoArgs: "(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, std::string* x3, std::string* x4)"
+// params: [Ref (StdVec (CasadiClass SX)),Ref (StdVec (CasadiClass SX)),Ref (StdVec (CasadiClass SX)),ConstRef StdString,ConstRef StdString]
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__extractShared(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, std::string* x3, std::string* x4)"
+// call: "CasADi::extractShared(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+    void CasADi__extractShared(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, std::string* x3, std::string* x4);
+void CasADi__extractShared(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, std::string* x3, std::string* x4){
+    std::vector< CasADi::SX > x0_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x0);
+    std::vector< CasADi::SX > x1_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x1);
+    std::vector< CasADi::SX > x2_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x2);
+    std::string const & x3_ = Marshaling<std::string const &,std::string*>::marshal(x3);
+    std::string const & x4_ = Marshaling<std::string const &,std::string*>::marshal(x4);
+
+    CasADi::extractShared(x0_, x1_, x2_, x3_, x4_);
+}
+
+
+// ================== function "CasADi::extractShared'" ===============
+// cppName: "CasADi::extractShared'"
+// cWrapperName: "CasADi__extractShared_TIC"
+// protoArgs: "(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, std::string* x3)"
+// params: [Ref (StdVec (CasadiClass SX)),Ref (StdVec (CasadiClass SX)),Ref (StdVec (CasadiClass SX)),ConstRef StdString]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__extractShared_TIC(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, std::string* x3)"
+// call: "CasADi::extractShared(x0_, x1_, x2_, x3_)"
+extern "C"
+    void CasADi__extractShared_TIC(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, std::string* x3);
+void CasADi__extractShared_TIC(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2, std::string* x3){
+    std::vector< CasADi::SX > x0_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x0);
+    std::vector< CasADi::SX > x1_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x1);
+    std::vector< CasADi::SX > x2_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x2);
+    std::string const & x3_ = Marshaling<std::string const &,std::string*>::marshal(x3);
+
+    CasADi::extractShared(x0_, x1_, x2_, x3_);
+}
+
+
+// ================== function "CasADi::extractShared''" ===============
+// cppName: "CasADi::extractShared''"
+// cWrapperName: "CasADi__extractShared_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2)"
+// params: [Ref (StdVec (CasadiClass SX)),Ref (StdVec (CasadiClass SX)),Ref (StdVec (CasadiClass SX))]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__extractShared_TIC_TIC(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2)"
+// call: "CasADi::extractShared(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__extractShared_TIC_TIC(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2);
+void CasADi__extractShared_TIC_TIC(std::vector< CasADi::SX* >* x0, std::vector< CasADi::SX* >* x1, std::vector< CasADi::SX* >* x2){
+    std::vector< CasADi::SX > x0_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x0);
+    std::vector< CasADi::SX > x1_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x1);
+    std::vector< CasADi::SX > x2_ = Marshaling<std::vector< CasADi::SX >,std::vector< CasADi::SX* >*>::marshal(x2);
+
+    CasADi::extractShared(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::printCompact'" ===============
+// cppName: "CasADi::printCompact'"
+// cWrapperName: "CasADi__printCompact_TIC"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__printCompact_TIC(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::printCompact(x0_)"
+extern "C"
+    void CasADi__printCompact_TIC(CasADi::Matrix< CasADi::SX >* x0);
+void CasADi__printCompact_TIC(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    CasADi::printCompact(x0_);
+}
+
+
+// ================== function "CasADi::poly_coeff" ===============
+// cppName: "CasADi::poly_coeff"
+// cWrapperName: "CasADi__poly_coeff"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// params: [ConstRef (CasadiClass SXMatrix),ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__poly_coeff(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1)"
+// call: "CasADi::poly_coeff(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__poly_coeff(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1);
+CasADi::Matrix< CasADi::SX >* CasADi__poly_coeff(CasADi::Matrix< CasADi::SX >* x0, CasADi::Matrix< CasADi::SX >* x1){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+    CasADi::Matrix< CasADi::SX > const & x1_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::poly_coeff(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::poly_roots" ===============
+// cppName: "CasADi::poly_roots"
+// cWrapperName: "CasADi__poly_roots"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__poly_roots(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::poly_roots(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__poly_roots(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__poly_roots(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::poly_roots(x0_) );
+}
+
+
+// ================== function "CasADi::eig_symbolic" ===============
+// cppName: "CasADi::eig_symbolic"
+// cWrapperName: "CasADi__eig_symbolic"
+// protoArgs: "(CasADi::Matrix< CasADi::SX >* x0)"
+// params: [ConstRef (CasadiClass SXMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::Matrix< CasADi::SX >*"
+// proto: "CasADi::Matrix< CasADi::SX >* CasADi__eig_symbolic(CasADi::Matrix< CasADi::SX >* x0)"
+// call: "CasADi::eig_symbolic(x0_)"
+extern "C"
+    CasADi::Matrix< CasADi::SX >* CasADi__eig_symbolic(CasADi::Matrix< CasADi::SX >* x0);
+CasADi::Matrix< CasADi::SX >* CasADi__eig_symbolic(CasADi::Matrix< CasADi::SX >* x0){
+    CasADi::Matrix< CasADi::SX > const & x0_ = Marshaling<CasADi::Matrix< CasADi::SX > const &,CasADi::Matrix< CasADi::SX >*>::marshal(x0);
+
+    return WrapReturn< CasADi::Matrix< CasADi::SX >*, CasADi::Matrix< CasADi::SX > >::wrapReturn( CasADi::eig_symbolic(x0_) );
+}
+
+
+// ================== function "CasADi::vertcat''''" ===============
+// cppName: "CasADi::vertcat''''"
+// cWrapperName: "CasADi__vertcat_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__vertcat_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0)"
+// call: "CasADi::vertcat(x0_)"
+extern "C"
+    CasADi::MX* CasADi__vertcat_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0);
+CasADi::MX* CasADi__vertcat_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::vertcat(x0_) );
+}
+
+
+// ================== function "CasADi::vertsplit'''''''''" ===============
+// cppName: "CasADi::vertsplit'''''''''"
+// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, std::vector< int >* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (StdVec CInt)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector< int >* x1)"
+// call: "CasADi::vertsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector< int >* x1);
+std::vector< CasADi::MX* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector< int >* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::vertsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::vertsplit''''''''''" ===============
+// cppName: "CasADi::vertsplit''''''''''"
+// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, int x1)"
+// params: [ConstRef (CasadiClass MX),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1)"
+// call: "CasADi::vertsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1);
+std::vector< CasADi::MX* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::vertsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::vertsplit'''''''''''" ===============
+// cppName: "CasADi::vertsplit'''''''''''"
+// cWrapperName: "CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::vertsplit(x0_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
+std::vector< CasADi::MX* >* CasADi__vertsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::vertsplit(x0_) );
+}
+
+
+// ================== function "CasADi::horzcat''''" ===============
+// cppName: "CasADi::horzcat''''"
+// cWrapperName: "CasADi__horzcat_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__horzcat_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0)"
+// call: "CasADi::horzcat(x0_)"
+extern "C"
+    CasADi::MX* CasADi__horzcat_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0);
+CasADi::MX* CasADi__horzcat_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::horzcat(x0_) );
+}
+
+
+// ================== function "CasADi::horzsplit'''''''''" ===============
+// cppName: "CasADi::horzsplit'''''''''"
+// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, std::vector< int >* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (StdVec CInt)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector< int >* x1)"
+// call: "CasADi::horzsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector< int >* x1);
+std::vector< CasADi::MX* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector< int >* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::horzsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::horzsplit''''''''''" ===============
+// cppName: "CasADi::horzsplit''''''''''"
+// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, int x1)"
+// params: [ConstRef (CasadiClass MX),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1)"
+// call: "CasADi::horzsplit(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1);
+std::vector< CasADi::MX* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::horzsplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::horzsplit'''''''''''" ===============
+// cppName: "CasADi::horzsplit'''''''''''"
+// cWrapperName: "CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::horzsplit(x0_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
+std::vector< CasADi::MX* >* CasADi__horzsplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::horzsplit(x0_) );
+}
+
+
+// ================== function "CasADi::blockcat'''" ===============
+// cppName: "CasADi::blockcat'''"
+// cWrapperName: "CasADi__blockcat_TIC_TIC_TIC"
+// protoArgs: "(std::vector< std::vector< CasADi::MX* >* >* x0)"
+// params: [ConstRef (StdVec (StdVec (CasadiClass MX)))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__blockcat_TIC_TIC_TIC(std::vector< std::vector< CasADi::MX* >* >* x0)"
+// call: "CasADi::blockcat(x0_)"
+extern "C"
+    CasADi::MX* CasADi__blockcat_TIC_TIC_TIC(std::vector< std::vector< CasADi::MX* >* >* x0);
+CasADi::MX* CasADi__blockcat_TIC_TIC_TIC(std::vector< std::vector< CasADi::MX* >* >* x0){
+    std::vector< std::vector< CasADi::MX > > x0_ = Marshaling<std::vector< std::vector< CasADi::MX > >,std::vector< std::vector< CasADi::MX* >* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::blockcat(x0_) );
+}
+
+
+// ================== function "CasADi::blocksplit''''''''''''" ===============
+// cppName: "CasADi::blocksplit''''''''''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, std::vector< int >* x1, std::vector< int >* x2)"
+// params: [ConstRef (CasadiClass MX),ConstRef (StdVec CInt),ConstRef (StdVec CInt)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::MX* >* >*"
+// proto: "std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector< int >* x1, std::vector< int >* x2)"
+// call: "CasADi::blocksplit(x0_, x1_, x2_)"
+extern "C"
+    std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector< int >* x1, std::vector< int >* x2);
+std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, std::vector< int >* x1, std::vector< int >* x2){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    std::vector< int > x1_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x1);
+    std::vector< int > x2_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x2);
+
+    return WrapReturn< std::vector< std::vector< CasADi::MX* >* >*, std::vector< std::vector< CasADi::MX > > >::wrapReturn( CasADi::blocksplit(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::blocksplit'''''''''''''" ===============
+// cppName: "CasADi::blocksplit'''''''''''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass MX),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::MX* >* >*"
+// proto: "std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2)"
+// call: "CasADi::blocksplit(x0_, x1_, x2_)"
+extern "C"
+    std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2);
+std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< std::vector< std::vector< CasADi::MX* >* >*, std::vector< std::vector< CasADi::MX > > >::wrapReturn( CasADi::blocksplit(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::blocksplit''''''''''''''" ===============
+// cppName: "CasADi::blocksplit''''''''''''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, int x1)"
+// params: [ConstRef (CasadiClass MX),CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::MX* >* >*"
+// proto: "std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1)"
+// call: "CasADi::blocksplit(x0_, x1_)"
+extern "C"
+    std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1);
+std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, int x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< std::vector< std::vector< CasADi::MX* >* >*, std::vector< std::vector< CasADi::MX > > >::wrapReturn( CasADi::blocksplit(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::blocksplit'''''''''''''''" ===============
+// cppName: "CasADi::blocksplit'''''''''''''''"
+// cWrapperName: "CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::MX* >* >*"
+// proto: "std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::blocksplit(x0_)"
+extern "C"
+    std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
+std::vector< std::vector< CasADi::MX* >* >* CasADi__blocksplit_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< std::vector< std::vector< CasADi::MX* >* >*, std::vector< std::vector< CasADi::MX > > >::wrapReturn( CasADi::blocksplit(x0_) );
+}
+
+
+// ================== function "CasADi::veccat'''" ===============
+// cppName: "CasADi::veccat'''"
+// cWrapperName: "CasADi__veccat_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__veccat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0)"
+// call: "CasADi::veccat(x0_)"
+extern "C"
+    CasADi::MX* CasADi__veccat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0);
+CasADi::MX* CasADi__veccat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::veccat(x0_) );
+}
+
+
+// ================== function "CasADi::flattencat'''" ===============
+// cppName: "CasADi::flattencat'''"
+// cWrapperName: "CasADi__flattencat_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__flattencat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0)"
+// call: "CasADi::flattencat(x0_)"
+extern "C"
+    CasADi::MX* CasADi__flattencat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0);
+CasADi::MX* CasADi__flattencat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::flattencat(x0_) );
+}
+
+
+// ================== function "CasADi::vecNZcat'''" ===============
+// cppName: "CasADi::vecNZcat'''"
+// cWrapperName: "CasADi__vecNZcat_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__vecNZcat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0)"
+// call: "CasADi::vecNZcat(x0_)"
+extern "C"
+    CasADi::MX* CasADi__vecNZcat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0);
+CasADi::MX* CasADi__vecNZcat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::vecNZcat(x0_) );
+}
+
+
+// ================== function "CasADi::flattenNZcat'''" ===============
+// cppName: "CasADi::flattenNZcat'''"
+// cWrapperName: "CasADi__flattenNZcat_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__flattenNZcat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0)"
+// call: "CasADi::flattenNZcat(x0_)"
+extern "C"
+    CasADi::MX* CasADi__flattenNZcat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0);
+CasADi::MX* CasADi__flattenNZcat_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::flattenNZcat(x0_) );
+}
+
+
+// ================== function "CasADi::norm_F'''" ===============
+// cppName: "CasADi::norm_F'''"
+// cWrapperName: "CasADi__norm_F_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__norm_F_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::norm_F(x0_)"
+extern "C"
+    CasADi::MX* CasADi__norm_F_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__norm_F_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::norm_F(x0_) );
+}
+
+
+// ================== function "CasADi::norm_2'''" ===============
+// cppName: "CasADi::norm_2'''"
+// cWrapperName: "CasADi__norm_2_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__norm_2_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::norm_2(x0_)"
+extern "C"
+    CasADi::MX* CasADi__norm_2_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__norm_2_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::norm_2(x0_) );
+}
+
+
+// ================== function "CasADi::norm_1'''" ===============
+// cppName: "CasADi::norm_1'''"
+// cWrapperName: "CasADi__norm_1_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__norm_1_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::norm_1(x0_)"
+extern "C"
+    CasADi::MX* CasADi__norm_1_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__norm_1_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::norm_1(x0_) );
+}
+
+
+// ================== function "CasADi::norm_inf'''" ===============
+// cppName: "CasADi::norm_inf'''"
+// cWrapperName: "CasADi__norm_inf_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__norm_inf_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::norm_inf(x0_)"
+extern "C"
+    CasADi::MX* CasADi__norm_inf_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__norm_inf_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::norm_inf(x0_) );
+}
+
+
+// ================== function "CasADi::trans''''" ===============
+// cppName: "CasADi::trans''''"
+// cWrapperName: "CasADi__trans_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__trans_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::trans(x0_)"
+extern "C"
+    CasADi::MX* CasADi__trans_TIC_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__trans_TIC_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::trans(x0_) );
+}
+
+
+// ================== function "CasADi::mul''''''''''" ===============
+// cppName: "CasADi::mul''''''''''"
+// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1, CasADi::CRSSparsity* x2)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX),ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::CRSSparsity* x2)"
+// call: "CasADi::mul(x0_, x1_, x2_)"
+extern "C"
+    CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::CRSSparsity* x2);
+CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::CRSSparsity* x2){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+    CasADi::CRSSparsity const & x2_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x2);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::mul(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::mul'''''''''''" ===============
+// cppName: "CasADi::mul'''''''''''"
+// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::mul(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::mul(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::mul''''''''''''" ===============
+// cppName: "CasADi::mul''''''''''''"
+// cWrapperName: "CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0)"
+// call: "CasADi::mul(x0_)"
+extern "C"
+    CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0);
+CasADi::MX* CasADi__mul_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::mul(x0_) );
+}
+
+
+// ================== function "CasADi::inner_prod'''" ===============
+// cppName: "CasADi::inner_prod'''"
+// cWrapperName: "CasADi__inner_prod_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__inner_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::inner_prod(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__inner_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__inner_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::inner_prod(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::outer_prod'''" ===============
+// cppName: "CasADi::outer_prod'''"
+// cWrapperName: "CasADi__outer_prod_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__outer_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::outer_prod(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__outer_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__outer_prod_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::outer_prod(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::if_else'" ===============
+// cppName: "CasADi::if_else'"
+// cWrapperName: "CasADi__if_else_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__if_else_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2)"
+// call: "CasADi::if_else(x0_, x1_, x2_)"
+extern "C"
+    CasADi::MX* CasADi__if_else_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2);
+CasADi::MX* CasADi__if_else_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+    CasADi::MX const & x2_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x2);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::if_else(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::reshape'''''''" ===============
+// cppName: "CasADi::reshape'''''''"
+// cWrapperName: "CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::CRSSparsity* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::CRSSparsity* x1)"
+// call: "CasADi::reshape(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::CRSSparsity* x1);
+CasADi::MX* CasADi__reshape_TIC_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0, CasADi::CRSSparsity* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::reshape(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::vec''''" ===============
+// cppName: "CasADi::vec''''"
+// cWrapperName: "CasADi__vec_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__vec_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::vec(x0_)"
+extern "C"
+    CasADi::MX* CasADi__vec_TIC_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__vec_TIC_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::vec(x0_) );
+}
+
+
+// ================== function "CasADi::flatten'''" ===============
+// cppName: "CasADi::flatten'''"
+// cWrapperName: "CasADi__flatten_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__flatten_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::flatten(x0_)"
+extern "C"
+    CasADi::MX* CasADi__flatten_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__flatten_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::flatten(x0_) );
+}
+
+
+// ================== function "CasADi::vecNZ'''" ===============
+// cppName: "CasADi::vecNZ'''"
+// cWrapperName: "CasADi__vecNZ_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__vecNZ_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::vecNZ(x0_)"
+extern "C"
+    CasADi::MX* CasADi__vecNZ_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__vecNZ_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::vecNZ(x0_) );
+}
+
+
+// ================== function "CasADi::flattenNZ'''" ===============
+// cppName: "CasADi::flattenNZ'''"
+// cWrapperName: "CasADi__flattenNZ_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__flattenNZ_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::flattenNZ(x0_)"
+extern "C"
+    CasADi::MX* CasADi__flattenNZ_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__flattenNZ_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::flattenNZ(x0_) );
+}
+
+
+// ================== function "CasADi::unite'''" ===============
+// cppName: "CasADi::unite'''"
+// cWrapperName: "CasADi__unite_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__unite_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::unite(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__unite_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__unite_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::unite(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::isSymbolic'" ===============
+// cppName: "CasADi::isSymbolic'"
+// cWrapperName: "CasADi__isSymbolic_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isSymbolic_TIC(CasADi::MX* x0)"
+// call: "CasADi::isSymbolic(x0_)"
+extern "C"
+    int CasADi__isSymbolic_TIC(CasADi::MX* x0);
+int CasADi__isSymbolic_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isSymbolic(x0_) );
+}
+
+
+// ================== function "CasADi::isSymbolicSparse'" ===============
+// cppName: "CasADi::isSymbolicSparse'"
+// cWrapperName: "CasADi__isSymbolicSparse_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isSymbolicSparse_TIC(CasADi::MX* x0)"
+// call: "CasADi::isSymbolicSparse(x0_)"
+extern "C"
+    int CasADi__isSymbolicSparse_TIC(CasADi::MX* x0);
+int CasADi__isSymbolicSparse_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isSymbolicSparse(x0_) );
+}
+
+
+// ================== function "CasADi::isIdentity'''" ===============
+// cppName: "CasADi::isIdentity'''"
+// cWrapperName: "CasADi__isIdentity_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isIdentity_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::isIdentity(x0_)"
+extern "C"
+    int CasADi__isIdentity_TIC_TIC_TIC(CasADi::MX* x0);
+int CasADi__isIdentity_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isIdentity(x0_) );
+}
+
+
+// ================== function "CasADi::isZero'''" ===============
+// cppName: "CasADi::isZero'''"
+// cWrapperName: "CasADi__isZero_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isZero_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::isZero(x0_)"
+extern "C"
+    int CasADi__isZero_TIC_TIC_TIC(CasADi::MX* x0);
+int CasADi__isZero_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isZero(x0_) );
+}
+
+
+// ================== function "CasADi::isOne'''" ===============
+// cppName: "CasADi::isOne'''"
+// cWrapperName: "CasADi__isOne_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isOne_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::isOne(x0_)"
+extern "C"
+    int CasADi__isOne_TIC_TIC_TIC(CasADi::MX* x0);
+int CasADi__isOne_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isOne(x0_) );
+}
+
+
+// ================== function "CasADi::simplify''" ===============
+// cppName: "CasADi::simplify''"
+// cWrapperName: "CasADi__simplify_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [Ref (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__simplify_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::simplify(x0_)"
+extern "C"
+    void CasADi__simplify_TIC_TIC(CasADi::MX* x0);
+void CasADi__simplify_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX& x0_ = Marshaling<CasADi::MX&,CasADi::MX*>::marshal(x0);
+
+    CasADi::simplify(x0_);
+}
+
+
+// ================== function "CasADi::isTranspose" ===============
+// cppName: "CasADi::isTranspose"
+// cWrapperName: "CasADi__isTranspose"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isTranspose(CasADi::MX* x0)"
+// call: "CasADi::isTranspose(x0_)"
+extern "C"
+    int CasADi__isTranspose(CasADi::MX* x0);
+int CasADi__isTranspose(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isTranspose(x0_) );
+}
+
+
+// ================== function "CasADi::isMinusOne'''" ===============
+// cppName: "CasADi::isMinusOne'''"
+// cWrapperName: "CasADi__isMinusOne_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isMinusOne_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::isMinusOne(x0_)"
+extern "C"
+    int CasADi__isMinusOne_TIC_TIC_TIC(CasADi::MX* x0);
+int CasADi__isMinusOne_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isMinusOne(x0_) );
+}
+
+
+// ================== function "CasADi::isVector'''" ===============
+// cppName: "CasADi::isVector'''"
+// cWrapperName: "CasADi__isVector_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isVector_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::isVector(x0_)"
+extern "C"
+    int CasADi__isVector_TIC_TIC_TIC(CasADi::MX* x0);
+int CasADi__isVector_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isVector(x0_) );
+}
+
+
+// ================== function "CasADi::isDense'''" ===============
+// cppName: "CasADi::isDense'''"
+// cWrapperName: "CasADi__isDense_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isDense_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::isDense(x0_)"
+extern "C"
+    int CasADi__isDense_TIC_TIC_TIC(CasADi::MX* x0);
+int CasADi__isDense_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isDense(x0_) );
+}
+
+
+// ================== function "CasADi::isRegular''''''" ===============
+// cppName: "CasADi::isRegular''''''"
+// cWrapperName: "CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::isRegular(x0_)"
+extern "C"
+    int CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0);
+int CasADi__isRegular_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isRegular(x0_) );
+}
+
+
+// ================== function "CasADi::trace'''" ===============
+// cppName: "CasADi::trace'''"
+// cWrapperName: "CasADi__trace_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__trace_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::trace(x0_)"
+extern "C"
+    CasADi::MX* CasADi__trace_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__trace_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::trace(x0_) );
+}
+
+
+// ================== function "CasADi::repmat'''" ===============
+// cppName: "CasADi::repmat'''"
+// cWrapperName: "CasADi__repmat_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, int x1, int x2)"
+// params: [ConstRef (CasadiClass MX),CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__repmat_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2)"
+// call: "CasADi::repmat(x0_, x1_, x2_)"
+extern "C"
+    CasADi::MX* CasADi__repmat_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2);
+CasADi::MX* CasADi__repmat_TIC_TIC_TIC(CasADi::MX* x0, int x1, int x2){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::repmat(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::makeDense'''" ===============
+// cppName: "CasADi::makeDense'''"
+// cWrapperName: "CasADi__makeDense_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [Ref (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__makeDense_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::makeDense(x0_)"
+extern "C"
+    void CasADi__makeDense_TIC_TIC_TIC(CasADi::MX* x0);
+void CasADi__makeDense_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX& x0_ = Marshaling<CasADi::MX&,CasADi::MX*>::marshal(x0);
+
+    CasADi::makeDense(x0_);
+}
+
+
+// ================== function "CasADi::densify'''" ===============
+// cppName: "CasADi::densify'''"
+// cWrapperName: "CasADi__densify_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__densify_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::densify(x0_)"
+extern "C"
+    CasADi::MX* CasADi__densify_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__densify_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::densify(x0_) );
+}
+
+
+// ================== function "CasADi::full'''" ===============
+// cppName: "CasADi::full'''"
+// cWrapperName: "CasADi__full_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__full_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::full(x0_)"
+extern "C"
+    CasADi::MX* CasADi__full_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__full_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::full(x0_) );
+}
+
+
+// ================== function "CasADi::createParent" ===============
+// cppName: "CasADi::createParent"
+// cWrapperName: "CasADi__createParent"
+// protoArgs: "(std::vector< CasADi::MX* >* x0)"
+// params: [Ref (StdVec (CasadiClass MX))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__createParent(std::vector< CasADi::MX* >* x0)"
+// call: "CasADi::createParent(x0_)"
+extern "C"
+    CasADi::MX* CasADi__createParent(std::vector< CasADi::MX* >* x0);
+CasADi::MX* CasADi__createParent(std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::createParent(x0_) );
+}
+
+
+// ================== function "CasADi::countNodes'" ===============
+// cppName: "CasADi::countNodes'"
+// cWrapperName: "CasADi__countNodes_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__countNodes_TIC(CasADi::MX* x0)"
+// call: "CasADi::countNodes(x0_)"
+extern "C"
+    int CasADi__countNodes_TIC(CasADi::MX* x0);
+int CasADi__countNodes_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< int, int >::wrapReturn( CasADi::countNodes(x0_) );
+}
+
+
+// ================== function "CasADi::diag'''" ===============
+// cppName: "CasADi::diag'''"
+// cWrapperName: "CasADi__diag_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__diag_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::diag(x0_)"
+extern "C"
+    CasADi::MX* CasADi__diag_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__diag_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::diag(x0_) );
+}
+
+
+// ================== function "CasADi::blkdiag''''" ===============
+// cppName: "CasADi::blkdiag''''"
+// cWrapperName: "CasADi__blkdiag_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__blkdiag_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0)"
+// call: "CasADi::blkdiag(x0_)"
+extern "C"
+    CasADi::MX* CasADi__blkdiag_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0);
+CasADi::MX* CasADi__blkdiag_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::blkdiag(x0_) );
+}
+
+
+// ================== function "CasADi::sumRows'''" ===============
+// cppName: "CasADi::sumRows'''"
+// cWrapperName: "CasADi__sumRows_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__sumRows_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::sumRows(x0_)"
+extern "C"
+    CasADi::MX* CasADi__sumRows_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__sumRows_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::sumRows(x0_) );
+}
+
+
+// ================== function "CasADi::sumCols'''" ===============
+// cppName: "CasADi::sumCols'''"
+// cWrapperName: "CasADi__sumCols_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__sumCols_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::sumCols(x0_)"
+extern "C"
+    CasADi::MX* CasADi__sumCols_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__sumCols_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::sumCols(x0_) );
+}
+
+
+// ================== function "CasADi::sumAll'''" ===============
+// cppName: "CasADi::sumAll'''"
+// cWrapperName: "CasADi__sumAll_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__sumAll_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::sumAll(x0_)"
+extern "C"
+    CasADi::MX* CasADi__sumAll_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__sumAll_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::sumAll(x0_) );
+}
+
+
+// ================== function "CasADi::polyval'''" ===============
+// cppName: "CasADi::polyval'''"
+// cWrapperName: "CasADi__polyval_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__polyval_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::polyval(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__polyval_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__polyval_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::polyval(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::msym" ===============
+// cppName: "CasADi::msym"
+// cWrapperName: "CasADi__msym"
+// protoArgs: "(std::string* x0, int x1, int x2)"
+// params: [ConstRef StdString,CInt,CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__msym(std::string* x0, int x1, int x2)"
+// call: "CasADi::msym(x0_, x1_, x2_)"
+extern "C"
+    CasADi::MX* CasADi__msym(std::string* x0, int x1, int x2);
+CasADi::MX* CasADi__msym(std::string* x0, int x1, int x2){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::msym(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::msym'" ===============
+// cppName: "CasADi::msym'"
+// cWrapperName: "CasADi__msym_TIC"
+// protoArgs: "(std::string* x0, int x1)"
+// params: [ConstRef StdString,CInt]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__msym_TIC(std::string* x0, int x1)"
+// call: "CasADi::msym(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__msym_TIC(std::string* x0, int x1);
+CasADi::MX* CasADi__msym_TIC(std::string* x0, int x1){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::msym(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::msym''" ===============
+// cppName: "CasADi::msym''"
+// cWrapperName: "CasADi__msym_TIC_TIC"
+// protoArgs: "(std::string* x0)"
+// params: [ConstRef StdString]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__msym_TIC_TIC(std::string* x0)"
+// call: "CasADi::msym(x0_)"
+extern "C"
+    CasADi::MX* CasADi__msym_TIC_TIC(std::string* x0);
+CasADi::MX* CasADi__msym_TIC_TIC(std::string* x0){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::msym(x0_) );
+}
+
+
+// ================== function "CasADi::msym'''" ===============
+// cppName: "CasADi::msym'''"
+// cWrapperName: "CasADi__msym_TIC_TIC_TIC"
+// protoArgs: "(CasADi::Matrix< double >* x0)"
+// params: [ConstRef (CasadiClass DMatrix)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__msym_TIC_TIC_TIC(CasADi::Matrix< double >* x0)"
+// call: "CasADi::msym(x0_)"
+extern "C"
+    CasADi::MX* CasADi__msym_TIC_TIC_TIC(CasADi::Matrix< double >* x0);
+CasADi::MX* CasADi__msym_TIC_TIC_TIC(CasADi::Matrix< double >* x0){
+    CasADi::Matrix< double > const & x0_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::msym(x0_) );
+}
+
+
+// ================== function "CasADi::msym''''" ===============
+// cppName: "CasADi::msym''''"
+// cWrapperName: "CasADi__msym_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1)"
+// params: [ConstRef StdString,ConstRef (CasadiClass CRSSparsity)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__msym_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1)"
+// call: "CasADi::msym(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__msym_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1);
+CasADi::MX* CasADi__msym_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::msym(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::msym'''''" ===============
+// cppName: "CasADi::msym'''''"
+// cWrapperName: "CasADi__msym_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1, int x2)"
+// params: [ConstRef StdString,ConstRef (CasadiClass CRSSparsity),CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2)"
+// call: "CasADi::msym(x0_, x1_, x2_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2);
+std::vector< CasADi::MX* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::msym(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::msym''''''" ===============
+// cppName: "CasADi::msym''''''"
+// cWrapperName: "CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0, int x1, int x2, int x3)"
+// params: [ConstRef StdString,CInt,CInt,CInt]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3)"
+// call: "CasADi::msym(x0_, x1_, x2_, x3_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3);
+std::vector< CasADi::MX* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::msym(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::msym'''''''" ===============
+// cppName: "CasADi::msym'''''''"
+// cWrapperName: "CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3)"
+// params: [ConstRef StdString,ConstRef (CasadiClass CRSSparsity),CInt,CInt]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::MX* >* >*"
+// proto: "std::vector< std::vector< CasADi::MX* >* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3)"
+// call: "CasADi::msym(x0_, x1_, x2_, x3_)"
+extern "C"
+    std::vector< std::vector< CasADi::MX* >* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3);
+std::vector< std::vector< CasADi::MX* >* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, CasADi::CRSSparsity* x1, int x2, int x3){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    CasADi::CRSSparsity const & x1_ = Marshaling<CasADi::CRSSparsity const &,CasADi::CRSSparsity*>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+
+    return WrapReturn< std::vector< std::vector< CasADi::MX* >* >*, std::vector< std::vector< CasADi::MX > > >::wrapReturn( CasADi::msym(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::msym''''''''" ===============
+// cppName: "CasADi::msym''''''''"
+// cWrapperName: "CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::string* x0, int x1, int x2, int x3, int x4)"
+// params: [ConstRef StdString,CInt,CInt,CInt,CInt]
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "std::vector< std::vector< CasADi::MX* >* >*"
+// proto: "std::vector< std::vector< CasADi::MX* >* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4)"
+// call: "CasADi::msym(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+    std::vector< std::vector< CasADi::MX* >* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4);
+std::vector< std::vector< CasADi::MX* >* >* CasADi__msym_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::string* x0, int x1, int x2, int x3, int x4){
+    std::string const & x0_ = Marshaling<std::string const &,std::string*>::marshal(x0);
+    int x1_ = Marshaling<int,int>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+    int x4_ = Marshaling<int,int>::marshal(x4);
+
+    return WrapReturn< std::vector< std::vector< CasADi::MX* >* >*, std::vector< std::vector< CasADi::MX > > >::wrapReturn( CasADi::msym(x0_, x1_, x2_, x3_, x4_) );
+}
+
+
+// ================== function "CasADi::isEqual'''" ===============
+// cppName: "CasADi::isEqual'''"
+// cWrapperName: "CasADi__isEqual_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "int"
+// proto: "int CasADi__isEqual_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::isEqual(x0_, x1_)"
+extern "C"
+    int CasADi__isEqual_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
+int CasADi__isEqual_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< int, bool >::wrapReturn( CasADi::isEqual(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::getOperatorRepresentation'" ===============
+// cppName: "CasADi::getOperatorRepresentation'"
+// cWrapperName: "CasADi__getOperatorRepresentation_TIC"
+// protoArgs: "(CasADi::MX* x0, std::vector< std::string* >* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (StdVec StdString)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::string*"
+// proto: "std::string* CasADi__getOperatorRepresentation_TIC(CasADi::MX* x0, std::vector< std::string* >* x1)"
+// call: "CasADi::getOperatorRepresentation(x0_, x1_)"
+extern "C"
+    std::string* CasADi__getOperatorRepresentation_TIC(CasADi::MX* x0, std::vector< std::string* >* x1);
+std::string* CasADi__getOperatorRepresentation_TIC(CasADi::MX* x0, std::vector< std::string* >* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);
+
+    return WrapReturn< std::string*, std::string >::wrapReturn( CasADi::getOperatorRepresentation(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::substitute''" ===============
+// cppName: "CasADi::substitute''"
+// cWrapperName: "CasADi__substitute_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__substitute_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2)"
+// call: "CasADi::substitute(x0_, x1_, x2_)"
+extern "C"
+    CasADi::MX* CasADi__substitute_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2);
+CasADi::MX* CasADi__substitute_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1, CasADi::MX* x2){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+    CasADi::MX const & x2_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x2);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::substitute(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::substitute'''" ===============
+// cppName: "CasADi::substitute'''"
+// cWrapperName: "CasADi__substitute_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2)"
+// params: [ConstRef (StdVec (CasadiClass MX)),ConstRef (StdVec (CasadiClass MX)),ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__substitute_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2)"
+// call: "CasADi::substitute(x0_, x1_, x2_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__substitute_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2);
+std::vector< CasADi::MX* >* CasADi__substitute_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+    std::vector< CasADi::MX > x2_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x2);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::substitute(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::graph_substitute" ===============
+// cppName: "CasADi::graph_substitute"
+// cWrapperName: "CasADi__graph_substitute"
+// protoArgs: "(CasADi::MX* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2)"
+// params: [ConstRef (CasadiClass MX),ConstRef (StdVec (CasadiClass MX)),ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__graph_substitute(CasADi::MX* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2)"
+// call: "CasADi::graph_substitute(x0_, x1_, x2_)"
+extern "C"
+    CasADi::MX* CasADi__graph_substitute(CasADi::MX* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2);
+CasADi::MX* CasADi__graph_substitute(CasADi::MX* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+    std::vector< CasADi::MX > x2_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x2);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::graph_substitute(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::graph_substitute'" ===============
+// cppName: "CasADi::graph_substitute'"
+// cWrapperName: "CasADi__graph_substitute_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2)"
+// params: [ConstRef (StdVec (CasadiClass MX)),ConstRef (StdVec (CasadiClass MX)),ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__graph_substitute_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2)"
+// call: "CasADi::graph_substitute(x0_, x1_, x2_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__graph_substitute_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2);
+std::vector< CasADi::MX* >* CasADi__graph_substitute_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+    std::vector< CasADi::MX > x2_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x2);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::graph_substitute(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::substituteInPlace''''''" ===============
+// cppName: "CasADi::substituteInPlace''''''"
+// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, int x2)"
+// params: [ConstRef (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX)),CBool]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, int x2)"
+// call: "CasADi::substituteInPlace(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, int x2);
+void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, int x2){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+    bool x2_ = Marshaling<bool,int>::marshal(x2);
+
+    CasADi::substituteInPlace(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::substituteInPlace'''''''" ===============
+// cppName: "CasADi::substituteInPlace'''''''"
+// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1)"
+// params: [ConstRef (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX))]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1)"
+// call: "CasADi::substituteInPlace(x0_, x1_)"
+extern "C"
+    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1);
+void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+
+    CasADi::substituteInPlace(x0_, x1_);
+}
+
+
+// ================== function "CasADi::substituteInPlace''''''''" ===============
+// cppName: "CasADi::substituteInPlace''''''''"
+// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, int x3)"
+// params: [ConstRef (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX)),CBool]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, int x3)"
+// call: "CasADi::substituteInPlace(x0_, x1_, x2_, x3_)"
+extern "C"
+    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, int x3);
+void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, int x3){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+    std::vector< CasADi::MX > x2_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x2);
+    bool x3_ = Marshaling<bool,int>::marshal(x3);
+
+    CasADi::substituteInPlace(x0_, x1_, x2_, x3_);
+}
+
+
+// ================== function "CasADi::substituteInPlace'''''''''" ===============
+// cppName: "CasADi::substituteInPlace'''''''''"
+// cWrapperName: "CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2)"
+// params: [ConstRef (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX))]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2)"
+// call: "CasADi::substituteInPlace(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2);
+void CasADi__substituteInPlace_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+    std::vector< CasADi::MX > x2_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x2);
+
+    CasADi::substituteInPlace(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::extractShared'''" ===============
+// cppName: "CasADi::extractShared'''"
+// cWrapperName: "CasADi__extractShared_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, std::string* x3, std::string* x4)"
+// params: [Ref (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX)),ConstRef StdString,ConstRef StdString]
+// args: "(x0_, x1_, x2_, x3_, x4_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__extractShared_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, std::string* x3, std::string* x4)"
+// call: "CasADi::extractShared(x0_, x1_, x2_, x3_, x4_)"
+extern "C"
+    void CasADi__extractShared_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, std::string* x3, std::string* x4);
+void CasADi__extractShared_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, std::string* x3, std::string* x4){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+    std::vector< CasADi::MX > x2_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x2);
+    std::string const & x3_ = Marshaling<std::string const &,std::string*>::marshal(x3);
+    std::string const & x4_ = Marshaling<std::string const &,std::string*>::marshal(x4);
+
+    CasADi::extractShared(x0_, x1_, x2_, x3_, x4_);
+}
+
+
+// ================== function "CasADi::extractShared''''" ===============
+// cppName: "CasADi::extractShared''''"
+// cWrapperName: "CasADi__extractShared_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, std::string* x3)"
+// params: [Ref (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX)),ConstRef StdString]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__extractShared_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, std::string* x3)"
+// call: "CasADi::extractShared(x0_, x1_, x2_, x3_)"
+extern "C"
+    void CasADi__extractShared_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, std::string* x3);
+void CasADi__extractShared_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2, std::string* x3){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+    std::vector< CasADi::MX > x2_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x2);
+    std::string const & x3_ = Marshaling<std::string const &,std::string*>::marshal(x3);
+
+    CasADi::extractShared(x0_, x1_, x2_, x3_);
+}
+
+
+// ================== function "CasADi::extractShared'''''" ===============
+// cppName: "CasADi::extractShared'''''"
+// cWrapperName: "CasADi__extractShared_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2)"
+// params: [Ref (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX)),Ref (StdVec (CasadiClass MX))]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__extractShared_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2)"
+// call: "CasADi::extractShared(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__extractShared_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2);
+void CasADi__extractShared_TIC_TIC_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1, std::vector< CasADi::MX* >* x2){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+    std::vector< CasADi::MX > x2_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x2);
+
+    CasADi::extractShared(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::printCompact'''" ===============
+// cppName: "CasADi::printCompact'''"
+// cWrapperName: "CasADi__printCompact_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__printCompact_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::printCompact(x0_)"
+extern "C"
+    void CasADi__printCompact_TIC_TIC_TIC(CasADi::MX* x0);
+void CasADi__printCompact_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    CasADi::printCompact(x0_);
+}
+
+
+// ================== function "CasADi::jacobian'" ===============
+// cppName: "CasADi::jacobian'"
+// cWrapperName: "CasADi__jacobian_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__jacobian_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::jacobian(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__jacobian_TIC(CasADi::MX* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__jacobian_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::jacobian(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::gradient'" ===============
+// cppName: "CasADi::gradient'"
+// cWrapperName: "CasADi__gradient_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__gradient_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::gradient(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__gradient_TIC(CasADi::MX* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__gradient_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::gradient(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::tangent'" ===============
+// cppName: "CasADi::tangent'"
+// cWrapperName: "CasADi__tangent_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__tangent_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::tangent(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__tangent_TIC(CasADi::MX* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__tangent_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::tangent(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::nullspace'''" ===============
+// cppName: "CasADi::nullspace'''"
+// cWrapperName: "CasADi__nullspace_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__nullspace_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::nullspace(x0_)"
+extern "C"
+    CasADi::MX* CasADi__nullspace_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__nullspace_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::nullspace(x0_) );
+}
+
+
+// ================== function "CasADi::det'''" ===============
+// cppName: "CasADi::det'''"
+// cWrapperName: "CasADi__det_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__det_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::det(x0_)"
+extern "C"
+    CasADi::MX* CasADi__det_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__det_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::det(x0_) );
+}
+
+
+// ================== function "CasADi::inv'''" ===============
+// cppName: "CasADi::inv'''"
+// cWrapperName: "CasADi__inv_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__inv_TIC_TIC_TIC(CasADi::MX* x0)"
+// call: "CasADi::inv(x0_)"
+extern "C"
+    CasADi::MX* CasADi__inv_TIC_TIC_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__inv_TIC_TIC_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::inv(x0_) );
+}
+
+
+// ================== function "CasADi::getSymbols'" ===============
+// cppName: "CasADi::getSymbols'"
+// cWrapperName: "CasADi__getSymbols_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__getSymbols_TIC(CasADi::MX* x0)"
+// call: "CasADi::getSymbols(x0_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__getSymbols_TIC(CasADi::MX* x0);
+std::vector< CasADi::MX* >* CasADi__getSymbols_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::getSymbols(x0_) );
+}
+
+
+// ================== function "CasADi::getSymbols''" ===============
+// cppName: "CasADi::getSymbols''"
+// cWrapperName: "CasADi__getSymbols_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__getSymbols_TIC_TIC(std::vector< CasADi::MX* >* x0)"
+// call: "CasADi::getSymbols(x0_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__getSymbols_TIC_TIC(std::vector< CasADi::MX* >* x0);
+std::vector< CasADi::MX* >* CasADi__getSymbols_TIC_TIC(std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::getSymbols(x0_) );
+}
+
+
+// ================== function "CasADi::matrix_expand" ===============
+// cppName: "CasADi::matrix_expand"
+// cWrapperName: "CasADi__matrix_expand"
+// protoArgs: "(CasADi::MX* x0, std::vector< CasADi::MX* >* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__matrix_expand(CasADi::MX* x0, std::vector< CasADi::MX* >* x1)"
+// call: "CasADi::matrix_expand(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__matrix_expand(CasADi::MX* x0, std::vector< CasADi::MX* >* x1);
+CasADi::MX* CasADi__matrix_expand(CasADi::MX* x0, std::vector< CasADi::MX* >* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::matrix_expand(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::matrix_expand'" ===============
+// cppName: "CasADi::matrix_expand'"
+// cWrapperName: "CasADi__matrix_expand_TIC"
+// protoArgs: "(CasADi::MX* x0)"
+// params: [ConstRef (CasadiClass MX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__matrix_expand_TIC(CasADi::MX* x0)"
+// call: "CasADi::matrix_expand(x0_)"
+extern "C"
+    CasADi::MX* CasADi__matrix_expand_TIC(CasADi::MX* x0);
+CasADi::MX* CasADi__matrix_expand_TIC(CasADi::MX* x0){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::matrix_expand(x0_) );
+}
+
+
+// ================== function "CasADi::matrix_expand''" ===============
+// cppName: "CasADi::matrix_expand''"
+// cWrapperName: "CasADi__matrix_expand_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1)"
+// params: [ConstRef (StdVec (CasadiClass MX)),ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__matrix_expand_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1)"
+// call: "CasADi::matrix_expand(x0_, x1_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__matrix_expand_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1);
+std::vector< CasADi::MX* >* CasADi__matrix_expand_TIC_TIC(std::vector< CasADi::MX* >* x0, std::vector< CasADi::MX* >* x1){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+    std::vector< CasADi::MX > x1_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x1);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::matrix_expand(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::matrix_expand'''" ===============
+// cppName: "CasADi::matrix_expand'''"
+// cWrapperName: "CasADi__matrix_expand_TIC_TIC_TIC"
+// protoArgs: "(std::vector< CasADi::MX* >* x0)"
+// params: [ConstRef (StdVec (CasadiClass MX))]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< CasADi::MX* >*"
+// proto: "std::vector< CasADi::MX* >* CasADi__matrix_expand_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0)"
+// call: "CasADi::matrix_expand(x0_)"
+extern "C"
+    std::vector< CasADi::MX* >* CasADi__matrix_expand_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0);
+std::vector< CasADi::MX* >* CasADi__matrix_expand_TIC_TIC_TIC(std::vector< CasADi::MX* >* x0){
+    std::vector< CasADi::MX > x0_ = Marshaling<std::vector< CasADi::MX >,std::vector< CasADi::MX* >*>::marshal(x0);
+
+    return WrapReturn< std::vector< CasADi::MX* >*, std::vector< CasADi::MX > >::wrapReturn( CasADi::matrix_expand(x0_) );
+}
+
+
+// ================== function "CasADi::kron'''" ===============
+// cppName: "CasADi::kron'''"
+// cWrapperName: "CasADi__kron_TIC_TIC_TIC"
+// protoArgs: "(CasADi::MX* x0, CasADi::MX* x1)"
+// params: [ConstRef (CasadiClass MX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::MX*"
+// proto: "CasADi::MX* CasADi__kron_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1)"
+// call: "CasADi::kron(x0_, x1_)"
+extern "C"
+    CasADi::MX* CasADi__kron_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1);
+CasADi::MX* CasADi__kron_TIC_TIC_TIC(CasADi::MX* x0, CasADi::MX* x1){
+    CasADi::MX const & x0_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::MX*, CasADi::MX >::wrapReturn( CasADi::kron(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::parameterizeTime" ===============
+// cppName: "CasADi::parameterizeTime"
+// cWrapperName: "CasADi__parameterizeTime"
+// protoArgs: "(CasADi::FX* x0)"
+// params: [CasadiClass FX]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::FX*"
+// proto: "CasADi::FX* CasADi__parameterizeTime(CasADi::FX* x0)"
+// call: "CasADi::parameterizeTime(x0_)"
+extern "C"
+    CasADi::FX* CasADi__parameterizeTime(CasADi::FX* x0);
+CasADi::FX* CasADi__parameterizeTime(CasADi::FX* x0){
+    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
+
+    return WrapReturn< CasADi::FX*, CasADi::FX >::wrapReturn( CasADi::parameterizeTime(x0_) );
+}
+
+
+// ================== function "CasADi::parameterizeTimeOutput" ===============
+// cppName: "CasADi::parameterizeTimeOutput"
+// cWrapperName: "CasADi__parameterizeTimeOutput"
+// protoArgs: "(CasADi::FX* x0)"
+// params: [CasadiClass FX]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::FX*"
+// proto: "CasADi::FX* CasADi__parameterizeTimeOutput(CasADi::FX* x0)"
+// call: "CasADi::parameterizeTimeOutput(x0_)"
+extern "C"
+    CasADi::FX* CasADi__parameterizeTimeOutput(CasADi::FX* x0);
+CasADi::FX* CasADi__parameterizeTimeOutput(CasADi::FX* x0){
+    CasADi::FX x0_ = Marshaling<CasADi::FX,CasADi::FX*>::marshal(x0);
+
+    return WrapReturn< CasADi::FX*, CasADi::FX >::wrapReturn( CasADi::parameterizeTimeOutput(x0_) );
+}
+
+
+// ================== function "CasADi::numSample1D" ===============
+// cppName: "CasADi::numSample1D"
+// cWrapperName: "CasADi__numSample1D"
+// protoArgs: "(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
+// params: [Ref (CasadiClass FX),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__numSample1D(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::numSample1D(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__numSample1D(CasADi::FX* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__numSample1D(CasADi::FX* x0, CasADi::Matrix< double >* x1){
+    CasADi::FX& x0_ = Marshaling<CasADi::FX&,CasADi::FX*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::numSample1D(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::numSample1DT" ===============
+// cppName: "CasADi::numSample1DT"
+// cWrapperName: "CasADi__numSample1DT"
+// protoArgs: "(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
+// params: [Ref (CasadiClass FX),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__numSample1DT(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::numSample1DT(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__numSample1DT(CasADi::FX* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__numSample1DT(CasADi::FX* x0, CasADi::Matrix< double >* x1){
+    CasADi::FX& x0_ = Marshaling<CasADi::FX&,CasADi::FX*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::numSample1DT(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::numSample2D" ===============
+// cppName: "CasADi::numSample2D"
+// cWrapperName: "CasADi__numSample2D"
+// protoArgs: "(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
+// params: [Ref (CasadiClass FX),ConstRef (CasadiClass DMatrix)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::Matrix< double >*"
+// proto: "CasADi::Matrix< double >* CasADi__numSample2D(CasADi::FX* x0, CasADi::Matrix< double >* x1)"
+// call: "CasADi::numSample2D(x0_, x1_)"
+extern "C"
+    CasADi::Matrix< double >* CasADi__numSample2D(CasADi::FX* x0, CasADi::Matrix< double >* x1);
+CasADi::Matrix< double >* CasADi__numSample2D(CasADi::FX* x0, CasADi::Matrix< double >* x1){
+    CasADi::FX& x0_ = Marshaling<CasADi::FX&,CasADi::FX*>::marshal(x0);
+    CasADi::Matrix< double > const & x1_ = Marshaling<CasADi::Matrix< double > const &,CasADi::Matrix< double >*>::marshal(x1);
+
+    return WrapReturn< CasADi::Matrix< double >*, CasADi::Matrix< double > >::wrapReturn( CasADi::numSample2D(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::vec'''''" ===============
+// cppName: "CasADi::vec'''''"
+// cWrapperName: "CasADi__vec_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::SXFunction* x0)"
+// params: [ConstRef (CasadiClass SXFunction)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::SXFunction*"
+// proto: "CasADi::SXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC(CasADi::SXFunction* x0)"
+// call: "CasADi::vec(x0_)"
+extern "C"
+    CasADi::SXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC(CasADi::SXFunction* x0);
+CasADi::SXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC(CasADi::SXFunction* x0){
+    CasADi::SXFunction const & x0_ = Marshaling<CasADi::SXFunction const &,CasADi::SXFunction*>::marshal(x0);
+
+    return WrapReturn< CasADi::SXFunction*, CasADi::SXFunction >::wrapReturn( CasADi::vec(x0_) );
+}
+
+
+// ================== function "CasADi::vec''''''" ===============
+// cppName: "CasADi::vec''''''"
+// cWrapperName: "CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC"
+// protoArgs: "(CasADi::FX* x0)"
+// params: [ConstRef (CasadiClass FX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::MXFunction*"
+// proto: "CasADi::MXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::FX* x0)"
+// call: "CasADi::vec(x0_)"
+extern "C"
+    CasADi::MXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::FX* x0);
+CasADi::MXFunction* CasADi__vec_TIC_TIC_TIC_TIC_TIC_TIC(CasADi::FX* x0){
+    CasADi::FX const & x0_ = Marshaling<CasADi::FX const &,CasADi::FX*>::marshal(x0);
+
+    return WrapReturn< CasADi::MXFunction*, CasADi::MXFunction >::wrapReturn( CasADi::vec(x0_) );
+}
+
+
+// ================== function "CasADi::collocationPoints" ===============
+// cppName: "CasADi::collocationPoints"
+// cWrapperName: "CasADi__collocationPoints"
+// protoArgs: "(int x0, std::string* x1)"
+// params: [CInt,ConstRef StdString]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >* CasADi__collocationPoints(int x0, std::string* x1)"
+// call: "CasADi::collocationPoints(x0_, x1_)"
+extern "C"
+    std::vector< double >* CasADi__collocationPoints(int x0, std::string* x1);
+std::vector< double >* CasADi__collocationPoints(int x0, std::string* x1){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+    std::string const & x1_ = Marshaling<std::string const &,std::string*>::marshal(x1);
+
+    return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( CasADi::collocationPoints(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::collocationPoints'" ===============
+// cppName: "CasADi::collocationPoints'"
+// cWrapperName: "CasADi__collocationPoints_TIC"
+// protoArgs: "(int x0)"
+// params: [CInt]
+// args: "(x0_)"
+// cWrapperRetType: "std::vector< double >*"
+// proto: "std::vector< double >* CasADi__collocationPoints_TIC(int x0)"
+// call: "CasADi::collocationPoints(x0_)"
+extern "C"
+    std::vector< double >* CasADi__collocationPoints_TIC(int x0);
+std::vector< double >* CasADi__collocationPoints_TIC(int x0){
+    int x0_ = Marshaling<int,int>::marshal(x0);
+
+    return WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( CasADi::collocationPoints(x0_) );
+}
+
+
+// ================== function "CasADi::collocationInterpolators" ===============
+// cppName: "CasADi::collocationInterpolators"
+// cWrapperName: "CasADi__collocationInterpolators"
+// protoArgs: "(std::vector< double >* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2)"
+// params: [ConstRef (StdVec CDouble),Ref (StdVec (StdVec CDouble)),Ref (StdVec CDouble)]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "void"
+// proto: "void CasADi__collocationInterpolators(std::vector< double >* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2)"
+// call: "CasADi::collocationInterpolators(x0_, x1_, x2_)"
+extern "C"
+    void CasADi__collocationInterpolators(std::vector< double >* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2);
+void CasADi__collocationInterpolators(std::vector< double >* x0, std::vector< std::vector< double >* >* x1, std::vector< double >* x2){
+    std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
+    std::vector< std::vector< double > > x1_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x1);
+    std::vector< double > x2_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x2);
+
+    CasADi::collocationInterpolators(x0_, x1_, x2_);
+}
+
+
+// ================== function "CasADi::explicitRK" ===============
+// cppName: "CasADi::explicitRK"
+// cWrapperName: "CasADi__explicitRK"
+// protoArgs: "(CasADi::FX* x0, CasADi::MX* x1, int x2, int x3)"
+// params: [Ref (CasadiClass FX),ConstRef (CasadiClass MX),CInt,CInt]
+// args: "(x0_, x1_, x2_, x3_)"
+// cWrapperRetType: "CasADi::FX*"
+// proto: "CasADi::FX* CasADi__explicitRK(CasADi::FX* x0, CasADi::MX* x1, int x2, int x3)"
+// call: "CasADi::explicitRK(x0_, x1_, x2_, x3_)"
+extern "C"
+    CasADi::FX* CasADi__explicitRK(CasADi::FX* x0, CasADi::MX* x1, int x2, int x3);
+CasADi::FX* CasADi__explicitRK(CasADi::FX* x0, CasADi::MX* x1, int x2, int x3){
+    CasADi::FX& x0_ = Marshaling<CasADi::FX&,CasADi::FX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+    int x3_ = Marshaling<int,int>::marshal(x3);
+
+    return WrapReturn< CasADi::FX*, CasADi::FX >::wrapReturn( CasADi::explicitRK(x0_, x1_, x2_, x3_) );
+}
+
+
+// ================== function "CasADi::explicitRK'" ===============
+// cppName: "CasADi::explicitRK'"
+// cWrapperName: "CasADi__explicitRK_TIC"
+// protoArgs: "(CasADi::FX* x0, CasADi::MX* x1, int x2)"
+// params: [Ref (CasadiClass FX),ConstRef (CasadiClass MX),CInt]
+// args: "(x0_, x1_, x2_)"
+// cWrapperRetType: "CasADi::FX*"
+// proto: "CasADi::FX* CasADi__explicitRK_TIC(CasADi::FX* x0, CasADi::MX* x1, int x2)"
+// call: "CasADi::explicitRK(x0_, x1_, x2_)"
+extern "C"
+    CasADi::FX* CasADi__explicitRK_TIC(CasADi::FX* x0, CasADi::MX* x1, int x2);
+CasADi::FX* CasADi__explicitRK_TIC(CasADi::FX* x0, CasADi::MX* x1, int x2){
+    CasADi::FX& x0_ = Marshaling<CasADi::FX&,CasADi::FX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+    int x2_ = Marshaling<int,int>::marshal(x2);
+
+    return WrapReturn< CasADi::FX*, CasADi::FX >::wrapReturn( CasADi::explicitRK(x0_, x1_, x2_) );
+}
+
+
+// ================== function "CasADi::explicitRK''" ===============
+// cppName: "CasADi::explicitRK''"
+// cWrapperName: "CasADi__explicitRK_TIC_TIC"
+// protoArgs: "(CasADi::FX* x0, CasADi::MX* x1)"
+// params: [Ref (CasadiClass FX),ConstRef (CasadiClass MX)]
+// args: "(x0_, x1_)"
+// cWrapperRetType: "CasADi::FX*"
+// proto: "CasADi::FX* CasADi__explicitRK_TIC_TIC(CasADi::FX* x0, CasADi::MX* x1)"
+// call: "CasADi::explicitRK(x0_, x1_)"
+extern "C"
+    CasADi::FX* CasADi__explicitRK_TIC_TIC(CasADi::FX* x0, CasADi::MX* x1);
+CasADi::FX* CasADi__explicitRK_TIC_TIC(CasADi::FX* x0, CasADi::MX* x1){
+    CasADi::FX& x0_ = Marshaling<CasADi::FX&,CasADi::FX*>::marshal(x0);
+    CasADi::MX const & x1_ = Marshaling<CasADi::MX const &,CasADi::MX*>::marshal(x1);
+
+    return WrapReturn< CasADi::FX*, CasADi::FX >::wrapReturn( CasADi::explicitRK(x0_, x1_) );
+}
+
+
+// ================== function "CasADi::explicitRK'''" ===============
+// cppName: "CasADi::explicitRK'''"
+// cWrapperName: "CasADi__explicitRK_TIC_TIC_TIC"
+// protoArgs: "(CasADi::FX* x0)"
+// params: [Ref (CasadiClass FX)]
+// args: "(x0_)"
+// cWrapperRetType: "CasADi::FX*"
+// proto: "CasADi::FX* CasADi__explicitRK_TIC_TIC_TIC(CasADi::FX* x0)"
+// call: "CasADi::explicitRK(x0_)"
+extern "C"
+    CasADi::FX* CasADi__explicitRK_TIC_TIC_TIC(CasADi::FX* x0);
+CasADi::FX* CasADi__explicitRK_TIC_TIC_TIC(CasADi::FX* x0){
+    CasADi::FX& x0_ = Marshaling<CasADi::FX&,CasADi::FX*>::marshal(x0);
+
+    return WrapReturn< CasADi::FX*, CasADi::FX >::wrapReturn( CasADi::explicitRK(x0_) );
+}
+
diff --git a/cbits/hs_tools.cpp b/cbits/hs_tools.cpp
--- a/cbits/hs_tools.cpp
+++ b/cbits/hs_tools.cpp
@@ -5,31 +5,13 @@
 using namespace std;
 
 ///////////// scalars /////////////
-// bool
-extern "C" int hs_read_bool(bool * x);
-int hs_read_bool(bool * x){
-    if (*x == false)
-        return 0;
-    else
-        return 1;
-}
-extern "C" bool * hs_new_bool(int x);
-bool * hs_new_bool(int x){
-    if (x == 0)
-        return new bool(false);
-    else
-        return new bool(true);
-}
-extern "C" void hs_delete_bool(bool * x);
-void hs_delete_bool(bool * x){ delete x; }
-
 // string
-extern "C" int hs_string_length(string * str);
-int hs_string_length(string * str){
+extern "C" int hs_length_string(string * str);
+int hs_length_string(string * str){
     return str->length();
 }
-extern "C" void hs_string_copy(string * str, char outputs[]);
-void hs_string_copy(string * str, char outputs[]){
+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[]);
@@ -44,25 +26,10 @@
 
 ////////////////////////// copying vectors to arrays /////////////////////
 template <typename T>
-void hs_vec_copy_T(vector<T> * vec, T outputs[]){
+void hs_copy_vec_T(vector<T> * vec, T outputs[]){
     memcpy(outputs, &((*vec)[0]), vec->size()*sizeof(T));
 }
 
-// 2d void pointers
-template <typename T>
-void hs_vec_vec_sizes_T(vector<vector<T> > * vec, int sizes[]){
-    for (unsigned int k=0; k<vec->size(); k++){
-        sizes[k] = (*vec)[k].size();
-    }
-}
-template <typename T>
-void hs_vec_vec_copy_T(vector<vector<T> > * vec, T* outputs[]){
-    for (unsigned int k=0; k<vec->size(); k++){
-        memcpy(outputs[k], &(vec[k][0]), vec[k].size()*sizeof(T));
-    }
-}
-
-
 //////////////////////    CREATING VECTORS FROM ARRAYS ///////////////////////////////////
 // 1-dimensional
 template <typename T>
@@ -73,49 +40,16 @@
     return new vector<T>(vec);
 }
 
-// 2-dimensional
-template <typename T>
-vector<vector<T> > * hs_new_vec_vec_T(T inputs[], int length_outer, int lengths_inner[]){
-    vector<vector<T> > vec;
-    int counter = 0;
-    for (int k=0; k<length_outer; k++){
-        vector<T> inner;
-        for (int j=0; j<lengths_inner[k]; j++){
-            inner.push_back( inputs[counter] );
-            counter++;
-        }
-        vec.push_back(inner);
-    }
-    return new vector<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" vector<vector<type> >   * hs_new_vec_vec_##name(type x[], int y, int z[]); \
-    vector<vector<type> >   * hs_new_vec_vec_##name(type x[], int y, int z[]){ return hs_new_vec_vec_T(x,y,z); } \
-    extern "C" void hs_delete_vec_vec_##name(vector<vector<type> >  * vec); \
-    void hs_delete_vec_vec_##name(vector<vector<type> >  * vec){ delete vec; } \
-                                                                        \
-    extern "C" void hs_vec_copy_##name(vector<type> * vec, type outputs[]); \
-    void hs_vec_copy_##name(vector<type> * vec, type outputs[]){hs_vec_copy_T(vec, outputs);} \
-    extern "C" int hs_vec_size_##name(vector<type> * vec); \
-    int hs_vec_size_##name(vector<type> * vec){ return vec->size(); } \
-                                                                      \
-    extern "C" int hs_vec_vec_size_##name(vector<vector<type> > * vec); \
-    int hs_vec_vec_size_##name(vector<vector<type> > * vec){ return vec->size(); } \
-    extern "C" void hs_vec_vec_sizes_##name(vector<vector<type> > * vec, int sizes[]); \
-    void hs_vec_vec_sizes_##name(vector<vector<type> > * vec, int sizes[]){ \
-        hs_vec_vec_sizes_T(vec, sizes); \
-    } \
-    extern "C" void hs_vec_vec_copy_##name(vector<vector<type> > * vec, type* outputs[]); \
-    void hs_vec_vec_copy_##name(vector<vector<type> > * vec, type* outputs[]){ \
-        hs_vec_vec_copy_T(vec, outputs); \
-    }
+    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*)
diff --git a/cbits/marshal.hpp b/cbits/marshal.hpp
--- a/cbits/marshal.hpp
+++ b/cbits/marshal.hpp
@@ -2,105 +2,181 @@
 #define __MARSHAL_THEM_BINDINGS_H__
 
 #include <iostream>
-#include <symbolic/casadi.hpp>
 
-
 template<class T1, class T2>
 class Marshaling {
- public:
-  static T1 marshal(T2 x) {
-    return x;
-  }
-}; 
+public:
+    static T1 marshal(T2 x){ return x; }
+};
 
 template<class T>
 class Marshaling< T, T* > {
-  public:
-  static T marshal(T* x){
-    return *x;
-  }
+public:
+    static T 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;
-  }
-};
-// pointer to ref
-template<class T1, class T2>
-class Marshaling< std::vector< T1 >,std::vector< T2* > *> {
-  public:
-  static std::vector< T1 > marshal(const std::vector< T2* > * inputs){
-      return Marshaling< std::vector<T1>, std::vector<T2*>& >::marshal(*inputs);
-  }
+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< const std::vector< T1 >,const std::vector< T2* > & > {
+class Marshaling< std::vector< T1 >, std::vector< T2 > > {
   public:
-  static const std::vector< T1 > marshal(const std::vector< T2* > & inputs){
+  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]) );
+        vec.push_back( Marshaling< T1, T2 >::marshal(inputs[k]) );
     }
     return vec;
   }
 };
-// pointer to ref
-template<class T1, class T2>
-class Marshaling< const std::vector< T1 >,const std::vector< T2* > *> {
-  public:
-  static const std::vector< T1 > marshal(const std::vector< T2* > * inputs){
-      return Marshaling< const std::vector<T1>, const std::vector<T2> & >::marshal(*inputs);
-  }
-};
 
 
 template<class T1, class T2>
-class Marshaling< std::vector< std::vector< T1 > >,std::vector< std::vector< T2*> > &> {
+class Marshaling< T1, T2* > {
   public:
-  static std::vector< std::vector< T1 > > marshal(const std::vector< std::vector< T2* > > & inputs){
-    std::vector< std::vector< T1 > > vec;
-    for (unsigned int k=0; k<inputs.size(); k++){
-        vec.push_back( Marshaling< std::vector< T1 >, std::vector< T2*> &>::marshal(inputs[k]) );
-    }
-    return vec;
+  static T1 marshal(T2* x){
+      return Marshaling<T1, T2>::marshal( *x );
   }
 };
-// pointer to ref
+
+
+/* ---------------------------------------------------------- */
+/* call "new" on a bunch of stuff  */
 template<class T1, class T2>
-class Marshaling< std::vector< std::vector< T1 > >,std::vector< std::vector< T2*> > *> {
-  public:
-  static std::vector< std::vector< T1 > > marshal(const std::vector< std::vector< T2* > > * inputs){
-    return Marshaling< std::vector< std::vector< T1 > >,std::vector< std::vector< T2*> > & >::marshal(*inputs);
-  }
+class WrapReturn {
+ public:
+    static T1 wrapReturn(T2 x){ return x; }
 };
 
 template<class T1, class T2>
-class Marshaling< const std::vector< std::vector< T1 > >,const std::vector< std::vector< T2* > > & > {
+class WrapReturn< std::vector< T1 >, std::vector< T2 > > {
   public:
-  static const std::vector< std::vector< T1 > > marshal(const std::vector< std::vector< T2*> > & inputs){
-    std::vector< std::vector< T1 > > vec;
+  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( Marshaling< const std::vector< T1 >, const std::vector< T2* > &>::marshal(inputs[k]) );
+        vec.push_back( WrapReturn< T1, T2 >::wrapReturn(inputs[k]) );
     }
     return vec;
   }
 };
-// pointer to ref
+
 template<class T1, class T2>
-class Marshaling< const std::vector< std::vector< T1 > >,const std::vector< std::vector< T2*> > *> {
+class WrapReturn< T1*, T2 > {
   public:
-  static const std::vector< std::vector< T1 > > marshal(const std::vector< std::vector< T2* > > * inputs){
-    return Marshaling< const std::vector< std::vector< T1 > >,const std::vector< std::vector< T2*> > & >::marshal(*inputs);
+  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__
